ルール

トランプOSの標準ルールです。命令だけを確かめるときは命令表を見てください。

トランプOSは、トランプ1組で遊ぶゲームです。各プレイヤーは「プロセス」になり、自分の前の13か所のカード置き場(メモリ)に命令のカードを並べ、決まった数の命令を実行しては次の人へ交代します。

用意するもの

カードの値

トランプOSは13進数の世界です。カード1枚は、0〜12の13通りの値のどれか1つを表します(13進数1桁)。

カード A 2〜10 J Q K
値 1 2〜10(数字のとおり) 11 12 0

場の配置

置き場(メモリ)

置き場の例(0番地に♠3、1番地に♥4、2番地に♦5。ほかは空き番地。PCの目印は0番地)
  1. 3
  2. 4
  3. 5

手札・山札・捨て札・お題

手札
各プレイヤーが手に持つカード。ほかのプレイヤーには見せません
山札
配り残したカードを、裏向きに重ねて机の中央に置いたもの
捨て札
使い終わったカード(置き場で上書きされたカードなど)を、表向きに重ねて山札の横に置いたもの
お題
勝利条件に使う値。山札からめくったカードを、表向きで机の中央に置きます(「勝利条件:お題」)

机の上の全体図

2人で遊ぶときの、初期配置を終えた例です。

プレイヤー2の置き場
  1. 2
R = 0
9
プレイヤー1の置き場
  1. 3
  2. 4
  3. 5
R = 0

レジスタとPC

各プレイヤー(プロセス)は、レジスタ(R)とPCを1つずつ持ちます。

名前 意味 持ち方 開始時の値
レジスタ(R) 計算に使う値を1つ入れておく場所。値は0〜12 メモ用紙に値を書く(例:「R=5」) 0
PC(プログラムカウンタ) 次に実行する番地。値は0〜12 置き場のその番地に目印を置いて示す 0(0番地に目印を置く)

命令

置き場のカード1枚が、1つの命令です。カードのスートで命令の種類が決まり、カードの値(0〜12)がその命令のオペランド(命令が使う値)になります。例と足し算の早見表は「命令表」のページにあります。

命令表

スート 命令 動作
  LOAD n
読み込み
Rを n にする(R ← n)
  ADD n
足し算
Rを「R+n を13で割った余り」にする
  JUMP n
ジャンプ
次に n 番地を実行する(PC ← n)
  OUT
出力
Rの値をI/Oポートに出力する。カードの値は使わない

1命令の実行手順

  1. PCの目印がある番地のカードを見る
  2. カードがあれば、カードのスートで命令を決め、命令表のとおりに実行する
    • Rが変わったら、メモを新しい値に書き直す
  3. PCを進める
    • JUMP n なら、PCの目印を n 番地へ動かす
    • それ以外の命令なら、PCの目印を1つ次の番地へ動かす。12番地の次は0番地(ラップ)

ゲームの流れ

  1. 準備:最初のプレイヤーを決め、カードを配る
  2. 初期配置:全員が同時に、手札から自分の置き場にカードを置く
  3. お題:山札からお題をめくる
  4. 手番:最初のプレイヤーから時計回りに手番をくり返す。勝つ人が出たらそこでゲームを終わる(「勝利条件」)

カードは、自分が実行している間を除いて、いつでも置き場に置けます(「カードを置く」)。

準備

  1. ジョーカーを抜いて、トランプを52枚にする
  2. じゃんけんなどで最初のプレイヤーを決める。最初のプレイヤーがプレイヤー1で、そこから時計回りにプレイヤー2、3、4とする
  3. 52枚をよく切り、プレイヤー1から時計回りに1枚ずつ、各プレイヤーに5枚ずつ配る。これが各プレイヤーの手札になる
  4. 残りのカードは、裏向きに重ねて机の中央に置く。これが山札になる。山札の横に、捨て札を置く場所を空けておく
  5. 各プレイヤーは、自分の前に置き場(0〜12番地)を用意し、PCの目印を0番地に置き、メモに「R=0」と書く

人数ごとのカードの枚数は次のとおりです。

人数 手札(合計) お題 最初の山札 山札が尽きるまでの周回(目安)
2人 10枚 1枚 41枚 約20周
3人 15枚 1枚 36枚 12周
4人 20枚 1枚 31枚 約7周

初期配置

お題

手番

最初のプレイヤー(プレイヤー1)から時計回りに、1人ずつ手番を行います。手番は次の手順で行います。

  1. 引く:山札の一番上のカードを1枚引き、手札に加える
  2. 置く(してもしなくてもよい):手札から好きな枚数のカードを、自分の置き場に置く(「カードを置く」)
  3. 実行の開始:このタイミングからコンテキストスイッチが終わるまで、自分の置き場にカードを置けない
  4. 実行:PCの番地から命令を1つずつ、3命令(タイムスライス)実行する。実行のしかたは「1命令の実行手順」のとおり。Rが変わったらメモを書き直す
  5. コンテキストスイッチ:次のプレイヤー(時計回りで左隣)の手番にする

カードを置く

特殊なケース

カードに関するケース

ケース 裁定
ジョーカー 使いません。準備で抜いておきます(「準備」)
上書きされたカード 捨て札にします(「カードを置く」)
山札が尽きた 山札から引こうとしたときに山札が無ければ、捨て札をよく切り、裏向きに重ねて新しい山札にしてから引きます。お題のカードは、新しい山札に混ぜません
山札も捨て札も無い その「1. 引く」は行わず(引かずに)、手番を続けます
手札が0枚 かまいません。カードを置けないだけで、手番はふつうに行います
手札の枚数 上限はありません
置き場の13か所がすべて埋まった かまいません。それからは、上書きでだけカードを置けます

命令・PCに関するケース

ケース 裁定
自分自身の番地へのJUMP(例:5番地の♣5) 正しい命令です。その番地を実行し続ける(待ちのループ)ので、手番は3命令ともそのJUMPを実行して終わります。抜け出すには、そのカードを上書きします
PCの目印がある番地にカードを置く・上書きする 置いてかまいません(自分の実行中を除く)。次にその番地を実行するときは、新しいカードを実行します(「カードを置く」)
空き番地へのJUMP JUMPは正しく実行されます。その番地を実行しようとした時にまだ空きであった場合、NOPとして扱われます

勝利条件

お題

勝ち方

用語集

ゲームの中での意味を書きます。

プロセス
ゲームの中での各プレイヤーのこと。自分の置き場・レジスタ(R)・PCを1つずつ持つ
置き場(メモリ)
各プレイヤーの前にある、カードを置く13か所の場所。番地0〜12が付いている
番地
置き場の中の場所の番号(0〜12)。単に「番地」と言えば、自分の置き場の番地を指す
ワード
置き場の1か所に置くカード1枚のこと。値は0〜12
空き番地
カードが置かれていない番地
レジスタ(R)
各プレイヤーが1つずつ持つ、値(0〜12)を1つ入れておく場所。メモ用紙に書いて持つ
PC
プログラムカウンタ。次に実行する番地。置き場に置いた目印で示す
命令
置き場のカードが表す動作。カードのスートで、どの命令かが決まる
オペランド
命令が使う値。カードの値(数字)で決まる
手番
各プレイヤーが順に行う、引く・置く・実行・コンテキストスイッチの1回分
周
プレイヤー1から最後のプレイヤーまで、全員が1回ずつ手番を行うこと
タイムスライス
1回の手番で実行できる命令の数。標準ルールでは3命令
コンテキストスイッチ
手番を終えて、次のプレイヤーへ交代すること
I/Oポート
命令で値を出力する、置き場の外への出口。標準ルールでは1つだけ。♦(OUT)でRの値を出力する
手札
各プレイヤーが手に持ち、まだ置き場に置いていないカード
山札
配り残したカードを、裏向きに重ねて机の中央に置いたもの
捨て札
使い終わったカードを、表向きに重ねて山札の横に置いたもの
お題
勝利条件に使う値。山札からめくったカード(K以外)で決める
当たり
♦(OUT)で出力した値が、お題と同じなら当たり(勝ち)