!!!タイトル
がんちゃんファンタジー
!!!概要
*見下ろし型2Dアクションゲーム
*主人公を操作して道中のギミックをくぐりぬけ、がんちゃんを倒す
*武器を変えて戦う
*ライフがなくなったらゲームオーバー
*気軽にやりこみたい人向け
!!!モジュール分け
[[ものと操作の洗い出し|18::gr12::syousai2]]
*キャラクター
**移動
**被弾時処理
*グラフィック表示(main関数)
**map表示
**キャラ表示
**UI(LIFE,メニュー等)
*敵AI
*主人公攻撃行動(武器)
*データ管理
**フィールド用
**武器・アイテム用
**主人公・敵ステータス用
*メニュー画面
*タイトル画面
*ゲームオーバー
*(当たり判定)
!!!プロトタイプ
!!タイトル画面
<<{title.png}
!内容
*NEWGAMEを押すとはじめからゲーム開始
*LOADGAMEを押すとセーブした点から再開
*EXITを押すとウィンドウを閉じる
!!メニュー画面
!内容
*特定のキーを入力しメニュー画面を表示
*十字キーでカーソル移動
*武器を選択すると所持武器を表示
*アイテムを選択すると所持アイテムを表示
*SAVEを選択するとこれまでのデータを保存
!!キャラクター
!内容
*十字キーで移動
*被弾時処理は作成中
!!敵AI
!クラス
:・Monster(Spriteクラスを継承)
::マップ上の敵の生成
!メソッド
:・setStatus("名前",敵ID,X座標,Y座標,マップ上敵ID)
::ステータスなどの個別の設定
:・moveNormal()
::主人公未発見状態の自由移動状態
:・moveToPlayer("プレイヤーのオブジェクト")
::主人公発見状態の接近攻撃タイプの敵の行動
:・escapeFromPlayer("プレイヤーのオブジェクト")
::主人公発見状態の遠距離攻撃タイプの敵の逃避行動
:・attackToPlayer("プレイヤーのオブジェクト",マップ上敵ID)
::攻撃範囲内に主人公がいる場合に攻撃をする
:・decreaseHP("プレイヤーのオブジェクト",マップ上敵ID)
::敵が主人公の攻撃を受けた際に武器の攻撃力に応じてHPを減らし、無敵時間(一定時間の点滅状態)を設定する
:・prevTest()
::デバッグ用 : 敵のステータスを表示
!内容
*敵は通常自由行動状態(ランダムに移動する)
*ある程度主人公が接近すると発見状態に遷移し、攻撃タイプに応じて急接近または逃避行動を行う
*接近攻撃タイプは攻撃範囲内まで接近すると攻撃行動を行う(エフェクトの生成)
*遠距離攻撃タイプの処理は作成中
*主人公によって攻撃されるとHPを減らし、無敵時間として一定時間敵を点滅させる
*時間があれば敵個別のスキルも作る予定
!!データ管理
!内容
*武器・キャラクター等のステータスや、アイテム、マップのデータなどを格納
*必要な情報を格納した構造体の中から、要求に合う部分のアドレスを返す
*キャラクターのステータスについては格納場所について検討中
!!!リポジトリ
https://gitlab.cis.iwate-u.ac.jp/2018_g12/test_project