English

SamurAI Dig Here ページの使い方

情報処理学会プログラムコンテスト委員会
2019/09/01

SamurAI Dig Here ページは SamurAI Dig Here ゲームのためのページです.

概要

SamurAI Dig Here ページを使って以下のことができます.

ゲームのプレイ:
内蔵するプレイヤや人手でゲームをプレイすることができます. プレイした結果はブラウザの内部ストレージや外部ファイルに記録できます.
プレイログの可視化:
記録されたゲームの進行を可視化できます.
競技場の初期状態の設定:
ゲーム開始時の競技場の初期状態を設定できます. 設定した初期状態をそのまま記録することも, その初期状態からゲームをプレイすることもできます.

画面

下図はページの表示画面例です.

競技場

競技場は格子状に並んだセルに分けられています.

エージェント

両チームにはそれぞれに侍ひとりと犬一匹, 合計4エージェントが属し, 競技場のセルのどれかにいます. 侍は各ステップでその位置の四近傍のセルのどれかに, 犬は八近傍セルのどれかに動けます. 動かずに同じセルに留まることもできます.

初期状態では, 競技場のセルのいくつかに穴が空いています. 侍も犬も穴があるセルには行けません.

侍は四近傍のどれかのセルに穴があるとき, その穴を埋めることができます. また, 四近傍のセルに新たに穴を掘ることができます. 犬には穴埋めや穴掘りはできません.

埋蔵金

セルのいくつかには埋蔵金があります. 埋蔵金は当初はその位置や量がわかっているものも, 隠されているものもあります. ゲームの目的は相手方より多くの埋蔵金を掘り出すことです. 侍は近傍のセルに穴を掘れば, そこにある埋蔵金を掘り出すことができます.

犬は埋蔵金のあるセルの八近傍セルに来ると, 埋蔵金の存在と量がわかります. 埋蔵金のあるセルにいずれかの犬が来ると, その埋蔵金の位置と量がすべてのエージェントに知らされます.

自動プレイモード

プレイモードの初期状態は自動プレイモードになっています. 自動プレイモードでは, ゲーム記録中の最後のステップ以降のステップは, 内蔵するプレイヤを用いてエージェントの動作を選んで表示を進めます. 選んだ動作はゲーム記録に追加します.

ゲームの進行は画面上部のいくつかのボタンを用いて制御します.

画面上部左側のボタンとその機能は以下のとおりです.

画面上部右側のボタン類とその機能は以下のとおりです.

手動プレイモード

手動プレイモードではいずれか片方の侍を手動で制御できます.

手動プレイの開始

画面右上部の手動プレイボタン をクリックすると手動プレイモードになります.

最初のクリックで赤の侍が手動制御になり, ボタンの色は赤 . になります. 他のエージェント, つまり犬や青の侍は内蔵プレイヤが制御します. もう一度クリックすると青の侍が手動制御になり, ボタンの色は青 . になります. 赤の侍や犬の制御はコンピュータがすることになります. さらにもう一度クリックすると, 自動プレイモードに戻り, ボタンの色も元の白色に戻ります.

手動ステップ実行

手動実行では, 制御対象の侍の周囲のセルに可能な動きを示す矢印が表示されます. 穴があるセルの上の矢印は赤い輪郭を表示します. 矢印のあるセルをクリックすることで, 以下を指示します.

侍がいるセルをクリックすると, そのステップでは何もしないことになります.

侍の動作はキーボードのキーを押すことによっても指示できます. キーとその意味は以下のとおりです.

h w ←左下 (↙) のセル
j s ↓右下 (↘) のセル
k n ↑左上 (↖) のセル
l e →右上 (↗) のセル
. スペース何もしない
クリックする場合と同様, シフトキーを押し下げた状態での入力は, 新たな穴掘り, または既存の穴の穴埋めの指示になります.

手動ステップ実行をすると, それより先のステップの記録を破棄し, 実行結果がゲーム記録中の最終ステップになります.

手動プレイモード中の自動プレイ

手動プレイモード中でも自動プレイモードと同様の自動実行もできます. ステップ再生ボタン では 1 ステップの自動実行, プレイボタン では連続自動実行になります. いずれの場合も, 自動実行の終了後はプレイモードは手動のままです. 巻戻しボタン での初期状態への巻戻しもできます.

編集モード

画面上部の編集ボタン を押すと編集モードに入ります. 編集モードでは競技場設定の編集, 保存や, 保存済みの設定の読み出しができます.

編集モードに入ると, 表示は以下のように変わります.

編集モードではマウスポインタがあるセルの外周が白く表示され, そのセルに対しての設定をマウス操作で編集できます. なんらかの設定変更を施すと, ゲーム実行記録をすべて破棄します.

エージェントの設定

エージェントがあるセルでマウスボタンを押し下げて別のセルにドラッグすると, エージェントを移動できます. ただし埋蔵金があるセルや穴のあるセルには移動できず, 直前にマウスカーソルがあったセルに移動します.

マウスボタンを押し下げるときにシフトキーが押されていると, エージェントは時計回りに回転します. これによりエージェントの初期状態での見た目が変わりますが, そのことはゲームのプレイには何の影響も及ぼしません.

埋蔵金の設定

埋蔵金のあるセル上でマウスクリックすると, 埋蔵量を増減できます. シフトキーを押さずにクリックすれば埋蔵量は 2 だけ減ります. 埋蔵量が 0 になったセルは埋蔵金のないセルになります. シフトキーを押しながらクリックすれば埋蔵量は2だけ増えます. 埋蔵金のない平坦なセル上でマウスボタンをクリックすると, そのセルは埋蔵量 2 の埋蔵金があるセルになります.

埋蔵金のあるセル上でコントロールキーを押したままマウスクリックすると, 秘匿状態と公開状態の間で切り替えます.

穴の設定

穴のあるセルでマウスをクリックすると, 穴は埋められす. 穴もエージェントも埋蔵金もないセルをクリックすると, そのセルに新たに穴を作ります.

競技場サイズの設定

競技場の1辺のセル数は拡大ボタン をクリックすればひとつ増え, シフトキーを押しながらクリックすればひとつ減ります. ただし, 最小6, 最大20の範囲を越えることはできません. 競技場の縮小でなくなるセルにあったエージェントは別のセルに移動します. なくなるセルやエージェントの移動先セルの穴や埋蔵金もなくなります.

最大ステップ数の設定

最大ステップ数は編集モード中に時計アイコン 上のマウスクリックやホイールの回転で増減できます. クリック時にシフトキーを押していれば最大ステップ数はひとつ増え, 押していなければ減ります. ホイールを上に回せば増え, 下に回せば減ります. 操作時にコントロールキーを押していれば, 増減量は10倍になります. 最大ステップ数を 10 より小さくはできません.

ランダムな競技場設定

左上部にあるランダム設定ボタン をクリックすることで, 競技場を新たなランダムな設定にすることができます.

シフトキーを押してクリックすると, エージェントや穴の位置を変えずに, 埋蔵金 (公知のものも隠されたものも) だけがランダムに再設定します.

プレイログの抹消

プレイログ抹消ボタン をクリックすると, 競技場の設定を変えずにプレイの記録だけを抹消します. これはプレイログを除いて競技場の設定を保存したり書き出したりする際に用います.

ゲーム状態の保存と読み出し

現在のゲーム状態 (競技場の設定と, プレイのログ) はブラウザの記憶領域に保存し, 後で読み出すことができます. この記憶領域はブラウザ内に保存するもので, ページを読み込み直したりブラウザを立ち上げ直してもなくなりませんが, 他のシステムではもちろん, 同じシステムの他のブラウザからも読み出せません.

画面上部の保存ボタン をクリックすると, 保存名の入力画面を表示します. ここで名称を入力すれば現在ゲーム状態がその名称で保存されます. 同じ保存名のゲーム状態があれが上書きします.

画面上部の読み出しボタン をクリックすると, 保存名の一覧を表示します. この中から読み出したいものを選ぶと, そのゲーム状態が読み出されます.

画面上部の削除ボタン をクリックすると, 保存済みゲーム状態の名称の一覧を表示します. この中から削除したい状態の名称を選ぶと, そのゲーム状態は記憶から削除されます.

設定の外部ファイル入出力

画面上部のファイル入力ボタン をクリックすると, ファイルを選択するウィンドウを表示します. そこでファイルを選ぶとファイル中のゲーム状態を読み込めます.

ファイル出力ボタン をクリックすると, 出力先ファイル名を入力するウィンドウを表示します. そこで入力したファイル名のファイルに現在のゲーム状態を書き出します. ファイル名に拡張子がついていなければ, 自動的に拡張子 ".dighere" を付けます.

編集モードの終了

画面上部の編集終了ボタン をクリックすれば編集モードは終了します. ゲームは編集結果の設定の初期状態になります.