18:53:43)追加された行はこの色です。削除された行はこの色です。[#hf7534b2]gamelibを改造して、敵エージェントの数や種類を増やしましょう。前回と同様に、[[gamelibの解説]]と[[ライブラリ開発方法]]を参考にしてください。2では、敵エージェントの数を定義しています。~ここを3に変更しましょう。start()では、壁だけでなく、敵エージェントの配置についても初期化しています。~関数を追加して、敵エージェントの数を増やしてみましょう。make_enemy_agent()です。2の敵を追加しましょう。pause)では、シミュレーションループの中での状態を更新します。update_enemy_agent()で敵の状態を更新(移動など)します。exit(0);でゲームを終了します。2の敵の状態を更新する条件文を追加しましょう。stop()では、敵エージェントに関するメモリ解放をしています。2の敵について追加しましょう。~ENEMY_AGENT_SPEEDは敵エージェントが自機エージェントに近寄る速さです。~FLAG_DISTANCE_ENEMY_TO_SELF_AGENTは敵エージェントが自機エージェントに近寄る行動をする範囲です。~範囲外だと近寄ってきません。~次に、update_enemy_agent関数の引数を次のように追加してください。[#y82edb8c]まずはmath.hのインクルードを追加します。<math.h>そして、update_enemy_agent関数を改造します。~引数に自機の位置を示す変数を追加します。drand48()の下で、対象となっている敵エージェントの位置を取得します。].body_ID);自機エージェントと敵エージェントの距離を計算します。enemy_agent_position[1]));その距離がFLAG_DISTANCE_TO_SELF_AGENTより小さければ,~その距離に応じた大きさの,敵エージェントから自機エージェントに向かう力を敵エージェントに与えます。[#r02a09c8]simLoop関数を改造する。~update_enemy_agent関数に関するif文の前に,自機エージェントの位置を取得します。get_self_agent_position();update_enemy_agentの引数にself_agent_positionを追加する。self_agent_position);になります。[#hc80dada]エージェントに関するライブラリを書き換えて、ゲームシステムを完成させてください。~下記項目を全て行ってください。~自分なりのアイディアを実現してほしいですが、思いつかなければ(例)の一つを実現して下さい。Agentを作成enemy_agent.cとenemy_agent.hをコピーして新しいファイルを作成し、書き替える。Agentのコードを参考にして、弾を撃てる様にする。Agentに向かって撃つ。BossAgentをEnemyAgentのファイル(enemy_agent.c,enemy_agent.h)を参考に作成する。--ゲームの終了条件の変更-これまでの課題をアプリケーションに反映させて,新しいゲームを完成させる。--追加したマップ要素を配置する。--追加した敵エージェントを配置する。--ボスエージェントを配置する。[#tc64fef8]さらに独創的なシステムやキャラクターを作りましょう!~以下に例を挙げます.-マウスやゲームパッドを使って操作できるようにする。Agentの場所によって動きを変える。Agentにトラップを仕掛ける。Point等の状況によって動きや色、形を変える、等...-一つのステージをクリアしたら、別のステージを遷移できるようにする。--例)同一のバイナリファイルでステージを作り直す。--例)スクリプトでバイナリを複数作成してステージを切り替える。Agentを待ち構えている坂がある。Pointシステムがなく、物理シミュレーションを活かした楽しいゲームは作れるでしょうか?~考えてみてください。[#mef4a474]-サンプルコードにバグがある可能性や、課題が分かりづらい等の問題点がある可能性もあります。~何か気がついた事があれば担当教員やTAに連絡をお願いします。-適宜コメントを入れたり、関数化したりして、他人にもわかりやすいプログラムになるように心がけてください。~全くコメントのないものは減点します。-他人のプログラムを写したことが判明した場合は,両者とも0点になります。-課題内容に対応していないプログラムには点をつけられません。[#k4ba1727]-第9回(6/14)に全員の前で、作成したゲームを見せながらプレゼンしてもらいます。-下記の提出物を第9回講義日(6/14)24:00までにCLEで提出してください.-第9回(6/20)に全員の前で、作成したゲームを見せながらプレゼンしてもらいます。