# G-Zero

Dec 10th, 2016
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. '---------- G-ZERO !!! I DID EDIT THIS PROGRAM TO MAKE IT MORE SMILE-FREINDLY, ITS JUST THAT THE COMMANDS ARE THE LAST PART... !!!
2. ACLS:DIM M\$[8]
3. M\$[0]="Ÿ ž—" 'This whole array of M[#] is the map, it just doesn't look like it yet, other than that, don't change it.
4. M\$[1]=" œ——— —"
5. M\$[2]=" ————— —"
6. M\$[3]=" ————— —"
7. M\$[4]=" ————Ÿ —"
8. M\$[5]=" ž—Ÿ œ—"
9. M\$[6]=" œ———"
10. M\$[7]="——————————"
11. '----------BG0
12. BGPAGE 0
13. L=0
14. FOR Y=0 TO 7
15. FOR X=0 TO 7
16. C=ASC(MID\$(M\$[Y],X,1))
18. FOR J=0 TO 7
19. FOR I=0 TO 7
20. A=VAL("&H"+MID\$(BF\$,I+J*8,1))
21. BX=I+X*8:BY=J+Y*8
22. C=RND(4)+363:PAL=11
23. IF A THEN C=RND(4)+378:PAL=3
24. BGPUT L,BX,BY,C,PAL,0,0 'outdated function
25. NEXT
26. NEXT
27. NEXT
28. NEXT
29. C=12
30. FOR BX=24 TO 31
31. FOR BY=0 TO 7
32. BGPUT L,BX,BY,C,PAL,0,0 'same as other BGPUT
33. NEXT
34. NEXT
35. '----------PLAYER INIT
36. PAL=2
37. SPPAGE 0:SPCLR
38. SPSET 0,176,PAL,0,0,1
39. SPSET 1,251,PAL,0,0,1
40. R=8*SQR(2)
41. Z=0:F=1:T1=0
42. X=128:Y=32:X1=0:Y1=0
43. A=180:A1=2:SMAX=8
44. '----------MAIN
45. @MAIN
46. B=BUTTON()
47. K=0.99
48. IF B AND 8 THEN A=A+A1
49. IF B AND 4 THEN A=A-A1
50. IF B AND 15 THEN K=0.98
51. IF A<0 THEN A=A+360
52. IF A>=360 THEN A=A-360
53. X1=X1*K:Y1=Y1*K
54. S=(X1*X1)+(Y1*Y1)
55. MX=-8:MY=-8
56. IF (B AND 16)==0 THEN @MOV0
57. IF S>SMAX THEN @MOV0
59. X1=X1+COS(T)/20
60. Y1=Y1+SIN(T)/20
63. Z=Z+1:S=S*700
64. IF Z>16 THEN Z=6:BEEP 1,S
65. @MOV0
66. SPOFS 1,MX-8,MY-8
67. SPANGLE 0,A
69. MX=COS(T)*R+128
70. MY=SIN(T)*R+96
71. SPOFS 0,MX,MY
72. X=X+X1:Y=Y+Y1
73. BGREAD(L,X/8,Y/8),C,PAL,H,V 'Oh look, another obsolete function
74. IF C>=378 THEN GOSUB @BOUND
75. BX=(X+(512-128))MOD 512
76. BY=(Y+(512-96))MOD 512
77. BGOFS L,BX,BY
78. VSYNC 1
79. GOSUB @TCHK
80. GOTO @MAIN
81. '----------
82. @BOUND
83. X1=-X1:Y1=-Y1:BEEP 13
84. RETURN
85. '----------TIME
86. @TCHK
87. I=FLOOR(X/64):J=FLOOR(Y/64)
88. IF I!=3 THEN RETURN
89. IF J!=6 AND J!=0 THEN RETURN
90. IF J==F THEN RETURN
91. F=J
92. IF F!=0 THEN RETURN
93. BEEP 7
94. T2=MAINCNTL
95. LOCATE 8,2:PRINT "TIME:";
96. IF T1 THEN PRINT (T2-T1)/60;
97. PRINT " SEC ":T1=T2
98. RETURN
99.
100. 'The code above is under 100 lines... try to keep it that way please, but if you have to go over 100, then so be it.