HSPTVブラウザが無い方へEXE版を用意しました

デバッグ用のソースから作成した粗末なものです。「HSP知らない。カゴメってどんなの?」という方は、遊んでもらえると嬉しいです。

開発時(2009/8/11)のKagome
kagome0811の画像

データ表現

ブロックのデータを二進数で表現する
データのイメージ画像

当初は罫線ブロックの判定をS-JISコード順(━ ┃ ┏ ┓ ┛ ┗ ┣ ┳ ┫┻ ╋)に1〜11を割り当てて管理してました。しかしファイルサイズが応募規定の6000byte近くなったので、2ビット表現を使うようにしました。右,下,左,上の順に1,2,4,8を割り当て罫線ブロックの線と対応させ、回転処理や描画処理さらに消去判定処理を大幅にダウンサイズ(5800byteから3800byteに)する事が出来ました。


回転処理

上記の通りだったので以下のコードを書いていました。

// 左クリック(時計回り)
if keybuf&256 {
	if block(x,y)=1 {
		block(x,y)=2	; ━ → ┃
	} else : if block(x,y)=2 {
		block(x,y)=1	; ┃ → ━ 
	} else : if block(x,y)=3 {
		block(x,y)=4	; ┏ → ┓
	} else : if block(x,y)=4 {
		block(x,y)=5	; ┓ → ┛
	} else : if block(x,y)=5 {
		block(x,y)=6	; ┛ → ┗
	} else : if block(x,y)=6 {
		block(x,y)=3	; ┗ → ┏
	}
}

これではif..else文と配列アクセス(dup命令でも回避できた)に容量が取られていたので、どうにか1つの式で表現できないものかと考えました。


紹介動画



inserted by FC2 system