IchigoJam で「こずめぐ」みたいなやつがスロット形式で出てくるやつを作ってみた。
※IchigoJamはjig.jpの登録商標です。
「こず」「めぐ」「つづ」「さや」「かほ」「るり」「さち」
の7種類からスロット形式で2種類を選び、「こずめぐ」みたいな文字列を作り出す。
同じものは選ばず、必ず2種類を選ぶようにした。
プログラム
10 ' コズメグ テキナヤツ スロット
20 POKE #700,0,124,0,0,64,128,126,0,10,254,40,72,56,8,48,0,72,92,106,170,178,162,76,0,4,24,106,128,96,24,4,0,0,60,194,2,2,4,56,0,10,60,194,2,2,4,56,0,8,254,8,116,140,64,56,0
30 POKE #738,72,92,234,34,36,16,16,0,32,244,42,74,72,136,176,0,190,136,190,136,184,204,186,0,124,16,60,66,178,74,60,0,88,100,68,68,4,8,48,0,8,254,8,116,140,64,56,0,32,254,32,92,98,4,56,0
40 VIDEO 5:CLS
50 A=0:B=1:C=-1:D=-1:E=1:F=1
60 IF A<>C THEN LOCATE 2,2:PRINT CHR$(#E0+A*2,#E1+A*2);:C=A
70 IF B<>D THEN LOCATE 4,2:PRINT CHR$(#E0+B*2,#E1+B*2);:D=B
80 WAIT 1
90 K=INKEY()
100 IF K=SPACE AND E AND F THEN E=0:F=0
110 IF K=LEFT OR K=#5A OR K=#7A THEN E=1
120 IF K=RIGHT OR K=#58 OR K=#78 THEN F=1
130 IF E AND F THEN GOTO 80
140 IF E THEN B=(B+1)%7:B=(B+(A=B))%7:GOTO 60
150 IF F THEN A=(A+1)%7:A=(A+(A=B))%7:GOTO 60
160 A=(A+1)%7:B=(B+1)%7:B=(B+(A=B))%7:GOTO 60
このプログラムは、CC0 1.0 でライセンスする。
操作方法
- スペースキー:スロットの回転を開始する
- 左矢印キー / Zキー:左側の回転を止める
- 右矢印キー / Xkー:右側の回転を止める
実行結果例
解説
10行目:タイトル
FILES
対応のタイトルである。
20~30行目:フォント定義
美咲フォント (美咲ゴシック第2) から、使う文字をピックアップしてキャラクターパターンとして登録している。
40~50行目:初期化
画面および状態の初期化を行う。
変数の役目は以下の通りである。
変数 | 役目 |
---|---|
A | 左側で選択されている文字列を表す |
B | 右側で選択されている文字列を表す |
C | 左側で描画されている文字列を表す |
D | 右側で描画されている文字列を表す |
E | 左側の回転が停止中かを表す |
F | 右側の回転が停止中かを表す |
K | 入力されたキーを表す |
60~80行目:描画
選択されている文字列と描画されている文字列が異なる場合、描画されている文字列を更新する。
90~120行目:操作受付
キー入力を受け取り、対応する処理を行う。
IchigoJam ではデフォルトではUART経由で矢印キーが使えないので、ZキーおよびXキーでも停止操作をできるようにした。
130~160行目:回転制御
回転が停止中でない場合、次の文字列を選択する。
その結果選択が他方と被る場合は、さらに次の文字列を選択する。