ソフトウェア設計及び演習用の班Wiki
戦闘シーン::gr05
各関数などの説明
エンカウントしたモンスターとの戦闘とその勝利判定、戦闘終了後のリザルト画面までのモジュール
int showwin(GtkWidget* window,status status,cmd cmd,GtkWidget* mes_label,char* image)
-
ウィンドウの表示、ステータス・コマンド・モンスターの画像表示の関数
---------関数-----------
void frame(int) フレームの作成から表示に関しての関数。フレームマクロでフラグを立てて書く動作を行う
void button(int) frame()のボタンver
-------------------------
---------変数-----------
GtkWidget* back_image :背景画像
GtkWidget* vbox :垂直パッキングボックス
配置は上からステータス、画像、コマンド&メッセージ
GtkWidget* comes :水平パッキングボックス
配置は左からコマンド、メッセージ
GtkWidget* command :ボックス(コマンド(縦・ボタンで実装))
※以下はshowwin.hより。詳細はそちらへ
struct com_mes com_mes:コマンドとメッセージのコンテナ
struct cmd cmd:戦闘コマンド
-----------------------
void frame(int jud,GtkWidget* stat,GtkWidget* comes/*ここは未実装,char* name1,char* name2,char* name3*/)
-
フレーム作成用プログラム
---引数---
int jud:フレーム作成の段階を判定するフラグ
GtkWidget* stat:ステータス表示用フレーム
GtkWidget* comes:コマンドとメッセージのパッキングボックスを配置するフレーム
以下は未実装
char* name1(~3):キャラクタの名前。ステータスフレームのラベルで表示
---------
void makebut(int jud,GtkWidget *command,char* mesbut1,char* mesbut2,char* mesbut3)
-
ボタン生成の関数
ボタンの生成の段階に応じてフラグを立てる
----引数----
int jud:ボタンの生成がどの段階かを判定するフラグ
GtkWidget* command:showwin.cでのパッキングボックスcommnad
char* mesbut1(2,3):ボタンのラベルに表示する文字列
-----------
int bat_flow()
-
戦闘本体
モンスターとプレイヤーの行動順の決定やそれぞれの攻撃のダメージ計算など戦闘の全般を記述する
{
コマンドの選択
部位の選択
行動順の決定
攻撃のヒット確認
ダメージ計算
勝敗判定
}
攻撃ヒット(被弾)時のエフェクトは実装するか未定
--------変数-----------
未定
--------関数-----------
int hit_judge(float hit,float esc):当たり判定を行う。hit:命中率,esc:回避率
int damege(仮)(未定):ダメージ計算を行う
void jadge(未定):当たり判定
-----------------------
--------マクロ---------
WIN 100:勝利判定
LOOSE 200:敗北判定
-----------------------
int escape(void) 作成:村上
-
戦闘のコマンド「にげる」の判定関数
成功した場合フィールドへ戻る。失敗した場合敵の攻撃から再開
判定は乱数生成関数rand()を用いsrand()の引数にtime()を割り当て現在時刻によって乱数シードを生成するようにした<>
--------マクロ---------
SUCCESS:「にげる」成功
FAILURE:「にげる」失敗
-----------------------
double damagecal(int side, p_states p_states, e_states e_states) 作成:村上
-
戦闘のダメージ計算を行う関数
プレイヤーの攻撃のダメージはそのままモンスターへと与えられる
モンスターの攻撃のダメージは攻撃力×防御力(1以下の浮動小数点数)
最終更新日:2014/01/09 18:45:21