2進法のカウンタを使ったプログラム例です.ビスケットでは2進法のカウンタはすごく簡単につくれます.方眼紙のモードで作ります.
最初のメガネは湯船の上に湯気が1本出る,というもので,これだけだとこの位置に湯気が連続してずっとで続けます.次のメガネは,左側には湯気が2本重なって入っています.湯気が2本重なると1本になって隣に移るというものです.この2つのメガネで湯気が2進法のカウンタになります.
今回はしていた数でカウントがリセットされるというものに挑戦してみます.
湯船の隣に数が置かれています.3の場合は湯気が2になったところでリセットされます.4の時は湯気が3になったときです.8のときは湯気が7になったときにリセットされます.ここではわかりやすく,リセットされたときに音がでるようにしました.
横の数は,タッチで増えたり減ったりできるようにしています.3の上をタッチすると4に.4の上をタッチすると5に.8の下をタッチすると7に,変わります.
画面には
のように配置します.それぞれの数が示す回数ごとに音がなります.
プログラムはここにあります.
この動きをよく観察してみると,正確にその数になったときにクリアされているわけではないようです.それは桁上がりのために1ステップ必要で,たとえば数が7のときには110(並びは逆順)になったときにリセットになりますが,その並びになったときにはすでに次の湯気も生成されてしまっているということです.しかし,リセットは0を書き込むのではなく湯気を取り除くという作り方をしているので,その結果すでに追加された湯気の分は残っていて,結果的に周期はきちんと7になっています.つまり6から0に戻るのではなく,7から1とか,8から2という繰り返しになるようです.