“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

213.HSPでLCDゲームを再現しよう:モンスターパニック その2

液晶とセロファンの切り出しに時間がかかったので、すぐに作成開始とはいかなかった。
任天堂製のゲーム&ウォッチと違い、液晶全点灯が無いだけでこれほど苦労するとは…

それでもなんとか切り貼りしつつ作り始めることができるようになった。

まずは、プレイヤーの移動から作成することにした。
モンスターパニックは、大きく三つの階層がある。
スタートして、フランケンシュタイン、ドラキュラ、半魚人が出てくる第一階層。
爆弾をこれでもかと投げつけてくるミイラ男が出てくる第二階層。
ガイコツと剣で戦い、脱出する第三階層。
それぞれアクションが違う。本当によくできたLCDゲームだ。

まず、第一階層のプレイヤーの移動から作成する。

第一階層のパターン

プレイヤーが移動するポジションは、全部で6か所。

移動ポジションは6か所

スタートの位置から右に移動したら、戻れなくなる。そして、2分動かなければ、巨人の足に押し出される。
とりあえず、巨人の足は後で作るとして、初期値が0で、右に進んだあとに左のボタンを押しても戻れないように判定処理を加える。
右に進んでいき、はしごのところ、半魚人が出てくる池があるが、右ボタンを押すとミスになる。ミスの処理も後回し。
はしごのところでジャンプボタンを押すと、はしごを登って第二階層に進む。

4つのキーが十字に配置されているので、windows版では、カーソルキーの上下左右を割り当てることにした。
stick命令でサクサク取って、判定するだけのソースは、このブログでは何度も出てきているので略。

まだ第一階層なのに、これに加えてアクションボタンの操作がある。
ドラキュラと半魚人は、タイミングよく移動して、アタックボタンで撃退できる。うん。昔のゲームウォッチなら、この第一階層だけでゲームになるな。

ということで、アタックボタンを押すと、十字架、ナイフを出すのだが、十字架とナイフだけを別表示するのは面倒なので、プレイヤー画像を二段にした。

通常は一段目の画像を表示。アタックボタンを押すと、フラグを立てて二段目の画像が表示されるようにした。この辺はいつもの論理式を使って実現。
三階層分で処理がそれぞれ違うので、判定処理はswitch文で分岐させることにした。

;プレイヤーを表示する
 gmode 2
 switch hei
  case 1: ;第一階層
   pos pposx_h1(ppos),pposy_h1(ppos)
   celput 4,ppos+(attack_flg=1)*6
   swbreak
  case 2: ;第二階層
   …
 swend

これで、移動とアタックのアクション作成まで終わり。