ソフトウェア設計及び演習用の班Wiki
gr07::バトルモジュール(1人用)
バトルモジュール役割説明
- カード選択モジュールが保持しているplayerとcpuが使用するカード番号を読み込む
- バトル画像の初期化表示
- 背景画像の表示
- HPゲージの表示(ゲージは満タン)
- バトル開始ボタンの表示
- カード番号に応じたキャラクターの画像を表示
- じゃんけんの手を選択するじゃんけんボタンを表示(グー、チョキ、パーの3種類)
- グー = 0、パー = 1、チョキ = 2 として扱う
- バトル開始ボタンをクリックするとバトル開始
- バトル開始を示すバトルスタートフラグを1(バトル開始状態)にする
- 5秒のカウント開始…(1)
- 5秒の間で任意のじゃんけんボタンをクリック可能
- じゃんけんボタンをクリックした場合にはハンドセレクトフラグを1(選択状態)にするクリックしたボタンは色が(赤に)変わる
- 一度選択した手は変更する事が出来ない
- 5秒カウントの終了
- この時点でハンドセレクトフラグが0(未選択状態)であればランダムにプレイヤーの手を選択する
- じゃんけんの開始
- CPUの手をランダムに選択
- プレイヤーが選択した手が必殺技の手の場合はsp1_flagに1(プレイヤーの必殺技選択状態)を格納
- CPUが選択した手が必殺技の手の場合はsp2_flagに1(CPUの必殺技選択状態)を格納
- じゃんけんの勝敗の判定を行う
-
勝敗がついたとき…負けたカードのHPから勝ったカードの手に対応した攻撃力を引く
- sp1(or 2)_flagが1の時に勝った場合は必殺技画面を表示する
- 引き分け時…両方のカードのHPを1減らす
-
勝敗がついたとき…負けたカードのHPから勝ったカードの手に対応した攻撃力を引く
- バトルの終了判定を行う
- 双方のカードのHPから終了判定を行う
バトルウィンドウ関数
void paint_image(GtkWidget *, GdkEventExpose *, gpointer);
- ドローイングエリアに画像を描画する関数
- user_dataには画像へのリンク文字列が格納されている
引き数 *widget, *event, user_data
返り値 なし
void next_battle_click(GtkWidget *, gpointer);
- ネクストバトルボタンをクリックした時の関数
- バトル画面とバトル結果画面を消去する
- バトルの継続を示す
引き数 button, result_window
返り値 なし
ボタンアイコン関数
GtkWidget *fight_button_new(gchar *);
- ファイトボタンにイメージ画像をパックする関数
- 引き数に応じたイメージをパックする
引き数 *filename
返り値 new_button
GtkWidget *janken_button_new(GtkWidget *, gchar *);
- じゃんけんボタンにイメージ画像をパックする関数
- 引き数に応じたイメージをパックする
引き数 icon_image, filename
返り値 new_button
void fight_click(GtkWidget *, gpointer);
- バトル開始ボタン押された時の関数
- これをクリックすることでバトルが開始する
- user_dataにはカウント画面ウィジェットが入っている
引き数 fight_button_new, user_data
返り値 なし
void gu_click (GtkWidget *, gpointer);
- グーが押された時の関数
- アイコン画像に色を付ける
- ここで3秒後アイコンの色を元に戻す関数を呼び出す
引き数 gu_button, gu_image_pt
返り値 なし
void choki_click (GtkWidget *, gpointer);
- チョキが押された時の関数
- アイコン画像に色を付ける
- ここで3秒後アイコンの色を元に戻す関数を呼び出す
引き数 choki_button, choki_image_pt
返り値 なし
void paa_click (GtkWidget *, gpointer);
- パーが押された時の関数
- アイコン画像に色を付ける
- ここで3秒後アイコンの色を元に戻す関数を呼び出す
引き数 paa_button, pa_image_pt
返り値 なし
void icon_paint(GtkWidget *, int);
- じゃんけんボタンが選択された時のイメージを表示する関数(赤色にする)
- 引き数によって色を付けるアイコンを判別する
引き数 icon_image, hand
返り値 なし
gboolean gu_init(gpointer);
- グーが押された時のアイコン画像リセット関数(黒色に戻す)
- アイコン画像に色がついた3秒後に呼び出される
引き数 gu_image_pt
返り値 FALSE(ループ防止)
じゃんけん関数
最終更新日:2014/02/12 11:27:28