SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

GIGA IchigoDake用ゲームいろいろ

GIGA IchigoDake+DirectAppsのプログラミングをいろいろ試しています。
基本的にシリアルコンソールなので、

  • 自由な画面表示ができない
    • 基本的に「文字列+改行」で文字が表示されるので、LOCATEなどで自由な位置表示ができない。→かわくだりのようなゲームが遊べない
  • リアルタイムキー入力が使えない
    • 「キー入力+Enter」でキー入力が送信されるので、INKEY()やBTN()などのリアルタイムキー入力が使えない

…といった弱点があります。
その環境で面白く遊べるゲームプログラムを考えてみました。
もちろん、これまでのIchigoJamやIchigoDakeでも遊べます。

GIGA 九九

九九の計算をして答えるゲームです。正解だと次の問題へ進みます。間違えるとゲームオーバーです。
f:id:shiro0922:20220203183254p:plain

10 A=RND(9)+1
20 B=RND(9)+1
30 ?:?A;"x";B;"="
40 INPUT "",C
50 IF C=A*B ?"SEIKAI!":GOTO 10
60 ?"END"

GIGA 100mダッシュ

RUNで実行して、Enterキーを連打して100m走ります。
ゴールするとタイムが表示されます。
f:id:shiro0922:20211224221433p:plain
f:id:shiro0922:20211224221510p:plain
なおこれらのゲーム画面は、キャプチャーの都合によりWindows PCでキャプチャーしています。
Chromebookだと(機種にもよりますが)あまり処理能力が高くないので、人間の連打に付いていけず、なかなかいいタイムが出ません。

10 CLT
20 FOR X=1 TO 100
30 ?X
40 INPUT "",A
50 NEXT
60 T=TICK()
70 ?T/60;".";T%60/6
●外付けボタン版


Enterキーで連打すると人間に付いていけずタイムが遅いのですが、BTN端子とGND端子に外付けボタンをつないでプレイするとかなり速くなります。

10 CLT
20 FOR X=1 TO 100
30 ?X
40 IF !BTN() CONT
45 IF BTN() CONT
50 NEXT
60 T=TICK()
70 ?T/60;".";T%60/6

GIGA じゃんけん

CPUとじゃんけん勝負するゲームです。
自分の手を0=グー、1=チョキ、2=パーで入力してください。
勝っても負けてもゲームは続行します。
f:id:shiro0922:20220203152420p:plain

10 LET [0],"GU","TYOKI","PA"
20 ?:?"0=GU 1=TYOKI 2=PA"
30 INPUT "",A
40 ?"YOU=";STR$([A])
50 B=RND(3)
60 ?"CPU=";STR$([B])
70 IF A=B ?"AIKO":GOTO 20
80 C=A+1:IF C=3 C=0
90 IF C=B ?"KATI":GOTO 20
100 ?"MAKE":GOTO 20

GIGA 影ふみ

道の上に自分のキャラが表示されます。相手は影なので見えません。
自分と影の距離が「D=○」と表示されるので、それを頼りに3歩以内で移動して、影をふんでください。
+(プラス)の歩数を入力すると右へ、-(マイナス)の歩数を入力すると左へ移動します。
自分が移動して影をふんだら勝ちです。
逆に、影が移動して自分がふまれたら負けです。
f:id:shiro0922:20220203192329p:plain
道は左はじと右はじがつながっていて、ワープして移動できます。
また、距離は絶対値で表示されるので、例えば「D=2」と表示されても、左に2歩離れているか、右に2歩離れているかはわかりません。
f:id:shiro0922:20220203192342p:plain
f:id:shiro0922:20220203192414p:plain

10 CLV:Q=4:GSB 140
20 ?"YOUR TURN(-3~3)="
30 INPUT "",H
40 IF ABS(H)>3 GOTO 20
50 P=P+H:P=P&7
60 GSB 140
70 IF D=0 ?"KATI!":END
80 ?"KAGE TURN"
90 I=RND(7)-3
100 Q=Q+I:Q=Q&7
110 GSB 140
120 IF D=0 ?"MAKE":END
130 GOTO 20
140 FOR X=0 TO 7
150 IF X=P ?"P"; ELSE ?".";
160 NEXT
170 D=ABS(Q-P)
180 ?" D=";D:?
190 RTN

★シリアル版リーチゲーム

www.ichigojaman.jp
以前に作ったビンゴゲームですが、GIGA IchigoDakeでも遊べます。