2014 ソフトウェア設計及び演習用の班Wiki

14::gr05::障害物モジュール

担当:高橋

働き
プレイヤーと敵対する車両が画面上に出現する。敵は3種類であり出現位置、出現タイミングはランダムである。
課題(1/8時点)
・ランダムに敵が出現する際、敵同士が重なってしまうこと。
・コースをはみ出てしまうこと。
・バイク加速、減速時の敵のスピードの変化。
・敵が出現する頻度の調整。
1/12
xy座標を構造体に変更し、当たり判定の引数として使えるように修正。
1/29
バイク加速、減速時の敵独特な動きを表現。
コースをはみ出てしまう問題はコース当たり判定の完成待ち。
敵同士が衝突した場合、爆発ー>残骸を表現予定。
2/5
爆発の描写に成功。
爆発のとの当たり判定の途中。
2/9
バイク、敵同士の当たり判定で不自然な接触が見られるため、判定座標の調整が必要。
2/10
1/12に作成したxyの関数を不要と判断し削除。
judge.cの画像の中心を(0,0)とする関数を使用して当たり判定の不自然さの改善できそう。
2/17
画像サイズの調整により当たり判定がスムーズになった。
コースをはみ出てしまう問題は完全に解決はできなかったが、できるだけ道路内に収めている。
減速時はバイクを追い抜いていくことが可能になった。
完成。
ヘッダファイル
#pragma once

/*敵の座標*/
typedef struct{
  gint x1,y1; 
  gint x2,y2; 
  gint x3,y3;
} en_pack;

/*画面に敵を表示する関数*/
void set_enemy(GdkWindow *window);

/*敵が移動する関数*/
void enemy_loop(void);

/*敵の座標を取り出す関数*/
en_pack pick_xy(void);

/* enemyの初期化 */
void enemy_init(void);

extern en_pack en;
extern int y_speed;
extern GdkWindow *drawable;
extern GdkPixbuf *pixbuf1;
extern GdkPixbuf *pixbuf2;
extern GdkPixbuf *pixbuf3;


最終更新日:2015/02/17 18:22:35