ブロック崩し 改良版

original by MASAHARU

IchigoJam から発掘された学生プログラマ

MASAHARU さんの力作「ブロックくずし」を

リニューアルしてみました。

 

オリジナルは PCN 内で公開されています。

 

Gallary | PCN プログラミングクラブネットワーク

 

表示キャラクターを変え、上左右の壁を配置、

スコア表示も追加してあります。

更に上の壁にブロックを配置し、

当たると壁に変化するようにしました。

ブロックを全てなくした時はブロックを再表示して、

継続できるようにしてあります。

 

行番号は RENUM していませんので、

オリジナルと比較してみると良いでしょう。

画面が似ている いわゆるスカッシュ も比べてみて下さい。

いわゆるスカッシュ よりも処理や線画が多いために、

動きは遅くなっているようです。


IchigoJam BASIC 0.9.9〜

10 'ブロック クズシ カイリョウバン
20 CLS:LET X,RND(15)*2+1
21 LET Y,21:LET Z,15
25 LET M,1:LET N,-1:LET S,0
26 LET T,0:LET U,1
31 LC 0,T:? CHR$(1);
32 LC 31,T:? CHR$(1);
35 LET T,T+1:IF T<>22 GOTO 31
41 LET C,1:IF U&1 LET C,219
42 LC U,0:? CHR$(C);
45 LET U,U+1:IF U<>31 GOTO 41
50 LC X,Y:? CHR$(232);
60 LC Z-1,21
61 ? CHR$(Z==1,2,2,2,2,2);
62 ? CHR$(Z==26);
63 WAIT 5
70 IF VPEEK(X,Y-1)<>219 GOTO 75
71 LET N,1:LET S,S+1
72 LC X,Y-1:? CHR$(1);
73 LC 0,23:? "SCORE ";S;
74 IF S%17==0 LET U,1:GOTO 41
75 IF Y==1 LET N,1
80 IF X==1 LET M,1
90 IF X==30 LET M,-1
110 IF SCR(X,Y+1)==2 LET N,-1
200 IF Y==22 LC 10,23:END
210 LET K,INKEY()
220 IF (K==28)*(Z>1) LET Z,Z-1
230 IF (K==29)*(Z<26) LET Z,Z+1
231 LC X,Y:? " ";
232 LET X,X+M:LET Y,Y+N
240 GOTO 50

MixJuice ダウンロード ?"MJ GET kidspod.club/mj/585

MicJack ダウンロード ?"MJ GKP 585

 

新しいバージョンや IchigoJam BASIC RPi など、処理速度がはやいと操作しづらくなります。

BTN(LEFT)・BTN(RIGHT) に変更し、押しっぱなし操作にすると良いです。

210 '
220 IF (BTN(LEFT))*(Z>1) LET Z,Z-1
230 IF (BTN(RIGHT))*(I<26) LET Z,Z+1

IchigoJam BASIC 0.8.9〜0.9.8

20 CLS:LET X,RND(17)*2+1
21 LET Y,23:LET Z,15
25 LET M,1:LET N,-1:LET S,0
26 LET T,0:LET U,1
31 LC 0,T:? CHR$(1);
32 LC 35,T:? CHR$(1);
35 LET T,T+1:IF T<>26 GOTO 31
41 LET C,1:IF U&1 LET C,14
42 LC U,0:? CHR$(C);
45 LET U,U+1:IF U<>35 GOTO 41
50 LC X,Y:? CHR$(11);:LC Z-1,25
60 ? CHR$(Z==1);CHR$(2);CHR$(2);
61 ? CHR$(2);CHR$(2);CHR$(2);
62 ? CHR$(Z==30);
70 IF VPEEK(X,Y-1)<>14 GOTO 75
71 LET N,1:LET S,S+1
72 LC X,Y-1:? CHR$(1);
73 LC 0,26:? "SCORE ";S;
74 IF S%17==0 LET U,1:GOTO 41
75 IF Y==1 LET N,1
80 IF X==1 LET M,1
90 IF X==34 LET M,-1
110 IF VPEEK(X,Y+1)==2 LET N,-1
200 IF Y==25 LC 10,26:END
210 LET K,INKEY()
220 IF (K==28)*(Z>1) LET Z,Z-1
230 IF (K==29)*(Z<30) LET Z,Z+1
231 LC X,Y:? " ";
232 LET X,X+M:LET Y,Y+N
240 GOTO 50

 

IchigoJam BASIC 0.9.4 以降は速く動作しますが、むしろ快適に操作できます。

 

IchigoJam BASIC 0.9.8 はキャラクター変更のため、下記を変更して下さい。

50 LC X,Y:? CHR$(232);:LC Z-1,25

MASAHARU さんとは?

PCNこどもプロコン2014夏・冬の最優秀賞経験を持つ学生プログラマー。

その後も IchigoJam で続々とプログラムを公開しています。最近は PanCake を用いたプログラムも。

MASAHARU さん作の IchigoJam 向けゲームは他にもいろいろ公開されています。


改良版

電子工作マガジン AUTUMN 2015(2015年11月号)P122(マイコンBASICマガジン 内 スペシャルコーナー)
江崎 徳秀 さん改良による ワイヤレスキーパッド(P49〜)対応版が公開されています。