CRIBBAGE(6)

名称
cribbage - カードゲームクリベッジ

書式
/usr/games/cribbage [ -req ] name ...

解説
cribbage は、一方をプログラムが担当し他方をユーザが担当する形式で、 カードゲームのクリベッジをプレイします。 始めに、プログラムはユーザにゲームのルールが必要か尋ねます。- 必要と答えたなら、 According to Hoyle から適切な節を more (I) で表示します。

cribbage オプションには次のものがあります:

-e  プレイヤが自分の手札やクリブの得点化を間違えた時、正しい得点の 説明を教えます。(これは特に始めたてのプレイヤに便利です。)

-q  すべてのメッセージを短い形式で表示します。- これはこのオプションを 指定せずにゲームをプレイしてきたユーザにのみお薦めします。

-r  プレイヤにカード束をカットするよう求めるのではなく、 プログラムがランダムにカード束をカットします。

cribbage はまず、プレイヤに短いゲーム (“ 1 周 ” すなわち 61 まで) と長い ゲーム (“ 2 周 ” すなわち 121 まで) のどちらをプレイしたいか 尋ねます。`s' と答えると短いゲームになります。その他の応答は何でも 長いゲームをプレイします。

最初のゲーム開始時に、最初のクリブを誰が取るかを 決めるために、カード束をカットするようプレイヤに求めます。ユーザは カード束の何枚下のカードをカットするかを示す 0 から 51 の間の数字を 答えなければいけません。よりランクの低いカードをカットしたプレイヤが 最初のクリブを取ります。1 回以上ゲームをプレイすると、前回の ゲームの敗者が今回のゲームの始めのクリブを取ります。

手札を配るごとに、プログラムはまずプレイヤの手札と誰のクリブであるかを 表示し、それからクリブへ 2 枚のカードを捨てるようプレイヤに求めます。 カードは 1 行につき 1 枚ずつ、後で説明するようにして指定します。

カードを捨てた後、(プレイヤのクリブなら) プログラムがカード束を カットするか、(プログラムのクリブなら) プレイヤにカード束をカットするよう 求めます。 後者の場合、適切な応答は残りの 40 枚のカードから何枚下のカードをカットするかを 示す 0 から 39 の数字です。

カード束をカットした後、子 (クリブを持たないほう) が最初のカードを 出してプレイが始まります。カードすべてが使われるまで、クリベッジの ルールに従い、プレイは続きます。プログラムは、全ポイントの得点化と、 テーブル上のカードの合計に、絶えず注意を払います。

プレイが終わると手札が得点化されます。プログラムは適切なカード (それに角括弧で囲んだ、カットしたカード) を表示して、プレイヤに自分の 手札 (もしプレイヤのクリブならそれも) を得点化するよう求めます。 プレイはどちらかのプレイヤがゲーム限界点 (61 か 121) に達するまで 続きます。

数字入力が求められている時の復帰文字は、最も低い正当な値を タイプすることと同じになります。例えば、カード束をカットする時には 一番上のカードを選ぶことと同じです。

カードはランクにスーツを続けて指定します。ランクは、 `a', `2', `3', `4', `5', `6', `7', `8', `9', `t', `j', `q', `k' あるいは、“ace”, “two”, “three”, “four”, “five”, “six”, “seven”, “eight”, “nine”, “ten”, “jack”, “queen”, “king” のいずれかで指定できます。 スーツは、`s', `h', `d', `c' あるいは、 “spades”, “hearts”, “diamonds”, “clubs” のいずれかで指定できます。 カードは <rank> “ ” <suit> あるいは <rank> “ of ” <suit> のように指定できます。 ランクとスーツの 1 文字指定を用いる場合、スーツとランクを分けるスペースは 省けます。また、希望のランクのカードは 1 枚だけプレイ可能なら、ランクの 入力だけで充分です。例えば、手札が “2H, 4D, 5C, 6H, JC, KD” で ダイアモンドのキングを捨てたければ、次のいずれの入力でも可能です。 “k”, “king”, “kd”, “k d”, “k of d”, “king d”, “king of d”, “k diamonds”, “k of diamonds”, “king diamonds”, “king of diamonds”

関連ファイル
/usr/games/cribbage

作者
Earl T. Cohen が論理を書きました。 Ken Arnold が画面指向のインタフェースを追加しました。