名称

bs - 戦艦ゲーム

書式

bs [ -b | -s ] [ -c ]

解説

このプログラムでは、コンピュータを相手に 10x10 のボード上でおなじみの 戦艦ゲームができます。 インタフェースはビジュアルでほとんど説明の必要はないでしょう。 rogue や hack の移動キー hjklyubn により「海」でカーソルを動かして、 船を置いたり、弾を撃ったりします。
船を置く場所を選ぶときには、大文字を入力しなければならないことに注意して下さい (結局、これが大文字の船になります)。船を置いている間は、`r' コマンドで、 現在のカーソル位置を無視して、現在選択されている船をランダムに置くことが できます。 `R' コマンドでは残りの船をすべてランダムに置きます。^L コマンド (改頁、 ASCII で 12) では画面を再描画します。
コマンドラインの引き数はゲームのモードを制御します。
 
	-b で `blitz' モードを選びます。
	-s で `salvo' モードを選びます。
	-c で船を隣合って置くことができるようになります。
 
`blitz' モードでは、命中している間は片方が撃ち続けられます。
`salvo' モードでは、プレイヤーは自分の順番毎に、まだ浮いている自分の船一隻につき 一発撃つことができます。このモードでは早く命中させ、船を破壊することができる という利点がありますが、自分が快速哨戒魚雷艇だけで多勢の軍隊に立ち向かう場合、 その状況はより困難なものになります。
普通は、船は少なくとも海 1 マス分離して置かなければなりません。 -c オプションでこのチェックが無効になり、船を密集した一団にできるように なります。
一度沈めるべき船を見つけるとコンピュータが用いるアルゴリズムは 最適なものであることが証明できます。 ランダムに撃つアルゴリズムのまき散らす基準ではそうではないでしょう。

作者

最初は、Bruce Holloway という人により 1986 年に書かれました。salvo モードは Chuck A.DeGaul (cbosgd!cad) により追加されました。 ビジュアルユーザインタフェース、「密集した一団」オプション、コードの書き換え、 マニュアルページは、1989 年 8 月、 Eric S. Raymond <[email protected]> に よるものです。