Lisp Game Programming <Step1>
ボケ予防にCommon Lispで簡単なゲームを作ってみることにした
分かりやすいサンプルゲームを見つけたので、作者に了承を得て移植してみる
http://mclass13.web.fc2.com/hspstudy/shooter1.htm
但し、分かりやすさを重視してマクロは使用せず、後の楽しみに取っておく
まずは、Common Lisp で作成するための環境を整える
1.OS windows 7 (64bit)
2.Tools Emacs-24.2 + sbcl -1.1.12 + slime-2.8 + lispbuilder-sdl-0.9.8.1 +
lispbuilder-sdl-ttf -0.3.0 + lispbuilder-sdl-mixer-0.4 + lispbuilder-sdl-image-0.5.0
alexandria-2008-07-29 ,babel_0.3.0,cffi_0.10.7.1,trivial-features_0.7は必須
⇒ babel_0.4.0はインストールエラー発生
⇒ cffi_0.13.0はプログラム実行時にワーニング発生
;; STYLE-WARNING:;; bare references to struct types are deprecated
3.Reference Documents
<Emacs>
http://cha.la.coocan.jp/doc/NTEmacs.html
<slime>
http://common-lisp.net/project/slime/
<sbcl>
http://www.sbcl.org/platform-table.html
<lispbuilder-sdl>
http://lispbuilder.sourceforge.net/lispbuilder-sdl.html
<alexandria>
http://www.cliki.net/alexandria
<babel>
http://www.filewatcher.com/m/babel_0.3.0.tar.gz.91665-0.html
<cffi>
http://www.mmnt.net/db/0/0/ftp.ne.jp/040/lang/lisp/common-lisp.net/cffi/public_html/releases
<trivial-features>
http://www.cliki.net/trivial-features
インストール方法や開発環境の構築方法は様々なサイトから拾ってきたが、このやり方がcoolだと思う
http://redplait.blogspot.jp/2012/03/installing-ecl-on-win32.html
以下は、ウィンドウを出すだけのゲームフレームのプログラム
⇒ step1.lisp
;;;;The Common-Shooter
;;; Step1 <Game Frame>
;; Step1 <Game Frame>
;; -----------------------------------------------------------------------------------------------
(defun Common-shooter ()
"main routine"
(sdl:with-init (sdl:sdl-init-video sdl:sdl-init-audio) ; use video and audio
(sdl:window 640 480 :position #(192 50) ; size 640*480, position x(192) y(50)
:title-caption "THE SHOOTER"
:icon-caption "THE SHOOTER"
:double-buffer T)
; :fullscreen T)
(sdl:update-display)
(sdl:with-events (:poll)
(:quit-event ()
t)
(:idle ()
; Game body
(sdl:update-display)))))