マイクロマウスシミュレーター

マイクロマウスシミュレーションの使い方について。

1580 views

ゲーム概要

playerはマウスをプログラムで操作し、迷路をクリアするターン制のゲームである。
playerには、1ターンごとにマウスの左右と前に壁があるかどうかの情報だけを得ることができる。
得られた壁情報を元に、プレイヤーは、1マス前進するか、右、または左を向く行動ができる。
迷路全体については隠されている。プレイヤーは迷路の全体像を推測しながら、決められた回数以内にゴールを目指す。

マップの定義

  • マップのサイズは33×33とする
  • マップの左上を(0,0)とし、右下を(32,32)とする
  • ゴールは(17,17)とする
  • マウスの開始位置は(1, 31)とし、進行方向は北向きとする
  • マップの上を北、右を東、下を南、左を西とする

ルール

playerは4回の試走と、1回の本走行を行う。
本ゲームは、試走回数をターンと呼ぶ。
1ターンでマウスは500回行動できる。行動する回数を本ゲームではステップと呼ぶ。
1ステップごとに、プレイヤーはマウスがいる座標の前と左右の壁の有無を得ることができる。これをセンサー情報と呼ぶ。
プレイヤーは、センサー情報を元にマウスの行動を決めることができる。
1ターンでマウスが取れる行動は以下のどれか一つである。

  • 前に移動(進行方向に対して2マス進む)
  • 右を向く
  • 左を向く

試走

4回の試走を行う。試走中にプレイヤーは迷路の状況をメモリなどに記憶したデータを自走に用いてもよい。
試走段階でゴールした場合は、ゴール後もステップ数の上限回数まで走行できる。
試走中にリセットの条件に該当した場合、プレイヤーは自動的に初期位置(0, 31)に戻される。

本走行

本走行でゴールまでにかかったターン数が、ゲームでの記録となり、少ないほうがスコアがよい。
本走行中にゲームオーバーの条件に該当した場合、ゲームを終了する。

ゲームオーバーの条件

  • 本走行中に壁に衝突したとき
  • 本走行中に上限のステップ数を超過したとき

リセットの条件

  • 試走中に壁に衝突した場合
  • 試走中に上限のステップ数を超過した場合

センサー

playerはターン毎にマウスの進行方向の前の壁と左右の壁の有無が得られる。
壁の有無は次の形式である。

(左,前,右)=(0 or 1, 0 or 1, 0 or 1)

0は壁がない、1の場合は壁があるという意味である。

例を記す。

①の場合は、進行方向に対して左、前、右に壁があるため、(1, 1, 1)が得られる。
②の場合は、進行方向に対して、前と右に壁があるため(0, 1, 1)が得られる。
③の場合は、進行方向に対して前にだけ壁があるため(0, 1, 0)が得られる。

Page 2 of 7.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626