
今はスマフォのゲームは星の数ほどあるし、グラフィックスがものすごく綺麗なPS4、いつでも何処でも遊べる Nintendo Switch もある。しかし、コンソールのCUI画面でも遊べるゲームもあるのです。おじさん達には、「お!懐かしい」、新社会人、大学生になって本誌の読者になった若者には「何コレ??」といったレトロなゲームを紹介していこうと思います。きっと、App Store や、Play ストア にも同様のアプリがあると思います。しかし CUI でもこんなことが出来るんだ!と感じてもらえれば、今後、CUIメニューを開発する機会に出くわした際、重要なお手本になるのではないかと思います。
なおゲームによってターミナルのウィンドウサイズが小さい場合、起動しないものもあるのでウィンドウサイズを広げてから実行して下さい。
インベーダーゲーム風
シューティングゲームの元祖と言われているスペースインベーダーをアスキーアートで表現したゲームです。 敵のビームは、: こちらのビームは ! で表現され、矢印キーの左右で移動を行い、スペースキーでミサイルを撃ちます。
$ sudo apt -y install ninvaders
$ ninvaders

テトリス風
こちらも落ち物パズルの元祖、テトリスをアスキーアートで表現したゲームです。
起動すると、normal か harder version どちらでプレーするか選択します。
harder version は、次のブロックが何なのか表示されません。
矢印キーの左右下でブロックを移動して、スペースキーで回転させます。
$ sudo apt -y install bastet
$ bastet

テトリスはゲームプログラミンを書く教材としてよく利用されます。 GitHub で、C++のソースコードを確認することが出来るので、眺めてみては如何でしょうか。
https://github.com/fph/bastet/
パックマン風
$ sudo apt-get install pacman4console
$ pacman4console
こちらは、パックマンをアスキーアートで表現したゲームです。黄色い[C]マークのパックマンを十字キーで操作して [&]マークのモンスターに食べられないように、エサ[.] とパワーエサ [*]を食べつくすゲームです。 パワーエサを食べると一定時間、立場が逆転して、パックマンがモンスターを食べられるようになります。
オリジナルのパックマンは、ラウンドをクリアしても迷路に変化がなく、難易度が上がってプレーが再開するが、 こちらは、Level01〜Level09の迷路が用意されています。
また、自分で迷路を作ってプレーする事もできます。 また、/usr/share/pacman4console/Levels/ に置かれているdataファイルを編集する事により
自分で迷路を変更する事も出来ます。
my.dat に迷路情報を作成します。
$ pacman4consoleedit my.dat

作成た迷路をプレーします。
$ pacman4console --level=my.dat

囲碁
GNU Go は、CUIの囲碁ですが、ソースコードの可搬性が高く、いろいろなプラットフォーム、言語に移植されており、 GNU GO 派生の GUI版も存在します。レベルの変更も行え、およそ8から12級の強さのユーザーと対戦可能です。
起動後 help と入力すると、ヘルプを参照する事が出来ます。デフォルトは、先手の黒ですが、 playwhite, playblack とすれば先手、後手の変更が行え、石の配置は、XY座標を入力して行います。
その他のコマンドを紹介
level num レベルの変更を行います。
komi コミ(ハンデキャップ) の設定が行えます。
goto num 指定した手まで戻る事ができます。
switch プレー中に黒(先手)白(後手)を入れ替えます。(ピンチ時、形勢逆転!)
handicap num ハンデキャップを指定出来ます。指定した値だけ事前に黒石が碁盤に置かれます。
(ハンデキャップをもらう方は常に後手(黒)です。)
showboard on/off 碁盤を表示、非表示します。
※ 黒石X白石O
$ sudo apt -y install gnugo
$ gnugo


black(1): help
Commands:
back Take back your last move
boardsize Set boardsize (on move 1 only)
comment Write a comment to outputfile
depth <num> Set depth for reading
display Display game board
exit Exit GNU Go
force <move> Force a move for current color
forward Go to next node in game tree
goto <movenum> Go to movenum in game tree
level <amount> Playing level (default = 10)
handicap <num> Set fixed handicap (on move 1 only)
freehandicap <num> Place free handicap (on move 1 only)
Omit <num> to place handicap yourself
help Display this help menu
helpdebug Display debug help menu
info Display program settings
komi Set komi (on move 1 only)
last Goto last node in game tree
pass Pass on your move
play <num> Play <num> moves
playblack Play as Black (switch if White)
playwhite Play as White (switch if Black)
quit Exit GNU Go
resign Resign the current game
save <file> Save the current game
load <file> Load a game from file
score Toggle display of score On/Off
showboard Toggle display of board On/Off
switch Switch the color you are playing
undo Take the last move back (same as back)
<move> A move of the format <letter><number>
White (O) has captured 0 pieces
Black (X) has captured 0 pieces
A B C D E F G H J K L M N O P Q R S T
19 . . . . . . . . . . . . . . . . . . . 19
18 . . . . . . . . . . . . . . . . . . . 18
17 . . . . . . . . . . . . . . . . . . . 17
16 . . . + . . . . . + . . . . . + . . . 16
15 . . . . . . . . . . . . . . . . . . . 15
14 . . . . . . . . . . . . . . . . . . . 14
13 . . . . . . . . . . . . . . . . . . . 13
12 . . . . . . . . . . . . . . . . . . . 12
11 . . . . . . . . . . . . . . . . . . . 11
10 . . . + . . . . . + . . . . . + . . . 10
9 . . . . . . . . . . . . . . . . . . . 9
8 . . . . . . . . . . . . . . . . . . . 8
7 . . . . . . . . . . . . . . . . . . . 7
6 . . . . . . . . . . . . . . . . . . . 6
5 . . . . . . . . . . . . . . . . . . . 5
4 . . . + . . . . . + . . . . . + . . . 4
3 . . . . . . . . . . . . . . . . . . . 3
2 . . . . . . . . . . . . . . . . . . . 2
1 . . . . . . . . . . . . . . . . . . . 1
A B C D E F G H J K L M N O P Q R S T
black(3): m12
White (O) has captured 0 pieces
Black (X) has captured 0 pieces
A B C D E F G H J K L M N O P Q R S T Last move: Black M12
19 . . . . . . . . . . . . . . . . . . . 19
18 . . . . . . . . . . . . . . . . . . . 18
17 . . . . . . . . . . . . . . . . . . . 17
16 . . . + . . . . . + . . . . . + . . . 16
15 . . . . . . . . . . . . . . . . . . . 15
14 . . . . . . . . . . . . . . . . . . . 14
13 . . . . . . . . . . . . . . . . . . . 13
12 . . . . . . . . . . .(X). . . . . . . 12
11 . . . . . . . . . . . . . . . . . . . 11
10 . . . + . . . . . X . . . . . + . . . 10
9 . . . . . . . . . . . . . . . . . . . 9
8 . . . . . . . . . . . . . . . . . . . 8
7 . . . . . . . . . . . . . . . . . . . 7
6 . . . . . . . . . . . . . . . . . . . 6
5 . . . . O . . . . . . . . . . . . . . 5
4 . . . + . . . . . + . . . . . + . . . 4
3 . . . . . . . . . . . . . . . . . . . 3
2 . . . . . . . . . . . . . . . . . . . 2
1 . . . . . . . . . . . . . . . . . . . 1
A B C D E F G H J K L M N O P Q R S T
GNU Go is thinking...
white(4): D16
White (O) has captured 0 pieces
Black (X) has captured 0 pieces
A B C D E F G H J K L M N O P Q R S T Last move: White D16
19 . . . . . . . . . . . . . . . . . . . 19
18 . . . . . . . . . . . . . . . . . . . 18
17 . . . . . . . . . . . . . . . . . . . 17
16 . . .(O). . . . . + . . . . . + . . . 16
15 . . . . . . . . . . . . . . . . . . . 15
14 . . . . . . . . . . . . . . . . . . . 14
13 . . . . . . . . . . . . . . . . . . . 13
12 . . . . . . . . . . . X . . . . . . . 12
11 . . . . . . . . . . . . . . . . . . . 11
10 . . . + . . . . . X . . . . . + . . . 10
9 . . . . . . . . . . . . . . . . . . . 9
8 . . . . . . . . . . . . . . . . . . . 8
7 . . . . . . . . . . . . . . . . . . . 7
6 . . . . . . . . . . . . . . . . . . . 6
5 . . . . O . . . . . . . . . . . . . . 5
4 . . . + . . . . . + . . . . . + . . . 4
3 . . . . . . . . . . . . . . . . . . . 3
2 . . . . . . . . . . . . . . . . . . . 2
1 . . . . . . . . . . . . . . . . . . . 1
A B C D E F G H J K L M N O P Q R S T
badgames
badgames は、NetBSD のゲーム集をLinux用に移植したゲーム集で、レトロなゲームが50種類遊べます。
※ NetBSD : UNIXライクなオープンソースのオペレーティングシステム
$ sudo apt -y install bsdgames
ゲームは、/usr/games/ 配下にインストールされるので、どんな名前のゲームがインストールされたか
ls コマンドで確認してください。
$ ls /usr/games/
badgames には、五目並べが含まれています。 操作方法は、囲碁と同じですが、起動直後にblack or white を選択します。

$ gomoku
:
6 . . . . . . . . . . . . . . . . . . . 6
5 . . . . . . . . . . . . . . . . . . . 5
4 . . . . . . . . . . . . . . . . . . . 4
3 . . . . . . . . . . . . . . . . . . . 3
2 . . . . . . . . . . . . . . . . . . . 2
1 . . . . . . . . . . . . . . . . . . . 1
A B C D E F G H J K L M N O P Q R S T
BLACK/??? vs. WHITE/???
black or white? black
A B C D E F G H J K L M N O P Q R S T # black white
19 . . . . . . . . . . . . . . . . . . . 19 22 J3
18 . . . . . . . . . . . . . . . . . . . 18 23 N7
17 . . . . . . . . . . . . . . . . . . . 17 24 O8
16 . . . . . . . . . . . . . . . . . . . 16 25 M8
15 . . . . . . . . . . . . . . . . . . . 15 26 K11
14 . . . . . . . . . . . . . . . . . . . 14 27 M9
13 . . . . . . . . . . . . . . . . . . . 13 28 M10
12 . . . . . . . . . . . . O O . . . . . 12 Illegal move
11 . . . . . . . . . O . * O . . . . . . 11 29 M7
10 . . . . . . . * O * * O . . . . . . . 10 30 M5
9 . . . . . . . . O * O * . . . . . . . 9 31 N8
8 . . . . . . . * * O O * * O . . . . . 8 32 O12
7 . . . . . . . O * . O * * . . . . . . 7 33 O6
6 . . . . . . . . . O O * . * . . . . . 6 34 N11
5 . . . . . . . . . . * O . . . . . . . 5
4 . . . . . . . . . * . . . . . . . . . 4 15 J8
3 . . . . . . . . O . . . . . . . . . . 3 16 H7
2 . . . . . . . . . . . . . . . . . . . 2 17 M11
1 . . . . . . . . . . . . . . . . . . . 1 18 N12
A B C D E F G H J K L M N O P Q R S T 19 J7
BLACK/you vs. WHITE/gomoku 20 K6
Ha ha, I won
replay?
その他 bsdgames のゲーム集の中で私が個人的におすすめなのは worm です。
上下左右でワーム操作して数字を食べます。食べた数字分ワームが長くなっていき、 壁もしくは自分自身にぶつかったらゲームオーバです。
$ worm
