Emacsでゲームしよう
SLP Advent Calendar用に記事書きます。
先月は5つくらいなら記事書けそうな気がしたんですが、
いろいろイベントがあるうちに、どんなネタがあったか忘れてしまった..orz
相変わらず何かをしていると何かを忘れる鳥頭です。
皆さん、思いついたことはとりあえず何かにメモしておきましょう。
何書くか迷ったんですが、そういえば前のLTで次回Emacsについてするって言ってたし、
それ消化しようかと思い、Emacsについてしてみることにしました。
今回は、Emacsを知らない人のために、Emacsの説明をた後で、
最近僕がハマっているEmacs上のゲームをいくつか紹介したいと思います。
Emacsとは
Emacsとは、世界で最も優れたエディタです。
え?V●●?なにそれ美味しいの?
と言うのは冗談です。とりあえずお約束です。
よく話には聞くと思いますが、EmacsはVimと双璧を成すと言われるテキストエディタです。
たまにEmacsはエディタではなく環境と言われますが、
確かにEmacsの拡張性はエディタの範疇を超えてるといわれるほど高いです(ドヤ。
Emacsの特徴としては、以下のようなものがあります。
- 豊富なコマンドがある
- 様々なプログラミング言語に対応している
- 高い拡張性を持つ
当然他にもいろいろありますが、とりあえず分かりやすいかと思うものを挙げました。
とりあえず、エディタ使っててこれ出来ないかなって思ったものは大抵出来ます。
Emacsを使って皆さんも幸せなエディタライフを送りましょう。
Emacsの操作方法
Emacsを起動するには、プロンプト上でemacsと入力します。
Emacsのコマンドは、主にControlキーとMetaキーを用いて入力します。
Metaキーは、ほとんどのキーボードには付いてないので、Altキーで代用します。
Tera Termを使ってる場合は、設定 > キーボードを開いて、Metaキーにチェックをつけることで、AltキーをMetaキーとして使えます。

また、Controlキーを押しながらaを押すなどという動作は、C-aと書きます。
Emacsを終了する場合は、C-x C-cと入力します。
Emacsの基本操作は、M-x help-with-tutorial-spec-languageと打って、その後Japaneseを入力すると、
日本語チュートリアルが始まります。これを終えると、基本的な動作はマスターできます。
Emacs標準搭載のゲーム
それでは、Emacsが標準で搭載しているゲームをいくつか紹介します。
基本的に、M-x <ゲーム名>でゲームを始め、C-x kで終了することが出来ます。
1.スネーク
M-x snakeで、snakeを遊ぶことが出来ます。snakeは、tronのようなゲームです。
方向キーで蛇を操作し、壁や自身にぶつからないようにするゲームです。
蛇の後ろから物体が出現するので、そのう●こを集めてスコアをアップさせましょう。

2.テトリス
M-x tetrisで誰もがご存知テトリスを遊ぶことが出来ます。
方向キー上下で回転、左右でブロックを移動、スペースで落下させることが出来ます。
僕はこういうタイプのゲームは苦手で、すぐ死んでしまいますね...

3.ハノイの塔
C-u <数字> M-x hanoiで、指定した数の段のハノイの塔が完成するまでを眺めることが出来ます。
眺めるだけです。癒されますね。やっぱりEmacsって素晴らしい。

4.五目並べ
M-x gomokuで五目並べができます。日本人なら誰でもご存知ですね。
これはカーソルを動かして石を置いていくだけです。
ちなみに僕はこのAIに勝ったことがありません()。

最後に
今回は簡単なものをいくつか紹介しました。
他にも標準搭載されているものや、拡張で出来るゲームがたくさんあります。
勉強にもメモにも遊びにも、何でも出来るEmacs、皆さんぜひ使いましょう。