!!!進捗状況(プロトタイピング) ((outline)) !!~5/28 Monsterクラスの一部作成(仮) ((br)) '''<クラス・メソッドの作成>'''((br))  敵AIモジュールの中心となるMonsterクラスを作成((br))  Monsterクラスはenchant.jsのSpriteクラスを継承し、以下のメソッドを追加(一部未作成)((br)) :・setStatus("名前",敵ID,x座標,y座標)((br)) ::Monsterクラスのオブジェクト作成後、敵識別用IDとマップ上の座標値を設定するメソッド :・moveNormal() ::主人公未発見状態時の自由移動。100ミリ秒毎にそれぞれの敵に異なる乱数(0~70)を与え、 その乱数に応じて上下左右に移動またはその場にとどまらせる。(↓イメージ)((br)) <<{1.jpg} :・prevTest() ::オブジェクトのステータス(プロパティ)を一覧表示(デバック用) !!~5/30 急接近AI(仮)の作成 + 調整 ((br)) '''<メソッドの作成>'''((br))  自由移動状態の敵が追跡範囲内に入った瞬間に主人公に急接近するAIを作成。((br))  これは前回までに作ったMonsterクラスのメソッドのひとつ。((br)) :・moveToPlayer("主人公となるオブジェクト") ::当たり判定作成のために主人公を引数として渡しているが要検討中。((br)) 追跡範囲内の主人公をその敵の素早さに応じて 最短距離で追跡する(現段階では斜め移動も含む)ためのメソッド。((br)) この状態で距離が離れる(追跡範囲外)になると再び自由移動状態に戻る。((br)) また、この状態で距離が攻撃射程範囲(未決定)に入ると攻撃AIに移る。((br)) '''<プログラムの調整>'''((br)) ・前回まではそれぞれの行動を1000ミリ秒置きに実行していたが、それぞれの敵がよりバラバラなタイミングで動いている(自然な動き)ように見せるために100ミリ秒置きに直し、それに伴い乱数の上限個数を7から70に変更した。((br))((br)) ・その他、滑らかな動きになるよう所々プログラムを修正したが、今後負荷のことも考えてより効率的なものにしていきたい。(処理の問題なのかmoveToPlayerを使用すると敵の画像の画質が落ちてしまうのでその原因と修正方法も模索中) !!~6/1 接近攻撃のAI作成 + 遠距離攻撃タイプの逃避行動 '''<メソッドの作成>'''((br)) :・attackToPlayer("主人公オブジェクト",マップ上での敵の番号) ::近接攻撃タイプで急接近状態の敵が攻撃範囲に入った場合に向いている前方方向にエフェクトを表示する。この追加に際して前回までに作成したプログラムを変更し、作成された敵のオブジェクト毎に攻撃エフェクトを設定して個別にそれぞれのタイミングで発生させられるように変更。 :・escapeFromPlayer("主人公となるオブジェクト") ::遠距離攻撃タイプの敵が主人公が追跡範囲内に入ったときにそれぞれの速度に応じて逃げるようにするメソッド。