emacsで暇つぶし



emacsはミニゲームの宝庫

みなさんは emacs を使っているでしょうか。この Lispインタプリタ、wl や mew や gnus、navi2ch を動かせるだけじゃないんですよ。プログラムあるところ、必ずゲームあり。当然、emacs上でも動くゲームはけっこうあります。

春休みに入ると、ちょっとした空き時間、というものができやすくなると思います。今回は、emacsでできる数々のゲームたちをご紹介しましょう。

ここに掲載されているゲームは、いつでも C-x k (kill current buffer) で問答無用で終了できます。覚えておくと良いでしょう。

この記事を書くのに大変参考にさせていただいたたのが、MYCOM PC WEBのコラム「OS X ハッキング!」の記事です。ここで紹介されたゲームを実際に遊んでみた、というのがこの文書の主旨だったりします。なお、ここでは扱いませんが、標準で入っているゲームのほかにも、たとえば「gnyognyo」なんていうゲーム(広瀬雄二さんのページで入手可能)が配られていたりもするので、とってもお暇ならこういうものもお試しください。

今回の原稿がとっても遅れた原因の一つは、わたしがゲームばっかりやってちっとも原稿を書かなかったことにあります。論理的思考を養成する、とか、図形認識能を鍛える、とか、そんなことばっかり言ってはまり過ぎないように…。お気をつけ下さい。

目次

待ち合わせのときにはテトリスで遊ぶ

一昔前、一世を風靡した「たまごっち」に便乗して、小型の携帯ゲームがおおいにはやったことがありますね。その中でもひときわ多く目に付いたのがこのゲーム、テトリスです。短い時間でぱっと遊べてぱっと決着、待ち人が来たら即座にやめられる切れの良さが身上です(まあ、性格にもよりますが)

実行のしかたは簡単。emacsが起動している状態で、 M-x tetris と入力するのです(つまり、押すキーは順に、[Esc] [x] [t] [e] [t] [r] [i] [s] [Return])。

テトリスで遊ぶためのキー入力。M-x tetrisと表示されている状態

味気なくはあっても基本をがっちり押さえた画面が出てくると思います。操作のしかたは簡単。左右の矢印で移動、上下で回転、spaceで即座に落下、です。これ以外の操作はありません。

ゲーム中の画面。テトリスの。

終了のしかたは、たぶん「file」メニューにある「kill current buffer( C-x k )」です。

いっちゃった精神科医に見てもらう

ストレスのたまることの多い都市生活。たまには実家に帰ってこたつでミカンを食べながら「のど自慢」でもみて暮らしたいなと思うこともあるでしょう。そんなときはこれでいやされましょう。emacs上で、 M-x doctor です。

サイバー精神科医、見参。

英語のスキルがいくらか必要ですが、すぐさま優秀な人工知能であるドクターがあなたを診察してくれます。いちいち突っ掛かってくる物言いがちょっとだけ癇に障りますが、ま、いやされます。これ以上解説することはありませんな。

蛇使いになる

今度のこれは正統派ゲームです。とりあえずやってみましょう。emacs上で、 M-x snake です。(下のスクリーンショットは実はxemacsのものですが、基本は同じです)

サイバー蛇、見参。

ルールは簡単、カーソルキーの上下左右で蛇の進行方向を操作して、壁や自分の体にぶつからないようにします。蛇のしっぽからたまに出てくるもの(うんこ…?)を回収していくと、点数がのびていき、いつのまにか自分の体の長さものびていきます。蛇の頭を狙った通りに操作できるようになれば、もうハイスコアは確定です。

「ハノイの塔」が出来上がるさまを眺める

暇でしょうがない。頭を使うのは嫌だ。ただただぽーっとしていたい。そんなあなたにお勧めなのが、「ハノイの塔」。「ハノイの塔」自体がどんなパズルなのかはGoogle検索 [ハノイの塔]にお任せすることにして、とりあえず鑑賞してみましょう。emacs上で、 M-x hanoi です。

パズル「ハノイの塔」をemacsがといてくれる

プログラムが始まると、パズルが勝手に解かれていきます。生産性も何もない、ただ流れていく時間。

標準の塔の高さじゃ物足りない、という人のために、塔の高さを指定する機能がついています。例えば C-u 9 M-x hanoi として「ハノイの塔」をはじめると、高さが9段になったパズルになります。

なお、同様のものに「life ( M-x life)」もあります。

算数パズル「覆面算」

あなたが算数博士ならば、これです。 M-x mpuz

算数パズル

「A」欄に「1」を入れたいときは、「a 1」とします。やり方はそれだけです。簡単な問題の場合は、ノーミスでクリアできます。

奇妙な世界を世界を探険する

ロールプレイングゲームが大好き、でもお金がないので何も買えない。グラフィックばかりにこだわって、肝心のストーリーが感動を呼ばない最近のゲームに憤りを感じている。そんな硬派なあなたにはこれ、「dunnet」がお勧めです。 M-x dunnet としてもいいですが、emacsが起動していない状態で「emacs -batch -l dunnet」とするほうがいいらしいです。

恐怖のRPG、dunnet

最初に、あなたが道の終わりにいて、等間隔に並んだ3本のローヤル・パームがたっていることが説明されます。さあ、あなたはどうする? …って言われても、何をすればいいやら分かりませんよね。でも、この「何をすればいいのか分からな」さ加減がこのゲームの真骨頂と言えます。

いくつか例を示しておきましょうか。まず、ここでできることをいくつか。落ちている「shovel」を調べてみましょう。「examine shovel」してみてください。拾うには、「get shovel」です。木登りがしたかったら、「climb the tree」。英語に自信がない、という人でも、思い付く単語を頑張って総当たりしていけば、けっこう当たるものです(さっきの例では、climbとするだけでも実は登れます)

その他、throwdropputgo、などの動作が認識されるようです。知っておくと便利なのは、その場所の様子を知る「describe」、セーブする「save [filename]」、ロードする「restore [filename]」、手がかり満載のヘルプ「help」でしょうか。何度も死ぬでしょうが、何度もチャレンジして、心行くまで不思議な世界を楽しんでくださいね。

どうしても次にどうすればいいか分からないときには、攻略本を見てみましょう。あなたがちょっとしたハッカー気取りであれば、/usr/share/emacs/20.7/llisp/playあたりを探すとdunnet.el(プログラム)が見つかるかもしれません。ただ解き方だけを知りたい軟派な方は、Google検索 [spoiler emacs dunnet]してみると、たぶん数少ない資料が見つかるはずです…

ブラックボックスの内部構造を調べる

そろそろ本格的に暇になった。生活にスリルがない。そんな時は頭脳を酷使するスリリングなゲームが一番です。 M-x blackbox ではじめられます。これは、ブラックボックスにX線を当てて、その反射のしかた、あるいは吸収のしかたを観測することによって内部を調べるゲームです。

中はどうなっているのだろう?

詳しい説明はヘルプ (blackboxを既にはじめている状態で M-x describe-mode ) に譲りますが、基本的な遊び方は、こうです。

まず、ブラックボックスの外側から適当にX線を発射(space)します。すると、中に何があるかによって発射した場所にマークがつきます。見事に「ball」に当たって吸収されたときには「H」、どこをどうやってか反射して戻ってきたときには「R」、再びどこかブラックボックスの外側でそのX線が観測されたときにはその発射地点と観測地点に同じ「番号」が、それぞれ表示されます。

X線は、ballの右上、右下、左上、左下を通るとその地点で90度屈折する性質があるので、それを考えて中にあるballの位置を当てていきます。「ここにありそうだ」というところに space を使って「O」のフラグをたてていきます。4つ全部を予測しおわったら、 Return で実際に分布を見てみましょう。正解が多いほど、また発射したX線の本数が少ないほど、スコアが低くなります。奇跡の低スコアを目指して、頑張ってください!

このballの数も開始時に指定することができます。 C-u 10 M-x blackbox としてみてください。

五目並べ、する。

M-x gomoku ではじめられます。

五目並べ。

説明不要。操作は、 space で石を置くのみ。御存じの通り、シンプルなルールの五目並べでは先手が有利なので、ご注意を。

ぴょんぴょんソリティア

Windowsユーザーなら、ソリティアといわれるとカードゲームのほうを思い起こすかもしれませんね。このゲームは元々監獄の中で退屈しのぎに考案されたゲーム、だとかなんとか(読者に問いますが、あなたは監獄にいるほど暇なんですか? なーんて) M-x solitaire ではじめられます。

石をいかに消すか? いかに動かすか?

(o)が石を飛び越えると飛び越えられた石は消滅します。ただし、一度に飛び越えられるのは石一つだけで、方向も縦横のみ、飛び越えた先が穴(.)でなければなりません。最終的に石をたった一つにし、それが盤面の中央にくるようにできればゲームは終了です。

文責:浅利 尚志 (あさり たかし)


Last modified: Friday, 07-Nov-2003 19:09:34 JST
www-sodan-admin{atmark}sodan.ecc.u-tokyo.ac.jp
筝荐≪鴻泣ゃ吾≪
<若梧篁茵c障
Sodan
© 1998-2009, ECCS Tutors