-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathhelp-jp.html
565 lines (557 loc) · 25.2 KB
/
help-jp.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="samuraidocs.css">
<link rel="icon" href="../icons/samurai-icon.png" >
<style>
em {
font-style: normal;
color: blue;
}
</style>
<title>SamurAI Dig Here Page Manual</title>
</head>
<body>
<span style="float:left">
<a href="help.html" target="_blank">English</a>
</span>
<h1>SamurAI Dig Here ページの使い方</h1>
<center>
<p>
情報処理学会プログラムコンテスト委員会<br>
2019/11/01
</p>
<p>
<em>SamurAI Dig Here</em> ページは
<em>SamurAI Dig Here</em> ゲームのためのページです.
</p>
</center>
<h2>概要</h2>
<p>
<em>SamurAI Dig Here</em> ページを使って以下のことができます.
<dl>
<dt>
ゲームのプレイ:
</dt>
<dd>
内蔵するプレイヤや人手でゲームをプレイすることができます.
プレイした結果はブラウザの内部ストレージや外部ファイルに記録できます.
</dd>
<dt>
ゲーム記録の可視化:
</dt>
<dd>
記録されたゲームの進行を可視化できます.
</dd>
<dt>
競技場の初期状態の設定:
</dt>
<dd>
ゲーム開始時の競技場の初期状態を設定できます.
設定した初期状態をそのまま記録することも,
その初期状態からゲームをプレイすることもできます.
</dd>
</dl>
</p>
<h2>画面</h2>
<p>
下図はページの表示画面例です.
<ul>
<li>
上端にはゲームを制御するためのボタンやゲーム状態の情報があります.
</li>
<li>
緑色の競技場が中央に表示されています.
</li>
<li>
下端には両チーム (赤と青) の得点 (掘り出した埋蔵金の量) と,
侍と犬の残り考慮時間をそれぞれのアイコンの下に表示しています.
残り考慮時間は秒単位に切り捨てて, 通常は水色,
考慮時間が尽きると赤で表示します.
</li>
</ul>
</p>
<center>
<img src="screenShots/screen.png" width="75%">
</center>
<h2>競技場</h2>
<p>
競技場は格子状に並んだセルに分けられています.
</p>
<img src="screenShots/agents.png" width="20%" class="figure">
<h3>エージェント</h3>
<p>
両チームにはそれぞれに侍ひとりと犬一匹, 合計4エージェントが属し,
競技場のセルのどれかにいます.
侍は各ステップでその位置の四近傍のセルのどれかに,
犬は八近傍セルのどれかに動けます.
動かずに同じセルに留まることもできます.
</p>
<img src="screenShots/holes.png" width="15%" class="figure">
<h3>穴</h3>
<p>
初期状態では, 競技場のセルのいくつかに穴が空いています.
侍も犬も穴があるセルには行けません.
</p>
<p>
侍は四近傍のどれかのセルに穴があるとき,
その穴を埋めることができます.
また, 四近傍のセルに新たに穴を掘ることができます.
犬には穴埋めや穴掘りはできません.
</p>
<img src="screenShots/hidden-gold.png" width="20%" class="figure">
<h3>埋蔵金</h3>
<p>
セルのいくつかには埋蔵金があります.
埋蔵金は当初はその位置や量がわかっているものも, 隠されているものもあります.
ゲームの目的は相手方より多くの埋蔵金を掘り出すことです.
侍は近傍のセルに穴を掘れば, そこにある埋蔵金を掘り出すことができます.
</p>
<p>
犬は埋蔵金のあるセルの八近傍セルに来ると, 埋蔵金の存在と量がわかります.
埋蔵金のあるセルにいずれかの犬が来ると,
その埋蔵金の位置と量がすべてのエージェントに知らされます.
</p>
<h2>ゲーム記録の読み込み</h2>
<p>
画面上部の<em>読み込みボタン</em>
<img src="../icons/import.png" class="inlineIcon">
をクリックすると, ファイルを選択するウィンドウを表示します.
そこでファイルを選ぶとファイル中のゲーム記録を読み込めます.
</p>
<p>
いったんゲーム記録を読み込んだ後で更新したとき,
更新後のファイルを読み込もうとしてもうまくいかないことがあります.
それはブラウザが最初に読み込んだときのキャッシュ,
つまり更新前のゲーム記録を使うからです.
この問題は,
ブラウザの機能でウェブページ全体を読み込むことで解決できるでしょう.
</p>
<h2>自動プレイモード</h2>
<p>
プレイモードの初期状態は<em>自動プレイモード</em>になっています.
自動プレイモードでは, 読み込んだゲーム記録を可視化できます.
ゲーム記録中の最後のステップ以降のステップは,
内蔵するプレイヤを用いてエージェントの動作を選んで表示を進めます.
選んだ動作はゲーム記録に追加します.
</p>
<p>
ゲームの進行は画面上部のいくつかのボタンを用いて制御します.
</p>
<p>
<img src="screenShots/control-buttons.png" width="25%" class="figure">
画面上部左側のボタンとその機能は以下のとおりです.
<ul>
<li>
いちばん左の<em>巻戻しボタン</em>
<img src="../icons/rewind.png" class="inlineIcon">
は, 表示を初期状態に巻戻します.
</li>
<li>
<em>後戻りボタン</em>
<img src="../icons/stepBackward.png" class="inlineIcon">
をクリックすると, ひとつ前のステップの状態を表示します.
すでに初期状態にあれば表示は変化しません.
</li>
<li>
<em>プレイボタン</em>
<img src="../icons/play.png" class="inlineIcon">
をクリックすると,
ゲーム終了まで一定時間間隔でステップを進める自動再生を始めます.
このときボタンは
<img src="../icons/stop.png" class="inlineIcon">
のように姿を変えますが,
これをクリックすると自動再生は停止します.
表示がゲーム記録中の最終ステップに達し,
まだゲーム終了には至っていない場合は,
上述の通りその後のステップは自動的に生成して行きます.
</li>
<li>
<em>ステップ再生ボタン</em>
<img src="../icons/stepForward.png" class="inlineIcon">
をクリックすると, 1 ステップだけ再生を進めます.
</li>
<li>
<em>早送りボタン</em>
<img src="../icons/fastForward.png" class="inlineIcon">
をクリックすると, ゲーム記録中の最終ステップまで表示を進めます.
</li>
<li>
<em>速度計ボタン</em>
<img src="../icons/speedometer.png" class="inlineIcon">
を用いて自動表示の表示間隔を調整できます.
ボタンの右にある数値は毎秒の表示ステップ数 (spm) で表すものです.
速度計ボタンをクリックすると, 速度は 4 spm だけ下がります.
このときシフトキーを押していると, 逆に 4 spm だけ上がります.
マウスカーソルが速度計ボタンの上にあるときにマウスホイールを動かしても,
速度を調節できます.
最高速度は 240 spm, 最低速度は 24 spm です.
</li>
<li>
上述の通り<em>読み込みボタン</em>
<img src="../icons/import.png" class="inlineIcon">
をクリックしてゲーム記録を読み込むことができます.
</li>
</ul>
</p>
<p>
<img src="screenShots/right-buttons.png" width="30%" class="figure">
画面上部右側のボタン類とその機能は以下のとおりです.
<ul>
<li>
<em>編集ボタン</em>
<img src="../icons/edit.png" class="inlineIcon">
を押すと編集モード (後述) に入ります.
</li>
<li>
編集ボタンの右の数値はまだ掘り出されていない埋蔵金の総量を示します.
これは隠されているものと公開済みのものの合計です.
</li>
<li>
数値の右の<em>埋蔵金アイコン</em>
<img src="../icons/coins-icon.png" class="inlineIcon">
の上でマウスボタンを押している間,
競技場内の隠されている埋蔵金の位置をアイコンで,
その量を赤い数値で表示します.
ボタンを離すと埋蔵金はまた隠れます.
</li>
<li>
画面に表示するゲームの状態は<em>時計アイコン</em>
<img src="../icons/clock.png" class="inlineIcon">
の上でのマウス操作で前後させることができます.
アイコンをクリックすると, シフトキーを押していれば1ステップ前進,
押していなければ後退します.
アイコン上でマウスホイールを上に回せば前進,
下に回せば後退します.
コントロールキーを押していれば一度に10ステップ前進・後退します.
ただし初期状態より前には戻れませんし,
ゲーム記録中の最終ステップより後にも行けません.
</li>
<li>
時計アイコンの右にあるふたつの数値は,
スラッシュ ('/') の左が現在表示中のステップの番号,
右が最大ステップ番号を示しています.
初期状態のステップ番号は 0 です.
これらは, ゲーム終了状態を表示しているときは赤色で,
そうではないゲーム記録中の最後のステップを表示しているときは淡青色で,
それ以外の場合は黄色で表示します.
</li>
<li>
<em>手動プレイボタン</em>
<img src="../icons/manual.png" class="inlineIcon">
をクリックすると<a href="#manualPlay">手動プレイモード</a>になります.
</li>
<li>
<em>設定ボタン</em>
<img src="../icons/tweak.png" class="inlineIcon">
をクリックすると<a href="#tweak">設定ダイアログ</a>を表示します.
</li>
<li>
<em>ヘルプボタン</em>
<img src="../icons/help.png" class="inlineIcon">
をクリックするとマニュアルページ (このページ) を別のタブで開きます.
ブラウザの言語設定が日本語 (ja) なら日本語版,
そうでなければ英語版がページを開きます.
</li>
</ul>
</p>
<h2 id="manualPlay">手動プレイモード</h2>
<p>
手動プレイモードではいずれか片方の侍を手動で制御できます.
</p>
<h3>手動プレイの開始</h3>
<p>
画面右上部の<em>手動プレイボタン</em>
<img src="../icons/manual.png" class="inlineIcon">
をクリックすると手動プレイモードになります.
</p>
<p>
最初のクリックで赤の侍が手動制御になり,
ボタンの色は赤
<img src="../icons/red-hand.png" class="inlineIcon">.
になります.
他のエージェント, つまり犬や青の侍は内蔵プレイヤが制御します.
もう一度クリックすると青の侍が手動制御になり,
ボタンの色は青
<img src="../icons/blue-hand.png" class="inlineIcon">.
になります.
赤の侍や犬の制御はコンピュータがすることになります.
さらにもう一度クリックすると, 自動プレイモードに戻り,
ボタンの色も元の白色に戻ります.
</p>
<img src="screenShots/manual-play.png" width="15%" class="figure">
<h3>手動ステップ実行</h3>
<p>
手動実行では, 制御対象の侍の周囲のセルに可能な動きを示す矢印が表示されます.
穴があるセルの上の矢印は赤い輪郭を表示します.
矢印のあるセルをクリックすることで, 以下を指示します.
<ul>
<li>
クリック時にシフトキーを押し下げていれば,
穴を埋めるか穴を掘ることの指示になります.
<ul>
<li>
既に穴があれば, その穴を埋めます.
</li>
<li>
穴はなくて埋蔵金があれば,
埋蔵金が秘匿されているか公開済かによらず,
その埋蔵金を掘り出します.
</li>
<li>
セルが平坦で埋蔵金がなければ, 新たに穴を掘ります.
</li>
他のエージェントが対象セルに移動してくれば,
実際には穴は掘れません.
両方の侍が同じセルに穴を掘ることはでき,
そこに埋蔵金があれば半分ずつ分けることになります.
</ul>
</li>
<li>
クリック時に<em>シフトキーを押し下げていなければ</em>
侍はそのセルに移動しようとします.
そのセルに穴がなく,
他のエージェントが同じセルに移動しなければ移動できます.
</li>
</ul>
侍がいるセルをクリックすると, そのステップでは何もしないことになります.
</p>
<p>
侍の動作はキーボードのキーを押すことによっても指示できます.
キーとその意味は以下のとおりです.
<table>
<tr><th><tt>h w ←</tt></th><td>左下 (↙) のセル</td></tr>
<tr><th><tt>j s ↓</tt></th><td>右下 (↘) のセル</td></tr>
<tr><th><tt>k n ↑</tt></th><td>左上 (↖) のセル</td></tr>
<tr><th><tt>l e →</tt></th><td>右上 (↗) のセル</td></tr>
<tr><th><tt>.</tt> <em>スペース</em></th><td>何もしない</td></tr>
</table>
クリックする場合と同様,
シフトキーを押し下げた状態での入力は,
新たな穴掘り, または既存の穴の穴埋めの指示になります.
</p>
<p>
手動ステップ実行をすると,
それより先のステップのゲーム記録は破棄し,
手動ステップ実行の結果がゲーム記録中の最終ステップになります.
</p>
<h3>手動プレイモード中の自動プレイ</h3>
<p>
手動プレイモード中でも自動プレイモードと同様の自動実行もできます.
ステップ再生ボタン
<img src="../icons/stepForward.png" class="inlineIcon">
では 1 ステップの自動実行, プレイボタン
<img src="../icons/play.png" class="inlineIcon">
では連続自動実行になります.
いずれの場合も, 自動実行の終了後はプレイモードは手動のままです.
巻戻しボタン
<img src="../icons/rewind.png" class="inlineIcon">
での初期状態への巻戻しもできます.
</p>
<h2>編集モード</h2>
<p>
画面上部の<em>編集ボタン</em>
<img src="../icons/edit.png" class="inlineIcon">
を押すと編集モードに入ります.
編集モードでは競技場設定の編集, 保存や,
保存済みの設定の読み出しができます.
</p>
<p>
編集モードに入ると, 表示は以下のように変わります.
<ul>
<li>ゲームの初期状態を表示する</li>
<li>背景が灰色に変わる</li>
<li>上部のボタン群が編集用のものになる</li>
<li>秘匿埋蔵金が見えるようになる (量は赤い字で表示)</li>
</ul>
</p>
<center>
<img src="screenShots/edit-mode.png" width="75%">
</center>
<p>
<img src="screenShots/cell-highlight.png" width="25%" class="figure">
編集モードではマウスポインタがあるセルの外周が白く表示され,
そのセルに対しての設定をマウス操作で編集できます.
なんらかの設定変更を施すと, ゲーム実行記録をすべて破棄します.
</p>
<h3>エージェントの設定</h3>
<p>
エージェントがあるセルでマウスボタンを押し下げて別のセルにドラッグすると,
エージェントを移動できます.
ただし埋蔵金があるセルや穴のあるセルには移動できず,
直前にマウスカーソルがあったセルに移動します.
</p>
<p>
マウスボタンを押し下げるときにシフトキーが押されていると,
エージェントは時計回りに回転します.
これによりエージェントの初期状態での見た目が変わりますが,
そのことはゲームのプレイには何の影響も及ぼしません.
</p>
<h3>埋蔵金の設定</h3>
<p>
埋蔵金のあるセル上でマウスクリックすると, 埋蔵量を増減できます.
シフトキーを押さずにクリックすれば埋蔵量は 2 だけ減ります.
埋蔵量が 0 になったセルは埋蔵金のないセルになります.
シフトキーを押しながらクリックすれば埋蔵量は2だけ増えます.
埋蔵金のない平坦なセル上でマウスボタンをクリックすると,
そのセルは埋蔵量 2 の埋蔵金があるセルになります.
</p>
<p>
埋蔵金のあるセル上でコントロールキーを押したままマウスクリックすると,
埋蔵金の初期状態を秘匿と公開の間で切り替えます.
秘匿埋蔵金の埋蔵量は赤, 公開埋蔵金は黄色で表示します.
</p>
<h3>穴の設定</h3>
<p>
穴のあるセルでマウスをクリックすると, 穴は埋められす.
穴もエージェントも埋蔵金もないセルをクリックすると,
そのセルに新たに穴を作ります.
</p>
<h3>競技場サイズの設定</h3>
<p>
競技場の1辺のセル数は<em>拡大ボタン</em>
<img src="../icons/expand.png" class="inlineIcon">
をクリックすればひとつ増え,
シフトキーを押しながらクリックすればひとつ減ります.
ただし, 最小6, 最大20の範囲を越えることはできません.
競技場の縮小でなくなるセルにあったエージェントは別のセルに移動します.
なくなるセルやエージェントの移動先セルの穴や埋蔵金もなくなります.
</p>
<h3>最大ステップ数の設定</h3>
<p>
最大ステップ数は編集モード中に時計アイコン
<img src="../icons/clock.png" class="inlineIcon">
上のマウスクリックやホイールの回転で増減できます.
クリック時にシフトキーを押していれば最大ステップ数はひとつ増え,
押していなければ減ります.
ホイールを上に回せば増え, 下に回せば減ります.
操作時にコントロールキーを押していれば, 増減量は10倍になります.
最大ステップ数を 10 より小さくはできません.
</p>
<h3>ランダムな競技場設定</h3>
<p>
左上部にあるランダム設定ボタン
<img src="../icons/randomize.png" class="inlineIcon">
をクリックすることで,
競技場を新たなランダムな設定にすることができます.
</p>
<p>
シフトキーを押してクリックすると,
エージェントや穴の位置を変えずに,
埋蔵金 (公知のものも隠されたものも) だけがランダムに再設定します.
</p>
<h3>プレイログの抹消</h3>
<p>
<em>プレイログ抹消ボタン</em>
<img src="../icons/clearLog.png" class="inlineIcon">
をクリックすると, 競技場の設定を変えずにプレイの記録だけを抹消します.
これはプレイログを除いて競技場の設定を保存したり書き出したりする際に用います.
</p>
<h3>ゲーム状態の保存と読み出し</h3>
<p>
現在のゲーム状態 (競技場の設定と, プレイの記録)
はブラウザの記憶領域に保存し, 後で読み出すことができます.
この記憶領域はブラウザ内に保存するもので,
ページを読み込み直したりブラウザを立ち上げ直してもなくなりませんが,
他のシステムではもちろん, 同じシステムの他のブラウザからも読み出せません.
</p>
<img src="screenShots/save.png" width="40%" class="figure"
style="border: 1px solid black">
<p>
画面上部の<em>保存ボタン</em>
<img src="../icons/save.png" class="inlineIcon">
をクリックすると, 保存名の入力画面を表示します.
ここで名称を入力すれば現在ゲーム状態がその名称で保存されます.
同じ保存名のゲーム状態があれが上書きします.
</p>
<img src="screenShots/load.png" width="18%" class="figure">
<p>
画面上部の<em>読み出しボタン</em>
<img src="../icons/load.png" class="inlineIcon">
をクリックすると, 保存名の一覧を表示します.
この中から読み出したいものを選ぶと, そのゲーム状態が読み出されます.
</p>
<p>
画面上部の<em>削除ボタン</em>
<img src="../icons/remove.png" class="inlineIcon">
をクリックすると, 保存済みゲーム状態の名称の一覧を表示します.
この中から削除したい状態の名称を選ぶと,
そのゲーム状態は記憶から削除されます.
</p>
<h3>設定の外部ファイル出力</h3>
<p>
<em>ファイル出力ボタン</em>
<img src="../icons/export.png" class="inlineIcon">
をクリックすると, 出力先ファイル名を入力するウィンドウを表示します.
<img src="screenShots/export.png" width="40%"
class="figure" style="border:1px solid black">
そこで入力したファイル名のファイルに現在のゲーム状態を書き出します.
ファイル名に拡張子がついていなければ,
自動的に拡張子 "<tt>.dighere</tt>" を付けます.
</p>
<h3>編集モードの終了</h3>
<p>
画面上部の<em>編集終了ボタン</em>
<img src="../icons/exitEdit.png" class="inlineIcon">
をクリックすれば編集モードは終了します.
ゲームは編集結果の設定の初期状態になります.
</p>
<h2 id="tweak">設定ダイアログ</h2>
<p>
設定ボタン <img src="../icons/tweak.png" class="inlineIcon">
のクリックで表示される設定ダイアログで,
種々の細かな設定を行うことができます.
</p>
<img src="screenShots/tweakBox.png" width="25%"
class="figure" style="border:1px solid black">
<h3>BGM</h3>
<p>
自動プレイ時に流す曲を数種類用意しています.
すべて童謡「はなさかじじい」のそれぞれ異なるアレンジです.
"BGM" というラベルのセレクタで曲を選ぶことができます.
音楽がいらなければ "MUTE" を選んでください.
</p>
<h3>何をランダム設定するか</h3>
<p>
ランダム設定ボタン
<img src="../icons/randomize.png" class="inlineIcon">
をクリックすることで,
競技場を新たなランダムな設定にできますが,
その際に何を設定するかを選べます。
設定ダイアログにはエージェント
<img src="../icons/samurai-figure-1.png" class="inlineIcon">,
穴 <img src="../icons/hole.png" class="inlineIcon">,
公開埋蔵金 <img src="../icons/knownGold.png" class="inlineIcon">,
秘匿埋蔵金 <img src="../icons/hiddenGold.png" class="inlineIcon">
のアイコンがあります.
赤い枠で囲まれているアイコンに対応するものがランダム設定の対象で,
赤い枠のないものは元のままにします.
これらのアイコンをクリックすれば枠をつけたり消したりできます.
</p>
<h3>穴の確率</h3>
<p>
穴のアイコンの右のフィールドで,
ランダム設定時に競技場のセルに穴がある確率を設定することができます.
</p>
<h3>埋蔵金</h3>
<p>
公開埋蔵金アイコンの右のふたつのフィールドは,
ランダム設定時の公開埋蔵金の設定を制御するためのものです.
最初のフィールドは競技場のセルに埋蔵金がある確率を設定します.
次の "max" というラベルのフィールドは,
ひとつのセルにある埋蔵金の最大量を設定するものです.
これは正の偶数でなければならず, 負の数や奇数は自動的に調整します.
</p>
<p>
秘匿埋蔵金アイコンの右のふたつのフィールドは,
秘匿埋蔵金のランダム設定について同様の操作のためのものです.
</p>
<h3>設定の終了</h3>
<p>
"Done" ボタンをクリックすると設定変更を反映します.
"Cancel" ボタンをクリックすると設定変更は破棄します.
どちらでもダイアログは閉じます.
</p>
</body>
</html>