はじめに
今回はRubyでcursesと呼ばれるものを使ってコンソール上でWASDと呼ばれるFPSとかによく使われる操作方法を実装する練習をします。


なかみ
まずは、Cursesのインストールです。
gem install surses
で、できました。

次に、コードを書いていきます。
キャプチャ



Rubyにおいて、Cursesはinit_screenとclose_screenが必要みたいで、その間でCursesは動くようです。
落書きのように書いたので読みにくいですが、コードは大きく分けて初期設定とWASDの定義になっています。
非常に簡単なコードなので、説明はほとんど省きますが、5行目のcbreakを行うことで入力がエンターを待たずにプログラムに渡されるようになります。
setposでカーソルの位置を移動させます。引数は行数と列数を意味するようで(5,5)は5行目の5列目という意味です。
addchで文字を出力します。
後は、それぞれの動作を定義します。
clearは画面の要素の消去と考えてください。

要は、キーを打つたび既にある+を消して座標を変え再び+を表示するということです。

結局、以下のように表示された+をWASDで動かすというプログラムができました。



キャプチャ
キャプチャ



おわりに
もっとうまい書き方があるはずです。
これを使ってコンソールで簡単なゲームが作れます。
reflashの使い方が分からない。