@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

Emacsで遊ぶ

Emacs Advent Calendar 2016 - Qiita 6日目のpeccuです。 5日目は yoshitiaさんの evil-modeのelispをちょっと覗いてみる - yoshitia’s diary でした。 明日はsylxさんのEmacsでライブコーディングする(仮)です。

普段からEmacsを便利に利用しているのですが、その学習曲線のせいであまり人に勧めようとは思えません。

from: Text editor learning curves

また、Emacsで利用している機能を紹介するとよく、「それ〇〇でもあるよ」(〇〇=vimAtom、VS Code、Sublime Text、...)と言われるので、 これはないだろうという内容としてEmacsで遊ぶ方法を少し紹介します。(もちろんvimには以下のものの多くは存在すると思います)

EmacsWiki: Category Games 載っている内容のピックアップですが、 文字だけでわかりにくいので、スクリーンショットをつけて紹介します。 これらがEmacsには標準装備されています。

テトリス

ブロックが落ちてくるあれです。

  • 起動方法 : M-x tetris
  • 操作方法 :
キー 操作
左右キー テトリミノの移動
上キー テトリミノの回転
下キー テトリミノの移動
スペースキー テトリミノを一番下に落とすあれ

f:id:peccu:20161129153115p:plain

五目並べ

五目並べです。Emacsの"AI"と戦えます。

  • 起動方法 : M-x gomoku
  • 操作方法 :
キー 操作
上下左右キー カーソルの移動
スペースキー OかXを置く

f:id:peccu:20161129153206p:plain

あ、負けた。。。

f:id:peccu:20161129153239p:plain

ライフゲーム

眺めるだけです。たぶん。

f:id:peccu:20161129153320p:plain  

snake(名前忘れた)

蛇を操作して壁や自分にぶつかるとゲームオーバーになります。

  • 起動方法 : M-x snake
  • 操作方法 :
キー 操作
上下左右キー へびの移動

へびの通り道に赤いマスができ、このマスを通過した数がスコアとなります。

f:id:peccu:20161129154146p:plain

掛け算パズル

掛け算の筆算の穴埋めパズル。難しい。。。

  • 起動方法 : M-x mpuz (multiplication puzzle の略ですね)
  • 操作方法 :
キー 操作
a〜zキー それぞれの文字に入る数字を答える

f:id:peccu:20161129154353p:plain

Aに入る数字を答えるときにaキーを押して、数字を入力する。という流れで全ての文字を答えられれば正解です。

黄色い四角はタブ文字を可視化する設定のせいです。

ピンポン

ホッケーのようなピンポンのようなものです。

  • 起動方法 : M-x pong
  • 操作方法 :
キー 操作
上下キー 右側プレイヤーの操作
左右キー 左側プレイヤーの操作

f:id:peccu:20161129154412p:plain

ソリティア

Windows付属のゲームではなくビー玉を動かすボードゲームの方です。peg solitaireでググった方がわかりやすいです。

  • 起動方法 : M-x pong
  • 操作方法 :
キー 操作
上下左右キー カーソルの移動
シフト+上下左右キー ビー玉の移動

f:id:peccu:20161129154431p:plain

. が空きマスで、o がビー玉のあるところ。 ビー玉を飛び越えるように動かして空きマスに移動させると、飛び越えられたビー玉を取り除けます。

上の図で空きマスの二つ右のビー玉を空きマスに移動させるとこうなります。飛び越えられたビー玉が取り除かれています。

f:id:peccu:20161129154448p:plain

これを繰り返してビー玉が一個になればゴール。だったと思います。

まとめ

他にも人工無脳と呼ばれている M-x doctorやテキストダンジョンアドベンチャー M-x dunnet などもあります。 Emacs標準でこれだけ遊べます。

他にも標準でなければ id:kiwanami さんのFPSもありますね。もう5年以上前なんですね。。

3D maze by Emacs (single player) - YouTube

Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami

いろいろできますので、(自戒も込めて)遊びすぎないように気をつけてくださいね。