ブックマーク / sile.hatenablog.jp (1)

  • マインスイーパー - sileのブログ

    端末上で動作するマインスイーパーをCommonLisp(SBCL)で実装してみた。 github: cl-mine-0.0.2 端末操作 端末操作部分のソースコードは以下のような感じ。 基的には端末のエスケープシーケンスで(カーソル移動や画面クリア、文字色等の)制御を行っている。 ただ、キー入力をリアルタイムで取得可能にするのはエスケープシーケンスでは無理そうだったので、その部分はtcsetattr等のシステムコール(?)を使用している。 (defpackage console (:use :common-lisp :sb-alien) (:shadow :common-lisp format) (:export with-raw-mode clear move set-pos format newline formatln style)) (in-package :console) ;

    マインスイーパー - sileのブログ
  • 1