“RUN” それは魔法の言葉

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

86.HSPでゲーム&ウォッチのヘルメットを作ろう その4

次は事務所のドアの開閉処理を作る。
GAME Aは10秒、GAME Bは5秒間隔で開閉を繰り返す。

1/60秒単位でのループは、基本的に変えないので、ゲーム内カウンタを利用して、固定値で、300ごとに開閉を繰り返すようにした。
とりあえずこれで、5秒間隔で開閉はするようになった。GAME AとGAME Bでの違いは、この後作ることにする。

*showdoor ;ドアの開閉 
  if gamecnt\300 {
    doorflg=doorflg^1
  }

  pos 648,332
  celput 3,doorflg

  return

doorflg=doorflg^1 は、論理式のXORを実行している。
XORは、排他的論理和というもので、小難しく聞こえるけど、どっちも同じ値なら0に、違っていたら1になる。だから、1とのXORを取ると、0→1→0→1→…と、オンオフを繰り返すような数字の動きになる。

やっかいなのは、ミス時や、ボーナスのミスクリア時にも、開閉は継続するってところだな。
このあたりは、あとで作り込むことにした。