SHIROのIchigoJam日記

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

OLEDジャンプゲーム

OLED(有機EL)の画面で遊ぶジャンプゲームです。
動画はこちら。

【IchigoJam】OLEDジャンプゲーム

f:id:shiro0922:20200703125814j:plain
OLED名札(NameDakeDakeCapName)で遊ぶ想定で作りました。

f:id:shiro0922:20200703131113j:plain
通常のIchigoJamでも、CN5ソケットにOLEDを差せば遊べます。
akizukidenshi.com

プログラム

IchigoDakeのボタンを押すとキャラクターがジャンプします。右からスクロールして来る地面の穴を飛び越えてください。
穴に落ちるとゲームオーバーです。ボタンを押すとリプレイします。

10 '*Jump OLED
20 GSB @INIT:CLS:Y=6
30 LC 0,7:FOR I=0 TO 15:?CHR$(1);:NEXT
40 LC 0,Y:?CHR$(251):GSB @OLED:WAIT 30
50 @LOOP
60 IF !J && BTN() BEEP:J=1:V=-3
70 IF J Y=Y+V:V=V+1:J=(Y<6)
80 SCROLL 28
90 LC 0,Y:?CHR$(251)
100 LC 15,7:?CHR$(RND(10)>0)
110 S=S+1:LC 0,0:?S
120 GSB @OLED:WAIT 3
130 IF SCR(0,7) || J GOTO @LOOP
140 LC 0,Y:?" ":?CHR$(251):GSB @OLED
150 BEEP 30,30:WAIT 60
160 IF !BTN() CONT
170 IF BTN() CONT
180 RUN
190 @INIT
200 let[0],#4000,33,#227F,#700,#B5F0,#1840,#230B,#21B,#18C9,#4694,#2410
210 let[11],#7803,#DB,#18D2,#2708,#2300,#2507,#5D56,#40FE,#415B,#3D01
220 let[21],#D2FA,#700B,#3101,#3F01,#D1F4,#3001,#4662,#3C01,#D1EC,#BDF0
230 let[90],#D5AE,#8D80,#2014,#A100,#DAC8,#8112,#D9CF,#DBF1,#A440,#AFA6
240 ifi2cw(60,#800,1,#8B4,20)?"E"
250 video3:copy#A00,#800,62:clv
260 @OLED
270 for[98]=0to7:i=usr(#A08,#900+[98]*16)|i2cw(60,#A01,1,#B00,128):next:rtn

OLED表示ルーチン(190~270行)は、国野亘さんのプログラムを使わせていただいています。
bokunimo.net