“RUN” それは魔法の言葉

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

72.HSPでゲーム&ウォッチのファイアを作ろう その2

スマホにいちいち転送して動作を確認するのは面倒なので、まずはDishの作法で書きつつ、Windowsで動くようにする。
プログラムの冒頭には、Dishを使うおまじない。#include "hsp3dish.as" と書いておく。
celload命令で、画像を読み込んでおく。ここでは筐体と、救助隊の画像をそれぞれ読み込んだ。

救助隊の移動は、カーソルキーで行うようにする。
カーソルキーの判定を丸ごとサブルーチンにしておけば、あとでスマホのタッチ処理に切り替えるのも楽かな。

カーソルキーが押されたかを調べるには、stick命令を使う。
今回は、押しっぱなしにしていると、一度離して押し直すまで判定してほしくないので、シンプルに stick key だけ。(keyの後ろに連続押しの判定をしたいキーのビットを足した10進数を書くと設定できる)
カーソルキーの左右で、救助隊を動かす。

#include "hsp3dish.as"
	title "FIRE"
	celload "fire_bg.png",1
	celload "fire_player.png",2
  
	dim ppos,3 ;プレイヤーの表示座標
	ppos(0)=196:ppos(1)=258:ppos(2)=323
	px=0;プレイヤーの位置(0~2)
	
*main
	redraw 0

	pos 0,0
	celput 1;筐体表示

	gosub *playermove;プレイヤーの移動

	redraw 1
	await 1000/60

goto *main

*playermove
	;キーボード操作の判定
	stick key
	if key&1 : px=px-1;カーソル左
	if key&4 : px=px+1;カーソル右

	;プレイヤー位置の調整
	if px<0 : px=0
	if px>2 : px=2

	;プレイヤーを表示する
	pos ppos(px),207
	gmode 2:celput 2;透過PNGを表示するモードに変えて

	return

そうして動いたのがこれ。
youtu.be

Windows上で動くプログラムがこんなに簡単に作れるのか。
感覚は、まさにBASICと同じ。これは肌に合いそうな言語だ。