PRG:P3J2
セツメイEXPLANATION
3次元の柱の上を2次元に跳ぶゲーム。画面下に落ちてしまうとゲームオーバー。
Jump 2-dimensionally onto 3-dimensional pillars. If you fall out of screen, the game is over.
十字ボタンの左右で移動、Aボタンでジャンプ。ゲームオーバーになったら、Bボタンで再開。
You can move horizontally by cross-key and jump by A button. You can restart by B button after game is over.
※ABAさんが作ったwonderfl版の移植です。
※This is a port from wonderfl version by ABA-games.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | ボタンの状態 |
C | 柱のX方向移動量を変化させるまでの間隔 |
D | 柱を発生させるまでの間隔 |
E | 現在乗っている柱のインデックス番号(-1の時はジャンプ中) |
I | 汎用ループカウンタ |
J | 柱を新規発生させる際のインデックス番号 |
L | ボールのY方向移動量 |
M,N | ボールの座標 |
O | 現在乗ってる柱の中心位置からのズレ |
P | スコア |
Q | ボールのX方向移動量 |
S | 柱のZ方向移動量 |
T | ゲーム開始からのフレーム数 |
U | 柱のX方向移動量の目標値 |
V | 柱のX方向移動量 |
W,X,Y | 柱描画時における2次元座標・幅 |
W(),X(),Y(),Z() | 柱の3次元位置・幅の配列 |
01. @IЛ
02. ACLS:CLEARЛ
03. DIM X(30),Y(30),Z(30),W(30)Л
04. Y(29)=5:Z(29)=3:W(29)=10Л
05. M=128:E=-1Л
06. SPSET 0,142,15,0,0,2Л
07. SPHOME 0,8,13Л
08. ?”Score”Л
09. BGMPLAY 25Л
10. @LЛ
11. B=BUTTON():Q=((8AND B)/8-(4AND B)/4)*3Л
12. IF E<0 THEN L=L+1-(16AND B)/32:M=M+Q:N=N+LЛ
13. T=T+1:S=.01*(1+SQR(T*.005))Л
14. D=D-S:IF D<=0 THEN GOSUB @P:D=D+RND(101)/1000+.1Л
15. C=C-1:IF C<=0 THEN U=(RND(SQR(T))/20)*(RND(2)*2-1):C=RND(61)+60Л
16. V=V+(U-V)*.05Л
17. GCLSЛ
18. FOR I=0 TO 29Л
19. IF Z(I)<.1 GOTO @MЛ
20. X(I)=X(I)+VЛ
21. Z(I)=Z(I)-SЛ
22. X=X(I)/Z(I)+128Л
23. Y=Y(I)/Z(I)+96Л
24. W=W(I)/Z(I)Л
25. GFILL X-W,Y,X+W,25/Z(I)+96,13Л
26. IF E<0 AND L>0 AND ABS(M-X)<W+4 AND ABS(N-Y-L)<L THEN E=I:Q=0:O=M-X:BEEP 9Л
27. IF E!=I GOTO @MЛ
28. P=P+2/(Z(I)+1)Л
29. O=O+Q:M=X+O:N=YЛ
30. IF 16AND B OR M<8 OR M>248 THEN E=-1:L=-10:BEEP 8Л
31. IF Z(I)<.1 OR ABS(O)>=W+4 THEN E=-1Л
32. @MЛ
33. NEXTЛ
34. IF M<8 THEN M=8Л
35. IF M>248 THEN M=248Л
36. SPOFS 0,M,NЛ
37. LOCATE 6,0:?FLOOR(P)Л
38. VSYNC 2Л
39. IF N<208 GOTO @LЛ
40. BGMSTOP:BEEP 11Л
41. @VЛ
42. IF BUTTON()==32 GOTO @I ELSE @VЛ
43. @PЛ
44. X(J)=RND(501)-250Л
45. Y(J)=RND(21)-4Л
46. Z(J)=3Л
47. W(J)=RND(6)+5Л
48. J=(J+1)%30Л
49. RETURNЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK