上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
PCとの通信とichigojamファームの更新までできましたので、簡単なゲームを組んでみました。

SCROLLコマンドがわりと高速とわかりましたので、上スクロールの「リバーボート」ゲームです。


動きは動画をご覧ください。ボートの川下りのつもりです。+が障害物、@がエネルギー源、+を避けて@を取りながら進みます。大昔によく組んだような簡単ゲームです。



「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">



ソースは以下の通り。

1 '***************************
2 '***** RIVER BOAT GAME *****
3 '***** bY T.K 2015/04/06 ***
4 '***************************
10 CLS:S=0:X=10:T=3:V=1:E=5:P=100
20 FOR J=0 TO 20:LOCATE 0,J:FOR I=1 TO E:? CHR$(1);:NEXT:FOR I=1 TO 8:?" ";:NEXT:FOR I=1 TO (20-E-8):? CHR$(1);:NEXT:NEXT:PLAY"L16"
21 '***** RIVER BOAT GAME *****
30 PLAY"L16CR":T=T-1:IF T=0 THEN T=RND(10)+2:V=-V
40 LOCATE 21,22:? "ENERGY:";P;
50 SCROLL 2:K=VPEEK(X,23)
60 IF K=64 PLAY"L16CDE":P=P+50:S=S+5
70 IF K=43 PLAY"L16ED":GOTO 230
80 IF K=1 PLAY"L16EDC":GOTO 230
90 LOCATE X,23:?"A";
100 E=E+V:IF E<1 E=1:V=1
110 IF E>10 E=10:V=-1
120 LOCATE 0,0:FOR I=1 TO E:? CHR$(1);:NEXT
130 FOR I=1 TO 8
140 IF RND(20)<1 ?"+";:GOTO 170
150 IF RND(200)<1 ?"@";:GOTO 170
160 ?" ";
170 NEXT
180 FOR I=1 TO (20-E-8):? CHR$(1);:NEXT
190 K=INKEY():IF (K=28)&(X>2) X=X-1
200 IF (K=29)&(X<29) X=X+1
210 S=S+1:P=P-1:IF P<=0 GOTO 300
220 GOTO 30
230 PLAY"L16EDCEDCL8O5C"
240 LOCATE 5,10:? " GAME OVER ";
250 LOCATE 5,11:? " SCORE:";S;" ";
260 LOCATE 0,20
:


これでサイズは900バイト弱くらい。最大1KBなのであまり凝ったことはできないですね。
しかしプログラムから次のプログラムを呼び出すLRUNコマンドが有り、プログラム間で変数値を引き継げるみたいなので、最大3x1KB構成で作ることもできそうです。

メモリサイズと速度の制約でどこまでできるか、というのが大昔の課題でした。
昔を思い出して、次はichigojamインベーダゲームでも作ってみますか。
 
それではまたです。

2015.04.06 Mon l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。