クレーンゲームの景品として、○や×で正解・不正解を示すやつと思われるものが入っているのを見かけた。
これの獲得を狙うより、IchigoJam で再現してみるほうが有意義だと判断した。
というわけで、作ってみた。
※IchigoJamはjig.jpの登録商標です。
操作方法
キー | 動作 |
---|---|
O (オー) | ○を表示し、「ピンポン」という音を鳴らす |
X (エックス) | ×を表示し、「ブー」という音を鳴らす |
その他 | 画面の表示を消す |
プログラム
10 ' ピンポン / ブー
20 POKE#700,0,0,0,0,0,1,1,2,0,7,24,96,128,0,0,0,0,224,24,6,1,0,0,0,0,0,0,0,0,128,128,64,2,4,4,4,4,4,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,32,32,32,32,32,32,64,2,1,1,0,0,0,0,0,0,0,0,128,96,24,7,0
30 POKE#750,0,0,0,1,6,24,224,0,64,128,128,0,0,0,0,0,0,4,2,1,0,0,0,0,0,0,0,0,128,64,32,16,0,0,0,0,1,2,4,8,0,32,64,128,0,0,0,0,0,0,0,0,0,0,0,0,8,4,2,1,1,2,4,8,16,32,64,128,128,64,32,16,0,0,0,0,0,0,0,0
40 POKE#7A0,0,0,0,0,1,2,4,0,16,32,64,128,0,0,0,0,8,4,2,1,0,0,0,0,0,0,0,0,128,64,32,0:FORI=0TO23:POKE#800+I,#E0+I:NEXT:VIDEO7:CLS
50 K=INKEY()
60 IF K=ASC("O") OR K=ASC("o") COPY#900,#800,12:PLAY"O5E32.R64C16.":GOTO50
70 IF K=ASC("X") OR K=ASC("x") COPY#900,#80C,12:PLAY"O2B4":GOTO50
80 IF K CLS
90 GOTO50
解説
まず、VIDEO 7
の画面 (4×3文字) で表示することを前提として、○と×を描いた32×24ピクセルの画像を用意し、これをキャラクターパターンとして登録する。(20~40行目)
次に、COPY
命令で画面の内容を設定できるよう、文字のデータを用意しておく。(40行目)
指定のキーが押されたら、COPY
命令で○または×を表示する用の文字データを画面に書き込み、PLAY
命令で音を鳴らす。(60~70行目)
○と×の表示
まとめ
IchigoJam で、キー操作によって画面に○や×を表示するとともに、ピンポンやブーの音を鳴らすものを作ることができた。
応用例としては
- キーのかわりに入力ポートを用いて操作する
- 「別のキーを押す」ではなく「キーやボタンを離す」ことで画面をクリアする
- PanCake を用いた音や表示の改善
- WS2812B 系のLEDを用いた演出
などが考えられるだろう。これらは読者への宿題とする。