0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IchigoJamAdvent Calendar 2023

Day 9

IchigoJam で「こずめぐ」みたいなやつスロット

Posted at

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行目:回転制御

回転が停止中でない場合、次の文字列を選択する。
その結果選択が他方と被る場合は、さらに次の文字列を選択する。

関連記事

ORANGE pico で「こずめぐ」みたいなやつスロット #BASIC - Qiita

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?