SHIROのIchigoJam日記

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

IchigoJamスポーツ1.4

現在、IchigoJamの次期ファームウェア1.4が開発中で、β版が公開されています。
新機能として、以下のような機能が拡張される予定です。

  • グラフィックキャラクタを使った簡易グラフィック機能
  • 三角関数(COS、SIN)
  • スロット0のプログラム先頭行にラベル「@ARUN」を置くと、電源ON時にボタンを押さなくても自動起動
  • LEDテープ・WS2812Bの簡単制御
  • XキーをBTN(88)で入力検出

新機能を使ったミニゲーム集ペーパー「IchigoJamスポーツ1.4」を作ってみました。
ファームウェア1.4の環境でお試しください。
f:id:shiro0922:20190728142917p:plain

f:id:shiro0922:20190728142933p:plain

●PDFファイルはこちら。

プログラムリスト

大なわとびさっちゃん

まわるなわをふまないように、スペースキーでジャンプ!

【IchigoJam】大なわとびさっちゃん

10 CLV:CLS:Z=20
20 S=S+1
30 FOR T=-260 TO 90 STEP 10
40 DRAW X,Y,0
50 X=30+COS(T)/12
60 Y=22+SIN(T)/12
70 DRAW X,Y
80 LC 15,Z:?" "
90 IF J Z=Z+V:V=V+1
100 LC 15,Z:?"@"
110 IF V=6 J=0
120 IF !J && INKEY()=32 J=1:V=-5
130 NEXT
140 IF Z!=20 GOTO 20
150 ?S-1

ゴルフ

ホールをねらって、ボールをうて! なんかいで入れられるかな?
(1)ななめせんを上↑・下↓でうごかして、うつかくどをきめる
(2)スペースキーをながおしして、うつパワーをきめる

10 CLV:Z=10+RND(20)
20 CLS:S=S+1:?S:X=0:Y=0:T=20:P=0
30 LC 1,24:?CHR$(250);
40 LC Z,24:?CHR$(232);
50 DRAW 4,47,4+U,47-V,0
60 T=T+5*BTN(30)-5*BTN(31)
70 U=COS(T)/32:V=SIN(T)/32
80 DRAW 4,47,4+U,47-V
90 IF !BTN(32) GOTO 50
100 P=P+1:IF P>47 P=1
110 DRAW 0,47-P,1
120 WAIT 5
130 IF BTN(32) GOTO 100
140 U=U*P/2:V=V*P/2
150 X=X+U/32:Y=Y+V/32
160 DRAW 4+X,47-Y
170 V=V-8:WAIT 3
180 IF Y>0 GOTO 150
190 IF X/2=Z-2 LC 0,1:?"IN!":CLK:END
200 X=X+U/32
210 DRAW 4+X,47
220 U=U-16:WAIT 3
230 IF U>0 GOTO 190
240 WAIT 60
250 GOTO 20

PKチームバトル

5人ずつのチームでたいせん!
・キッカー(右がわの人):カーソルキー←(左)か→(右)でシュートほうこうをにゅうりょく
・キーパー(左がわの人):X(左)かスペース(右)でジャンプほうこうをにゅうりょく
2人でどうじにおす! キーパーとぎゃくにシュートがきまればせいこう!
キッカーとキーパーをこうたいしながらやろう
5人けってもきまらなければ、1人ずつサドンデス

1 '*PK Battle
2 CLV:VIDEO 3:G=-1
3 COPY 240*8,144*8,8
4 COPY 241*8,111*8,8
5 COPY 242*8,120*8,8
6 GSB 17:A=A+1:E=E+C
7 IF E-F>H-B M=0:GOTO 15
8 IF F-E>H-A M=1:GOTO 15
9 GSB 17:B=B+1:F=F+C
10 IF E-F>H-B M=0:GOTO 15
11 IF F-E>H-A M=1:GOTO 15
12 IF G>9 AND E>F M=0:GOTO 15
13 IF G>9 AND E<F M=1:GOTO 15
14 GOTO 6
15 LC 3,8:?"*";CHR$(65+M);" WIN!!*"
16 END
17 G=G+1:H=G/2+1:IF H<5 H=5
18 CLS:
19 LC 1,4:?"[=====";CHR$(249);"=====]"
20 X=7:LC X,10:?CHR$(233)
21 LC X,11:?CHR$(250);
22 GSB 35:D=0:K=0:CLK
23 D=BTN(29)-BTN(28)
24 K=BTN(32)-BTN(88)
25 IF D*K ELSE GOTO 23
26 BEEP 20:FOR Y=10 TO 6 STEP -1
27 LC X,Y:?" ":X=X+D
28 LC X,Y-1:?CHR$(233):WAIT 3
29 NEXT
30 LC 7,4:?"="
31 LC 7+K*5,4:?CHR$(252-K)
32 C=(D!=K):BEEP 30-C*20,30:[G]=2-C
33 GSB 35:WAIT 60
34 RTN
35 LC 0,1:?"A":?"B"
36 FOR I=1 TO H
37 LC I,0:?I%10
38 J=(I-1)*2
39 LC I,1:?CHR$(240+[J])
40 J=J+1
41 LC I,2:?CHR$(240+[J])
42 NEXT
43 RTN