2015-10-01から1ヶ月間の記事一覧
これまでは、HSPで作られたシューティングゲーム2本をcommon-lispでリメイクしてみた。 lispbuilder-sdlは結構便利で、若干古さは否めないものの簡単なゲームを作るには十分だと感じた。 だけど、グラフィックスと言えばopenGLは外せない。 なので、どこま…
最後はお約束のasdfを使うためのパッケージ化。 package.lisp ⇒ ;;;; package.lisp (defpackage :game (:use :common-lisp :lispbuilder-sdl :sprite-sheets :map-list :enemy-map-list :audio-list :move-pattern :shot-data) (:nicknames :shooting) (:exp…
弾幕の作成では一気に突っ走った。 今回、目的としていたプログラムは以下のとおり。 なお、このプログラムを動かすための必要なファイルは過去のブログで作成しているため、遊んでみたい方は参照してくださいな。ab-stage13.lisp⇒ ;;;; The Common-Abogadro…
Stage1のボスキャラの弾幕(ショットパターン:6、7) Stage2のボスキャラの弾幕(ショットパターン:8、9、10) ※8と9は32方向に円形の弾幕を張り、10はshipに向かって10連発 ミドルクラスの敵の弾幕(ショットパターン:3、4) ※3は回転しながら4方向に5連…
参考にしているサイトのショットパターンをそのまま利用するのが近道と判断し、それをLispで記述した。 当初考えたとおり、ショットパターンの構造体を作りそれを配列にしてみた。 なお、HSPでは360度を256分割した数値で表現しているため、それを考慮して数…
Stage12では、shipが敵や敵弾と衝突したときのプログラムを組みこんでみる。 また、STAGEが切り替わるためには、デカキャラを倒す必要があり、普通の敵より激しい爆発として作成したのが以下のプログラム。 これで「ほぼ」完成!(弾幕を除き) ;; Step12 <Ship Hit P> ;;</ship>…
Stage11では、左Shiftキーを押すと敵と敵の弾が全て破壊され、爆発するような関数を組み込むことにする。以下のプログラムでは、bomb-managerクラスの作成と、shipが爆発中でなく且つボムが残っていて爆発中でない時に左Shiftキーを押すと、ボムが爆発してボ…
まだ、衝突判定やオプションのボムを組み込んでいないが、一旦プログラムの全体像を見てみる。 ※OSが7から10に変わったことで、それまでemacs+slimeで動作の検証に使っていたCCLが起動しなくなった。 こんな感じ! Can't allocate required TLS indexes. Fir…