“RUN” それは魔法の言葉

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

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

スコア表示が面倒なことに気づいた。

BASIC!では、フォントを指定してアプリに埋め込むことができたので、電卓で使われる7セグメント液晶風フォントをフリーで見つけて組み込み、表示していた。

しかし、HSP3Dishでは、フォント指定ができない。(通常のHSPは指定可能。HSP3Dishの制限事項になっていた。バージョン3.6では出来るようになる?)
なので、あらかじめ使用する文字を画像にして、それを表示するようにした。
幸い、ゲーム&ウォッチなので、0~9までの数字と、ゲームオーバー時に表示する文字列ぐらいで済む。

数字はサイズさえ決めてしまえば、等幅で切り出しができるので、celdiv命令で問題なく対応できる。
こんな画像を作って、配置することにした。
f:id:CORO3:20210409195940j:plain

スコアを表示するために、スコアの数字を文字列に変換したあと、一桁ずつ取り出し、対応する画像を表示するサブルーチンを作成した。
ゆくゆくは、他のプログラムでも再利用できるようにモジュール化したい。

	celload "digitalfont.png",7
	celdiv 7,26,32 ; 7セグメントフォントを分割*showscore ;スコアの表示ルーチン
	scrstr=str(score)
	for li,strlen(scrstr)-1,-1,-1
		pos 420-(strlen(scrstr)-li)*18,100
		celput 7,peek(scrstr,li)-48,0.6,0.6
	next

	return