PRG:ASDF
セツメイEXPLANATION
勝手に進んでいく自機を、十字ボタンの左右で旋回させつつ、画面内のドル袋を取得する。You go forward automatically and whirl by left or right of cross-key. Get dollar bags.
自機は周囲の壁に衝突すると反射して反対方向に進むが、その際に壁が欠けてしまう。自機が外側に行ってしまうとゲームオーバー。You are reflected when you bump the wall. Then the wall is broken a little. If you go out of walls, the game is over.
壁が1つ欠ける毎に1点。ドル袋1つ取得すると10点。20回ごとに登場する黄金のドル袋を取得すると、周囲の壁が復活する。You get 1 point by every reflection. You get 10 points by getting dollar bag. Walls are repaired when you get golden dollar bag; it appears every 20 bags.
ゲームオーバーになったら、Aボタンで再開。Press A button to retry game.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | ボタンの状態 |
C | 壁の有無の判定用 |
D | プレイヤーの進行方向角度 |
G,H | 判定する壁の基準位置 |
L | 壁を破壊した数 |
R | プレイヤーの進行速度 |
S | 回収したドル袋の数 |
V,W | 壁の当たり判定処理用 |
X | 自機のX座標 |
Y | 自機のY座標 |
01. @STЛ
02. ACLSЛ
03. CLEARЛ
04. SPSET 0,136,7,0,0,3Л
05. SPHOME 0,8,8Л
06. SPSET 1,13,3,0,0,3Л
07. X=64:Y=32:D=45:R=0:S=-1:L=0Л
08. GOSUB @PTЛ
09. GOSUB @DEЛ
10. BGMPLAY 27Л
11. Л
12. @LPЛ
13. B=BUTTON()Л
14. IF B AND 4 THEN D=D-3-S/64Л
15. IF B AND 8 THEN D=D+3+S/64Л
16. D=(D+360)%360Л
17. R=R+1/8Л
18. X=X+COS(RAD(D))*RЛ
19. Y=Y+SIN(RAD(D))*RЛ
20. G=X/8:H=Y/8Л
21. V=(Y<24)-(Y>168)Л
22. IF V!=0 THEN W=0:H=22-(V==1)*21:GOSUB @WLЛ
23. W=(X>200)-(X<56)Л
24. IF W!=0 THEN V=0:G=5+(W==1)*21:GOSUB @WLЛ
25. SPOFS 0,X,YЛ
26. SPANGLE 0,DЛ
27. IF SPHIT(0) THEN GOSUB @PTЛ
28. LOCATE 0,0Л
29. PRINT S*10+L;Л
30. VSYNC 2Л
31. IF X>40 AND X<216 AND Y>8 AND Y<186 GOTO @LPЛ
32. BGMSTOP:BEEP 11:GOTO @OVЛ
33. Л
34. @DEЛ
35. E=1Л
36. SPSET 1,13,3+(S%20==19)*4,0,0,3Л
37. SPHOME 1,8,8Л
38. SPCOL 1,4,4,8,8,FALSEЛ
39. SPOFS 1,RND(112)+72,RND(112)+40Л
40. RETURNЛ
41. Л
42. @PTЛ
43. S=S+1Л
44. E=0Л
45. SPOFS 1,-16,-16Л
46. IF S%20!=0 THEN BEEP 7:RETURNЛ
47. BGFILL 0,5,1,26,22,17165Л
48. BGFILL 0,6,2,25,21,0Л
49. BEEP 32Л
50. RETURNЛ
51. Л
52. @WLЛ
53. BGREAD(0,G,H),CЛ
54. IF C THEN BGPUT 0,G,H,0:GOTO @WL2Л
55. BGREAD(0,G+V,H+W),CЛ
56. IF C THEN BGPUT 0,G+V,H+W,0:GOTO @WL2Л
57. BGREAD(0,G-V,H-W),CЛ
58. IF C THEN BGPUT 0,G-V,H-W,0Л
59. @WL2Л
60. IF C==0 THEN RETURNЛ
61. BEEP 9Л
62. L=L+1Л
63. R=S/32Л
64. IF E==0 THEN GOSUB @DEЛ
65. IF V==0 THEN X=128+W*72:D=540-DЛ
66. IF W==0 THEN Y=96-V*72:D=360-DЛ
67. RETURNЛ
68. Л
69. @OVЛ
70. IF BUTTON() AND 16 GOTO @STЛ
71. GOTO @OVЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK