cursesっていうターミナル表示の制御ライブラリ*1を使ってテトリスを作ってみてるのだけど、途中でエラーが起こったときにデバッグ表示が乱れる。特にマルチスレッドだと目も当てられない。そこでemacsでアタッチしてデバッグすると便利。

ちなみに↓がテトリスの動作風景。ソースはもう少し整理してから公開したいと思う。





開発してた時の手順 処理系はsbcl*2。quicklispを使っている。slimeもquicklispでインストールしてある。

環境は Mac (Mavaricks)、sbcl 1.2.11。

~/quicklisp/local-projects 以下にあるプロジェクトは設定なしに quicklisp で読めるので、

quickproject でこの下に作っている。mainという関数を作って export しておき、 $ sbcl --eval '(ql:quickload :tetris :silent t)' --eval '(tetris:main)' --quit という感じで走らせる。もしくは ( defun make-tetris-command ( &optional ( name "tetris" )) ( sb-ext:save-lisp-and-die name :compression t :toplevel #'main :executable t )) というのを作っておくと $ sbcl --eval '(ql:quickload :tetris :silent t)' --eval '(tetris:make-tetris-command)' でカレントディレクトリに tetris という実行ファイルを作れるので $ ./tetris で走らせられる。