Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2019/06/06 22:24:57

MixJuice GET URL : kidspod.club/mj/861

Rough Drivin'(バージョン1.3.1用)

以前に投稿したRough Drivin'をIchigoJam Basic 1.3.1で動かしてみたら、速すぎでゲームバランスが悪くなっていました。1.3.1用に少し修正しました。
再ゲームはエンターキーです。
-------- -------- -------- --------

最高速でぶっ飛ばせ!って感じの荒っぽい3D(?)ドライブゲームです。

操作は左右キー。スペースキーがアクセルです。
ブレーキなんてありません!

タイムが0になる前に距離(D)100 走ると次ステージにいけます。
このとき、画面がフラッシュしてタイム加算します。残っているタイム分ちょっとボーナスタイムも加算されます。

VIDEO 3のときって、画面のメモリ4分の1しか使ってないっぽいので、残り4分の3のところ使えるんじゃないの?と思って試したら使えました。
ここを使って、画面の表示切替を速くしています。
プログラムで言うと、行番号30から80のところであらかじめ道路のパターン(左急カーブ、左カーブ、直線、右カーブ、右急カーブの5パターン)を描いて、使っていないメモリのところにコピーしています。
これを行番号170のところで使っています。
「A=16*(T%2)」では、わざと画面をちらつかせるようにしています。スピード感を出したかったんです。

VIDEO 3の大きな文字の画面なので、もとに戻すときは VIDEO 1(F8キー)で戻してください。
行番号60のスペースは9個です。

けっこう楽しいゲームなのでやってみてください!

  • 1
  • 1

SOURCE CODE

10 'Rough Drivin'(1.3.1)
20 CLV:VIDEO 3
30 FOR I=0 TO 4:CLS:BEEP 100
40 FOR C=0 TO 111:PRINT CHR$(#8D-C/10+RND(3));:NEXT
50 Z=30:FOR J=9 TO 3 STEP -1
60 LOCATE Z/10,J-3:PRINT "-";STR$("         ",J);"-";
70 Z=Z+5+(I-2)*5:NEXT
80 COPY #9C0+I*112,#900,112:NEXT
90 'Main
100 CLS:X=70:H=2:S=20:T=700
110 G=G+1:LOCATE 0,1:PRINT "STAGE ";G;:VIDEO 4:BEEP 4,30
120 T=T+400+T/5:D=0:WAIT 20:VIDEO 3
130 D=D+S/10:W=W+S/30:WAIT 2
140 IF W<200 THEN GOTO 170 
150 W=0:R=RND(3)-1
160 H=H+R+(H+R<0)*2-((H+R)>4)*2
170 A=16*(T%2):COPY #940,#9C0+H*112+A,112-A
180 B=BTN(SPACE):S=S+B-(1-B)*2*(S>20):BEEP (274-S)*(S<274)+1
190 V=(BTN(RIGHT)-BTN(LEFT))*500-(H-2)*S*2
200 X=X+V/100
210 POKE #9A0+X/10,#86,#8F,#89
220 T=T-1:LOCATE 0,0:PRINT "TIME:";T;" D:";(G-1)*100+D/100;" ";
230 LOCATE 5,11:PRINT S;"km/h ";
240 IF D>10000 THEN GOTO 110
250 IF T=0 THEN GOTO 280
260 IF X/10>2 AND X/10<12 THEN GOTO 130
270 SCROLL 0:WAIT 4:SCROLL 2:WAIT 4:S=S-S/3*(S>30):GOTO 130
280 WAIT 60:LOCATE 3,5:PRINT "GAME  OVER";:CLK
290 IF INKEY()=10 THEN RUN ELSE CONT

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/06/07 17:19:41

1.3.1でやってみました。ナイスバランス。このゲームの表現は、やっぱりかっこいいですね。