実はそんなに難しいことではなかった、カーソルで動くわけ

再度確認の意味で、例の部分を書き出しましょ。


*JIKI
	STICK PAT,15
	XV=(PAT>>2&1)-(PAT&1)
	YV=(PAT>>3&1)-(PAT>>1&1)
	MX=XV*MOVE+MX : MY=YV*MOVE+MY
	IF MX<0   : MX=O
	IF MX>566 : MX=566
	IF MY<0   : MY=0
	IF MY>364 : MY=364
	POS MX,MY : GMODE 2 : GCOPY 2,0,0,32,32
RETURN

※ MX , MY ・・・ 自機の座標
※ MOVE ・・・ 自機の移動速度

んで、STICK命令で返される値が次の通りね。

1 2 4 8

じゃ、これをそのまま2進法で表記してみましょ。

%0001 %0010 %0100 %1000

全部違う桁の数字が1になってるよね?要はこれがスイッチなわけ。一番右の桁は「←」のスイッチ、右から2つ目の桁は「↑」のスイッチになってると。そう考えると、「←↑」同時押しの場合でも、ちゃんと異なった値が出てくるのってむしろ自然なことなんだよね。仮に日本語106キーボード全てのキーを全ての組み合わせで判定させようと思ったら、2進法で106桁あれば全部の組み合わせが判定できるわけだ。

・・・ん?2進法で106桁???

2106=81129638414606681695789005144064


・・・コンピュータって偉いね^^;

前のページへ戻る 奮闘記メニューへ戻る 次のページへ進む