マイクロマウス用のシミュレーションプログラム作成記です。
1348 views
playerはマウスをプログラムで操作し、迷路をクリアするターン制のゲームである。
playerには、1ターンごとにマウスの左右と前に壁があるかどうかの情報だけを得ることができる。
得られた壁情報を元に、プレイヤーは、1マス前進するか、右、または左を向く行動ができる。
迷路全体については隠されている。プレイヤーは迷路の全体像を推測しながら、決められた回数以内にゴールを目指す。
playerは4回の試走と、1回の本走行を行う。
本ゲームは、試走回数をターンと呼ぶ。
1ターンでマウスは50回行動を決めることができる。行動する回数を本ゲームではステップと呼ぶ。
1ステップごとに、プレイヤーはマウスがいる座標の前と左右の壁の有無を得ることができる。これをセンサー情報と呼ぶ。
プレイヤーは、センサー情報を元にマウスの行動を決めることができる。
1ターンでマウスが取れる行動は以下のどれか一つである。
4回の試走を行い、プレイヤーは迷路の状況を得ることができる。
試走段階でゴールした場合は、ゴール後もステップ数の上限回数まで走行できる。
試走中にリセットの条件に該当した場合、プレイヤーは自動的に初期位置(0, 15)に戻される。
本走行でゴールまでにかかったターン数が、ゲームでの記録となり、少ないほうがスコアがよい。
本走行中にゲームオーバーの条件に該当した場合、ゲームを終了する。
playerはターン毎にマウスの進行方向の前の壁と左右の壁の有無が得られる。
壁の有無は次の形式である。
(左,前,右)=(0 or 1, 0 or 1, 0 or 1)
0は壁がない、1の場合は壁があるという意味である。
例を記す。
①の場合は、進行方向に対して左、前、右に壁があるため、(1, 1, 1)が得られる。
②の場合は、進行方向に対して、前と右に壁があるため(0, 1, 1)が得られる。
③の場合は、進行方向に対して前にだけ壁があるため(0, 1, 0)が得られる。
Page 3 of 9.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/