« [奮闘記]計算式と条件式(その1) | トップページ | [奮闘記]2点間の距離を算出するのだ »

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

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


*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

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

« [奮闘記]計算式と条件式(その1) | トップページ | [奮闘記]2点間の距離を算出するのだ »

1.奮闘記」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67538/57445602

この記事へのトラックバック一覧です: [奮闘記]実はそんなに難しいことではなかった、カーソルで動くわけ:

« [奮闘記]計算式と条件式(その1) | トップページ | [奮闘記]2点間の距離を算出するのだ »