Updated Platformer sample by Beckett Bylsma
This commit is contained in:
parent
5ebbde151f
commit
887b3be2a6
|
@ -86,7 +86,7 @@ By <a target=_blank href="mailto:inexorabletash@gmail.com">Joshua Bell</a>
|
||||||
<option value="sample.spaceattack"> Space Attack! (Alan Ratliff)</option>
|
<option value="sample.spaceattack"> Space Attack! (Alan Ratliff)</option>
|
||||||
<option value="sample.building"> Building (Melvin Rosario)</option>
|
<option value="sample.building"> Building (Melvin Rosario)</option>
|
||||||
<option value="sample.artillery"> Artillery (Michael "Moose" O'Malley)</option>
|
<option value="sample.artillery"> Artillery (Michael "Moose" O'Malley)</option>
|
||||||
<option value="sample.platformer"> Platformer - work in progress (Beckett Bylsma)</option>
|
<option value="sample.platformer"> Platformer (Beckett Bylsma)</option>
|
||||||
|
|
||||||
<option disabled>____________________________________________</option>
|
<option disabled>____________________________________________</option>
|
||||||
<option disabled>Graphics</option>
|
<option disabled>Graphics</option>
|
||||||
|
|
|
@ -1,166 +1,492 @@
|
||||||
10 home
|
1 text:home:gosub 500
|
||||||
11 let k=0
|
2 lvl=1 :home
|
||||||
12 let lives=5
|
3 let k=0
|
||||||
13 let key$="NO"
|
4 let lives=5
|
||||||
14 let kx=29 :let ky=27
|
5 let key$="NO"
|
||||||
15 let s=0
|
6 let kx=29 :let ky=27
|
||||||
16 let e=0
|
7 let s=0
|
||||||
17 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
8 let e=0
|
||||||
18 let levelt=1
|
9 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
19 let j=1
|
10 let levelt=1
|
||||||
20 gr
|
11 let j=1
|
||||||
21 color=6
|
12 gr
|
||||||
22 for q=1 to 39
|
13 color=6
|
||||||
23 hlin 0,39 at k :let k=k+1
|
14 for q=1 to 39
|
||||||
24 next q
|
15 hlin 0,39 at k :let k=k+1
|
||||||
25 color=10
|
16 next q
|
||||||
26 vlin 0,38 at 39
|
17 color=10
|
||||||
27 color=13 :for sun=1 to 7
|
18 vlin 0,38 at 39
|
||||||
28 hlin 1,4 at j :let j=j+1
|
19 color=13 :for sun=1 to 7
|
||||||
29 next sun
|
20 hlin 18,21 at j :let j=j+1
|
||||||
30 color=13
|
21 next sun
|
||||||
40 let cx=25 :let cy=19
|
22 color=13
|
||||||
50 rem becketts new gravity improved (no bugs so far)
|
23 let cx=25 :let cy=19
|
||||||
60 plot cx,cy
|
24 rem becketts new gravity improved (no bugs so far)
|
||||||
61 color=1 :plot kx,ky
|
25 plot cx,cy
|
||||||
70 let X=12: let Y=23
|
26 color=9 :plot kx,ky
|
||||||
80 let score=0
|
27 let X=12: let Y=23
|
||||||
90 print "SCORE:";score
|
28 let score=0
|
||||||
91 print "LIVES:";lives
|
29 print "SCORE:";score
|
||||||
92 print "KEY OBTAINED?";key$
|
30 print "LIVES:";lives
|
||||||
100 rem level plotter
|
31 print "KEY OBTAINED?";key$
|
||||||
110 color=12
|
32 rem level plotter
|
||||||
120 dim z0(39,39)
|
33 color=12
|
||||||
130 read x1,y1
|
34 dim z0(39,39)
|
||||||
140 if x1=0 and y1=0 goto 300
|
35 read x1,y1
|
||||||
150 z0(x1,y1)=1
|
36 if x1=0 and y1=0 goto 44
|
||||||
160 plot x1,y1
|
37 z0(x1,y1)=1
|
||||||
161 color=5
|
38 plot x1,y1
|
||||||
162 plot x1,(y1+1) :color=12
|
39 color=5
|
||||||
170 goto 130
|
40 plot x1,(y1+1) :color=12
|
||||||
200 rem character printer
|
41 goto 35
|
||||||
210 color=2
|
42 rem character printer
|
||||||
300 color=2
|
43 color=2
|
||||||
310 plot x,y
|
44 color=2
|
||||||
350 rem get key command
|
45 plot x,y
|
||||||
450 let c$="":get c$
|
46 rem get key command
|
||||||
451 if x<0 then let x=0
|
47 if X=25 and Y=19 and s=0 then htab(18):vtab(12):let score=score+1 :home :htab 1:vtab 23 :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$:let s=1 : gosub 95 :goto 50
|
||||||
452 if x>39 and levelt=1 then let x=39
|
48 if X=29 and Y=27 and e=0 then home :htab 1:vtab 23 :let key$="YES" :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$ :let e=1: gosub 113 :goto 50
|
||||||
400 if X=25 and Y=19 and s=0 then htab(18):vtab(12):let score=score+1 :home :htab 1:vtab 23 :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$:let s=1 : gosub 100000 :goto 450
|
49 if lives<1 then text: home: htab (17):vtab(12):flash:print "YOU LOSE!":normal:end
|
||||||
401 if X=29 and Y=27 and e=0 then home :htab 1:vtab 23 :let key$="YES" :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$ :let e=1: gosub 200000 :goto 450
|
50 color=2 :plot x,y :let c$="":get c$
|
||||||
402 if lives<1 then print "YOU LOSE!" :end
|
51 if x<0 then let x=0
|
||||||
500 if c$="W" goto 900
|
52 if x>39 and levelt=1 then let x=39
|
||||||
600 if c$="A" then color=6 :plot x,y : let X=X-1 :color=2 :plot x,y :if z0(X,Y+1)=0 then goto 1200:if z0(X,Y+1)=1 then goto 300
|
53 if c$="W" goto 57
|
||||||
700 if c$="D" then color=6 :plot x,y :let X=X+1 :color=2 : plot x,y :if z0(X,Y+1)=0 then goto 1200:if z0(X,Y+1)=1 then goto 300
|
54 if c$="A" then color=6 :plot x,y : let X=X-1 :color=2 :plot x,y :if z0(X,Y+1)=0 then goto 65:if z0(X,Y+1)=1 then goto 44
|
||||||
800 goto 400
|
55 if c$="D" then color=6 :plot x,y :let X=X+1 :color=2 : plot x,y :if z0(X,Y+1)=0 then goto 65:if z0(X,Y+1)=1 then goto 44
|
||||||
900 for i=1 to 6: plot x,y
|
56 goto 47
|
||||||
910 gosub 3000
|
57 for i=1 to 6: plot x,y
|
||||||
920 color=6 :plot x,y :let Y=Y-1
|
58 gosub 77
|
||||||
1010 for r=1 to 125
|
59 color=6 :plot x,y :let Y=Y-1
|
||||||
1020 color=2 :plot x,y
|
60 for r=1 to 125
|
||||||
1080 next r
|
61 color=2 :plot x,y
|
||||||
1100 gosub 10000
|
62 next r
|
||||||
1190 next i
|
63 gosub 79
|
||||||
1200 plot x,y
|
64 next i
|
||||||
1240 color=6 :plot x,y :let Y=Y+1
|
65 plot x,y
|
||||||
1310 for o=1 to 75
|
66 color=6 :plot x,y :let Y=Y+1
|
||||||
1320 color=2 :plot x,y
|
67 for o=1 to 75
|
||||||
1390 next o
|
68 color=2 :plot x,y
|
||||||
1400 gosub 10000
|
69 next o
|
||||||
1410 gosub 2000
|
70 gosub 79
|
||||||
1420 goto 1200
|
71 gosub 74
|
||||||
1440 goto 400
|
72 goto 65
|
||||||
10000 let k=PEEK(49152)
|
73 goto 47
|
||||||
10100 if k=196 and x<38 then color=6 :plot x,y :X=X+1
|
74 if z0(X,Y+1)=1 goto 47
|
||||||
10200 if k=193 and x>1 then color=6 :plot x,y :X=X-1
|
75 if y=38 then color=6: plot x,y :let X=12: let Y=23 :color=2 :plot x,y :let lives=lives-1 :print chr$(7):home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$ :goto 47
|
||||||
10210 if z0(x,y)=1 and k=196 then let x=x-1 :plot x,y
|
76 return
|
||||||
10220 if z0(x,y)=1 and k=193 then let x=x+1 :plot x,y
|
77 if z0(X,Y-2)=1 goto 65
|
||||||
10222 if z0(x,y+1)=1 and k=196 then let x=x-1 :plot x,y
|
78 return
|
||||||
10223 if z0(x,y+1)=1 and k=193 then let x=x+1 :plot x,y
|
79 let k=PEEK(49152)
|
||||||
10224 if z0(x,y-1)=1 and k=196 then let x=x-1 :plot x,y
|
80 if k=196 and x<38 then color=6 :plot x,y :X=X+1
|
||||||
10225 if z0(x,y-1)=1 and k=193 then let x=x+1 :plot x,y
|
81 if k=193 and x>1 then color=6 :plot x,y :X=X-1
|
||||||
10280 let k=PEEK(49168)
|
82 if z0(x,y)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
10290 color=2 :plot x,y
|
83 if z0(x,y)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
10300 return
|
84 if z0(x,y+1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
85 if z0(x,y+1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
2000 if z0(X,Y+1)=1 goto 400
|
86 if z0(x,y-1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
2001 if y=38 then color=6: plot x,y :let X=12: let Y=23 :color=2 :plot x,y :let lives=lives-1 :print chr$(7):home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$ :goto 400
|
87 if z0(x,y-1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
2010 return
|
88 let k=PEEK(49168)
|
||||||
|
89 color=2 :plot x,y
|
||||||
3000 if z0(X,Y-2)=1 goto 1200
|
90 return
|
||||||
3024 return
|
91 rem map data saver
|
||||||
|
92 data 1,24,2,24,3,24,4,24,5,24,6,24,7,24,8,24,9,24,10,24,11,24,12,24,13,24,14,24,15,24,16,24,17,24,18,24
|
||||||
|
93 data 20,28,21,28,22,28,23,28,24,28,25,28,26,28,27,28,28,28,29,28,30,28,31,28,32,28,33,28,34,28,35,28,36,28,37,28
|
||||||
|
94 data 20,20,21,20,22,20,23,20,24,20,25,20,26,20,27,20,0,0
|
||||||
99999 rem map data saver
|
95 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 6
|
||||||
20000 data 1,24,2,24,3,24,4,24,5,24,6,24,7,24,8,24,9,24,10,24,11,24,12,24,13,24,14,24,15,24,16,24,17,24,18,24
|
96 let cy=cy-1
|
||||||
20005 data 20,28,21,28,22,28,23,28,24,28,25,28,26,28,27,28,28,28,29,28,30,28,31,28,32,28,33,28,34,28,35,28,36,28,37,28
|
97 color=13 :plot cx,cy
|
||||||
20010 data 20,20,21,20,22,20,23,20,24,20,25,20,26,20,27,20,0,0
|
98 for t=1 to 65
|
||||||
100000 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 6
|
99 plot cx,cy
|
||||||
100001 let cy=cy-1
|
100 next t
|
||||||
100002 color=13 :plot cx,cy
|
101 color=6 :plot cx,cy
|
||||||
100003 for t=1 to 65
|
102 next w
|
||||||
100004 plot cx,cy
|
103 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
||||||
100005 next t
|
104 let cy=cy+1
|
||||||
100006 color=6 :plot cx,cy
|
105 color=13 :plot cx,cy
|
||||||
100007 next w
|
106 for t=1 to 65
|
||||||
100008 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
107 plot cx,cy
|
||||||
100009 let cy=cy+1
|
108 next t
|
||||||
100010 color=13 :plot cx,cy
|
109 color=6 :plot cx,cy
|
||||||
100011 for t=1 to 65
|
110 next w
|
||||||
100012 plot cx,cy
|
111 color=2 :plot x,y
|
||||||
100013 next t
|
112 return
|
||||||
100014 color=6 :plot cx,cy
|
113 for w=1 to 6
|
||||||
100015 next w
|
114 let ky=ky-1
|
||||||
100016 color=2 :plot x,y
|
115 color=9 :plot kx,ky
|
||||||
100017 return
|
116 for t=1 to 65
|
||||||
200000 for w=1 to 6
|
117 plot kx,ky
|
||||||
200001 let ky=ky-1
|
118 next t
|
||||||
200002 color=1 :plot kx,ky
|
119 color=6 :plot kx,ky
|
||||||
200003 for t=1 to 65
|
120 next w
|
||||||
200004 plot kx,ky
|
121 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
||||||
200005 next t
|
122 let ky=ky+1
|
||||||
200006 color=6 :plot kx,ky
|
123 color=9 :plot kx,ky
|
||||||
200007 next w
|
124 for t=1 to 65
|
||||||
200008 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
125 plot kx,ky
|
||||||
200009 let ky=ky+1
|
126 next t
|
||||||
200010 color=1 :plot kx,ky
|
127 color=6 :plot kx,ky
|
||||||
200011 for t=1 to 65
|
128 next w
|
||||||
200012 plot kx,ky
|
129 color=2 :plot x,y :print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
200013 next t
|
130 color=6 :vlin 19,20 at 39 :for e=1 to 300
|
||||||
200014 color=6 :plot kx,ky
|
131 vlin 18, 21 at 39 :next e :for e=1 to 300
|
||||||
200015 next w
|
132 vlin 17,22 at 39 :next e :for e=1 to 300
|
||||||
200016 color=2 :plot x,y :print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
133 vlin 16,23 at 39:next e :for e=1 to 300
|
||||||
200017 color=6 :vlin 19,20 at 39 :for e=1 to 300
|
134 vlin 15,24 at 39:next e :for e=1 to 300
|
||||||
200018 vlin 18, 21 at 39 :next e :for e=1 to 300
|
135 vlin 14,25 at 39 :next e :for e=1 to 300
|
||||||
200019 vlin 17,22 at 39 :next e :for e=1 to 300
|
136 vlin 13,26 at 39 :next e
|
||||||
200020 vlin 16,23 at 39:next e :for e=1 to 300
|
137 color=2 :vlin 19,20 at 39 :for e=1 to 325
|
||||||
200021 vlin 15,24 at 39:next e :for e=1 to 300
|
138 color=3 :plot 39,18 :plot39,21 :next e :for e=1 to 325
|
||||||
200022 vlin 14,25 at 39 :next e :for e=1 to 300
|
139 color=2 :plot 39,17 :plot39,22 :next e :for e=1 to 325
|
||||||
200023 vlin 13,26 at 39 :next e
|
140 color=3 :plot 39,16 :plot39,23:next e :for e=1 to 325
|
||||||
200024 color=2 :vlin 19,20 at 39 :for e=1 to 325
|
141 color=2 :plot 39,15:plot39,24:next e :for e=1 to 325
|
||||||
200025 color=3 :plot 39,18 :plot39,21 :next e :for e=1 to 325
|
142 color=3 :plot 39,14 :plot39,25 :next e
|
||||||
200026 color=2 :plot 39,17 :plot39,22 :next e :for e=1 to 325
|
143 for a=1 to 500
|
||||||
200027 color=3 :plot 39,16 :plot39,23:next e :for e=1 to 325
|
144 color=2: plot x,y
|
||||||
200028 color=2 :plot 39,15:plot39,24:next e :for e=1 to 325
|
145 next a
|
||||||
200029 color=3 :plot 39,14 :plot39,25 :next e
|
146 for ab=1 to 7
|
||||||
200030 for a=1 to 500
|
147 color=6 :plot x,y :let y=y-1
|
||||||
200040 color=2: plot x,y
|
148 for sus=1 to 85
|
||||||
200050 next a
|
149 color=2 :plot x,y
|
||||||
200060 for ab=1 to 7
|
150 next sus
|
||||||
200070 color=6 :plot x,y :let y=y-1
|
151 next ab
|
||||||
200080 for sus=1 to 85
|
152 for wa=1 to 25
|
||||||
200090 color=2 :plot x,y
|
153 color=2 :plot x,y
|
||||||
200100 next sus
|
154 next wa
|
||||||
200110 next ab
|
155 for abc=1 to 10
|
||||||
200111 for wa=1 to 25
|
156 color=6 :plotx,y :let x=x+1
|
||||||
200112 color=2 :plot x,y
|
157 for sus=1 to 85
|
||||||
200113 next wa
|
158 color=2 :plot x,y
|
||||||
200120 for abc=1 to 10
|
159 next sus
|
||||||
200130 color=6 :plotx,y :let x=x+1
|
160 next abc
|
||||||
200140 for sus=1 to 85
|
161 let lvl=2
|
||||||
200150 color=2 :plot x,y
|
162 home
|
||||||
200160 next sus
|
163 let k=0
|
||||||
200170 next abc
|
164 let key$="NO"
|
||||||
|
165 if lvl=2 then goto 320
|
||||||
|
166 if lvl=1 then let kx=29 :let ky=27
|
||||||
|
167 let s=0
|
||||||
|
168 let e=0
|
||||||
|
169 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
|
170 let levelt=1
|
||||||
|
171 let j=31
|
||||||
|
172 gr
|
||||||
|
173 color=1
|
||||||
|
174 for q=1 to 39
|
||||||
|
175 hlin 0,39 at k :let k=k+1
|
||||||
|
176 next q
|
||||||
|
177 color=10
|
||||||
|
178 vlin 0,38 at 39
|
||||||
|
179 color=13 :for sun=1 to 7
|
||||||
|
180 hlin 18,21 at j :let j=j+1
|
||||||
|
181 next sun
|
||||||
|
182 color=13
|
||||||
|
183 let cx=22 :let cy=26
|
||||||
|
184 rem becketts new gravity improved (no bugs so far)
|
||||||
|
185 plot cx,cy
|
||||||
|
186 color=9 :plot kx,ky
|
||||||
|
187 let X=3: let Y=19
|
||||||
|
188 print "SCORE:";score
|
||||||
|
189 print "LIVES:";lives
|
||||||
|
190 print "KEY OBTAINED?";key$
|
||||||
|
191 rem level plotter
|
||||||
|
192 color=12
|
||||||
|
193 dim z1(39,39)
|
||||||
|
194 read x2,y2
|
||||||
|
195 if x2=0 and y2=0 goto 203
|
||||||
|
196 z1(x2,y2)=1
|
||||||
|
197 plot x2,y2
|
||||||
|
198 color=5
|
||||||
|
199 plot x2,(y2+1) :color=12
|
||||||
|
200 goto 194
|
||||||
|
201 rem character printer
|
||||||
|
202 color=2
|
||||||
|
203 color=2
|
||||||
|
204 plot x,y
|
||||||
|
205 rem get key command
|
||||||
|
206 if X=22 and Y=26 and s=0 then htab(18):vtab(12):let score=score+1 :home :htab 1:vtab 23 :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$:let s=1 : gosub 259 :goto 209
|
||||||
|
207 if X=kx and Y=ky and e=0 then home :htab 1:vtab 23 :let key$="YES" :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$ :let e=1: gosub 277 :goto 209
|
||||||
|
208 if lives<1 then text: home: htab (17):vtab(12):flash:print "YOU LOSE!":normal:end
|
||||||
|
209 let c$="":get c$
|
||||||
|
210 if x<0 then let x=0
|
||||||
|
211 if x>39 and levelt=1 then let x=39
|
||||||
|
212 if c$="W" goto 216
|
||||||
|
213 if c$="A" then color=1 :plot x,y : let X=X-1 :color=2 :plot x,y :if z1(X,Y+1)=0 then goto 224:if z1(X,Y+1)=1 then goto 203
|
||||||
|
214 if c$="D" then color=1 :plot x,y :let X=X+1 :color=2 : plot x,y :if z1(X,Y+1)=0 then goto 224:if z1(X,Y+1)=1 then goto 203
|
||||||
|
215 goto 206
|
||||||
|
216 for i=1 to 6: plot x,y
|
||||||
|
217 gosub 236
|
||||||
|
218 color=1 :plot x,y :let Y=Y-1
|
||||||
|
219 for r=1 to 125
|
||||||
|
220 color=2 :plot x,y
|
||||||
|
221 next r
|
||||||
|
222 gosub 238
|
||||||
|
223 next i
|
||||||
|
224 plot x,y
|
||||||
|
225 color=1 :plot x,y :let Y=Y+1
|
||||||
|
226 for o=1 to 75
|
||||||
|
227 color=2 :plot x,y
|
||||||
|
228 next o
|
||||||
|
229 gosub 238
|
||||||
|
230 gosub 233
|
||||||
|
231 goto 224
|
||||||
|
232 goto 206
|
||||||
|
233 if z1(X,Y+1)=1 goto 206
|
||||||
|
234 if y=38 then color=1: plot x,y :let X=1: let Y=19 :color=2 :plot x,y :let lives=lives-1 :print chr$(7):home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$ :goto 206
|
||||||
|
235 return
|
||||||
|
236 if z1(X,Y-2)=1 goto 224
|
||||||
|
237 return
|
||||||
|
238 let k=PEEK(49152)
|
||||||
|
239 if k=196 and x<38 then color=1 :plot x,y :X=X+1
|
||||||
|
240 if k=193 and x>1 then color=1 :plot x,y :X=X-1
|
||||||
|
241 if z1(x,y)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
242 if z1(x,y)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
243 if z1(x,y+1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
244 if z1(x,y+1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
245 if z1(x,y-1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
246 if z1(x,y-1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
247 let k=PEEK(49168)
|
||||||
|
248 color=2 :plot x,y
|
||||||
|
249 return
|
||||||
|
250 rem map data saver
|
||||||
|
251 rem old data 1,24,2,24,3,24,4,24,5,24,6,24,7,24,8,24,9,24,10,24,11,24,12,24,13,24,14,24,15,24,16,24,17,24,18,24
|
||||||
|
252 rem old data 20,28,21,28,22,28,23,28,24,28,25,28,26,28,27,28,28,28,29,28,30,28,31,28,32,28,33,28,34,28,35,28,36,28,37,28
|
||||||
|
253 rem old data 20,20,21,20,22,20,23,20,24,20,25,20,26,20,27,20,0,0
|
||||||
|
254 data 1,20,2,20,3,20,4,20,5,20,6,20
|
||||||
|
255 data 8,18,9,18,10,18,11,18,12,18
|
||||||
|
256 data 14,22,15,22,16,22,17,22,18,22,19,22,20,22,21,22
|
||||||
|
257 data 23,20,24,20,25,20,26,20,27,20,28,20,29,20,30,20,31,20,32,20,33,20,34,20,35,20,36,20,37,20
|
||||||
|
258 data 8,27,9,27,10,27,11,27,12,27,13,27,14,27,15,27,16,27,17,27,18,27,19,27,20,27,21,27,22,27,23,27,24,27,25,27,26,27,27,27,28,27,29,27,30,27,0,0
|
||||||
|
259 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 6
|
||||||
|
260 let cy=cy-1
|
||||||
|
261 color=13 :plot cx,cy
|
||||||
|
262 for t=1 to 65
|
||||||
|
263 plot cx,cy
|
||||||
|
264 next t
|
||||||
|
265 color=1 :plot cx,cy
|
||||||
|
266 next w
|
||||||
|
267 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
||||||
|
268 let cy=cy+1
|
||||||
|
269 color=13 :plot cx,cy
|
||||||
|
270 for t=1 to 65
|
||||||
|
271 plot cx,cy
|
||||||
|
272 next t
|
||||||
|
273 color=1 :plot cx,cy
|
||||||
|
274 next w
|
||||||
|
275 color=2 :plot x,y
|
||||||
|
276 return
|
||||||
|
277 for w=1 to 6
|
||||||
|
278 let ky=ky-1
|
||||||
|
279 color=9 :plot kx,ky
|
||||||
|
280 for t=1 to 65
|
||||||
|
281 plot kx,ky
|
||||||
|
282 next t
|
||||||
|
283 color=1 :plot kx,ky
|
||||||
|
284 next w
|
||||||
|
285 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
||||||
|
286 let ky=ky+1
|
||||||
|
287 color=9 :plot kx,ky
|
||||||
|
288 for t=1 to 65
|
||||||
|
289 plot kx,ky
|
||||||
|
290 next t
|
||||||
|
291 color=1 :plot kx,ky
|
||||||
|
292 next w
|
||||||
|
293 color=2 :plot x,y :print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
|
294 color=1 :vlin 19,20 at 39 :for e=1 to 300
|
||||||
|
295 vlin 18, 21 at 39 :next e :for e=1 to 300
|
||||||
|
296 vlin 17,22 at 39 :next e :for e=1 to 300
|
||||||
|
297 vlin 16,23 at 39:next e :for e=1 to 300
|
||||||
|
298 vlin 15,24 at 39:next e :for e=1 to 300
|
||||||
|
299 vlin 14,25 at 39 :next e :for e=1 to 300
|
||||||
|
300 vlin 13,26 at 39 :next e
|
||||||
|
301 color=2 :vlin 19,20 at 39 :for e=1 to 325
|
||||||
|
302 color=3 :plot 39,18 :plot39,21 :next e :for e=1 to 325
|
||||||
|
303 color=2 :plot 39,17 :plot39,22 :next e :for e=1 to 325
|
||||||
|
304 color=3 :plot 39,16 :plot39,23:next e :for e=1 to 325
|
||||||
|
305 color=2 :plot 39,15:plot39,24:next e :for e=1 to 325
|
||||||
|
306 color=3 :plot 39,14 :plot39,25 :next e
|
||||||
|
307 for a=1 to 500
|
||||||
|
308 color=2: plot x,y
|
||||||
|
309 next a
|
||||||
|
310 for wa=1 to 25
|
||||||
|
311 color=2 :plot x,y
|
||||||
|
312 next wa
|
||||||
|
313 for abc=1 to 3
|
||||||
|
314 color=1 :plotx,y :let x=x+1
|
||||||
|
315 for sus=1 to 85
|
||||||
|
316 color=2 :plot x,y
|
||||||
|
317 next sus
|
||||||
|
318 next abc
|
||||||
|
319 goto 321
|
||||||
|
320 kx=36 :let ky=19: goto 167
|
||||||
|
321 home
|
||||||
|
322 let k=0
|
||||||
|
323 let key$="NO"
|
||||||
|
324 if lvl=2 then goto 483
|
||||||
|
325 if lvl=1 then let kx=29 :let ky=27
|
||||||
|
326 let s=0
|
||||||
|
327 let e=0
|
||||||
|
328 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
|
329 let levelt=1
|
||||||
|
330 let j=1
|
||||||
|
331 gr
|
||||||
|
332 color=0
|
||||||
|
333 for q=1 to 39
|
||||||
|
334 hlin 0,39 at k :let k=k+1
|
||||||
|
335 next q
|
||||||
|
336 color=10
|
||||||
|
337 vlin 0,38 at 39
|
||||||
|
338 color=7 :for sun=1 to 7
|
||||||
|
339 hlin 18,21 at j :let j=j+1
|
||||||
|
340 next sun
|
||||||
|
341 color=13
|
||||||
|
342 let cx=28 :let cy=26
|
||||||
|
343 rem becketts new gravity improved (no bugs so far)
|
||||||
|
344 plot cx,cy
|
||||||
|
345 color=9 :plot kx,ky
|
||||||
|
346 let X=1: let Y=19
|
||||||
|
347 print "SCORE:";score
|
||||||
|
348 print "LIVES:";lives
|
||||||
|
349 print "KEY OBTAINED?";key$
|
||||||
|
350 rem level plotter
|
||||||
|
351 color=12
|
||||||
|
352 dim z2(39,39)
|
||||||
|
353 read x3,y3
|
||||||
|
354 if x3=0 and y3=0 goto 362
|
||||||
|
355 z2(x3,y3)=1
|
||||||
|
356 plot x3,y3
|
||||||
|
357 color=5
|
||||||
|
358 plot x3,(y3+1) :color=12
|
||||||
|
359 goto 353
|
||||||
|
360 rem character printer
|
||||||
|
361 color=2
|
||||||
|
362 color=2
|
||||||
|
363 plot x,y
|
||||||
|
364 rem get key command
|
||||||
|
365 if X=cx and Y=cy and s=0 then htab(18):vtab(12):let score=score+1 :home :htab 1:vtab 23 :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$:let s=1 : gosub 422 :goto 368
|
||||||
|
366 if X=kx and Y=ky and e=0 then home :htab 1:vtab 23 :let key$="YES" :print "SCORE:";score :print "LIVES:" ;lives :print "KEY OBTAINED?";key$ :let e=1: gosub 440 :goto 368
|
||||||
|
367 if lives<1 then text: home: htab (17):vtab(12):flash:print "YOU LOSE!":normal:end
|
||||||
|
368 let c$="":get c$
|
||||||
|
369 if x<0 then let x=0
|
||||||
|
370 if x>39 and levelt=1 then let x=39
|
||||||
|
371 if c$="W" goto 375
|
||||||
|
372 if c$="A" then color=0 :plot x,y : let X=X-1 :color=2 :plot x,y :if z2(X,Y+1)=0 then goto 383:if z2(X,Y+1)=1 then goto 362
|
||||||
|
373 if c$="D" then color=0 :plot x,y :let X=X+1 :color=2 : plot x,y :if z2(X,Y+1)=0 then goto 383:if z2(X,Y+1)=1 then goto 362
|
||||||
|
374 goto 365
|
||||||
|
375 for i=1 to 6: plot x,y
|
||||||
|
376 gosub 395
|
||||||
|
377 color=0 :plot x,y :let Y=Y-1
|
||||||
|
378 for r=1 to 125
|
||||||
|
379 color=2 :plot x,y
|
||||||
|
380 next r
|
||||||
|
381 gosub 397
|
||||||
|
382 next i
|
||||||
|
383 plot x,y
|
||||||
|
384 color=0 :plot x,y :let Y=Y+1
|
||||||
|
385 for o=1 to 75
|
||||||
|
386 color=2 :plot x,y
|
||||||
|
387 next o
|
||||||
|
388 gosub 397
|
||||||
|
389 gosub 392
|
||||||
|
390 goto 383
|
||||||
|
391 goto 365
|
||||||
|
392 if z2(X,Y+1)=1 goto 365
|
||||||
|
393 if y=38 then color=0: plot x,y :let X=1: let Y=19 :color=2 :plot x,y :let lives=lives-1 :print chr$(7):home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$ :goto 365
|
||||||
|
394 return
|
||||||
|
395 if z2(X,Y-2)=1 goto 383
|
||||||
|
396 return
|
||||||
|
397 let k=PEEK(49152)
|
||||||
|
398 if k=196 and x<38 then color=0 :plot x,y :X=X+1
|
||||||
|
399 if k=193 and x>1 then color=0 :plot x,y :X=X-1
|
||||||
|
400 if z2(x,y)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
401 if z2(x,y)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
402 if z2(x,y+1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
403 if z2(x,y+1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
404 if z2(x,y-1)=1 and k=196 then let x=x-1 :plot x,y
|
||||||
|
405 if z2(x,y-1)=1 and k=193 then let x=x+1 :plot x,y
|
||||||
|
406 let k=PEEK(49168)
|
||||||
|
407 color=2 :plot x,y
|
||||||
|
408 return
|
||||||
|
409 rem map data saver
|
||||||
|
410 rem old data 1,24,2,24,3,24,4,24,5,24,6,24,7,24,8,24,9,24,10,24,11,24,12,24,13,24,14,24,15,24,16,24,17,24,18,24
|
||||||
|
411 rem old data 20,28,21,28,22,28,23,28,24,28,25,28,26,28,27,28,28,28,29,28,30,28,31,28,32,28,33,28,34,28,35,28,36,28,37,28
|
||||||
|
412 rem old data 20,20,21,20,22,20,23,20,24,20,25,20,26,20,27,20,0,0
|
||||||
|
413 rem old data 1,20,2,20,3,20,4,20,5,20,6,20
|
||||||
|
414 rem old data 8,18,9,18,10,18,11,18,12,18
|
||||||
|
415 rem old data 14,22,15,22,16,22,17,22,18,22,19,22,20,22,21,22
|
||||||
|
416 rem old data 23,20,24,20,25,20,26,20,27,20,28,20,29,20,30,20,31,20,32,20,33,20,34,20,35,20,36,20,37,20
|
||||||
|
417 rem old data 8,27,9,27,10,27,11,27,12,27,13,27,14,27,15,27,16,27,17,27,18,27,19,27,20,27,21,27,22,27,23,27,24,27,25,27,26,27,27,27,28,27,29,27,30,27,0,0
|
||||||
|
418 data 1,22,2,22,3,22,4,22,5,22,6,22,7,22,8,22,9,22,10,22,11,22,12,22,13,22,14,22
|
||||||
|
419 data 18,24,19,24,20,24,21,24,22,24,23,24,24,24,25,24
|
||||||
|
420 data 26,20,27,20,30,20,31,20,32,20,33,20,34,20,35,20,36,20,37,20,38,20
|
||||||
|
421 data 26,27,27,27,28,27,29,27,0,0
|
||||||
|
422 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 6
|
||||||
|
423 let cy=cy-1
|
||||||
|
424 color=13 :plot cx,cy
|
||||||
|
425 for t=1 to 65
|
||||||
|
426 plot cx,cy
|
||||||
|
427 next t
|
||||||
|
428 color=0 :plot cx,cy
|
||||||
|
429 next w
|
||||||
|
430 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 6
|
||||||
|
431 let cy=cy+1
|
||||||
|
432 color=13 :plot cx,cy
|
||||||
|
433 for t=1 to 65
|
||||||
|
434 plot cx,cy
|
||||||
|
435 next t
|
||||||
|
436 color=0 :plot cx,cy
|
||||||
|
437 next w
|
||||||
|
438 color=2 :plot x,y
|
||||||
|
439 return
|
||||||
|
440 for w=1 to 6
|
||||||
|
441 let ky=ky-1
|
||||||
|
442 color=9 :plot kx,ky
|
||||||
|
443 for t=1 to 65
|
||||||
|
444 plot kx,ky
|
||||||
|
445 next t
|
||||||
|
446 color=0 :plot kx,ky
|
||||||
|
447 next w
|
||||||
|
448 print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$:for w=1 to 4
|
||||||
|
449 let ky=ky+1
|
||||||
|
450 color=9 :plot kx,ky
|
||||||
|
451 for t=1 to 65
|
||||||
|
452 plot kx,ky
|
||||||
|
453 next t
|
||||||
|
454 color=0 :plot kx,ky
|
||||||
|
455 next w
|
||||||
|
456 color=2 :plot x,y :print chr$(7) :home :print "SCORE:";score :print "LIVES:";lives :print "KEY OBTAINED?";key$
|
||||||
|
457 color=0 :vlin 19,20 at 39 :for e=1 to 300
|
||||||
|
458 vlin 18, 21 at 39 :next e :for e=1 to 300
|
||||||
|
459 vlin 17,22 at 39 :next e :for e=1 to 300
|
||||||
|
460 vlin 16,23 at 39:next e :for e=1 to 300
|
||||||
|
461 vlin 15,24 at 39:next e :for e=1 to 300
|
||||||
|
462 vlin 14,25 at 39 :next e :for e=1 to 300
|
||||||
|
463 vlin 13,26 at 39 :next e
|
||||||
|
464 color=2 :vlin 19,20 at 39 :for e=1 to 325
|
||||||
|
465 color=3 :plot 39,18 :plot39,21 :next e :for e=1 to 325
|
||||||
|
466 color=2 :plot 39,17 :plot39,22 :next e :for e=1 to 325
|
||||||
|
467 color=3 :plot 39,16 :plot39,23:next e :for e=1 to 325
|
||||||
|
468 color=2 :plot 39,15:plot39,24:next e :for e=1 to 325
|
||||||
|
469 color=3 :plot 39,14 :plot39,25 :next e
|
||||||
|
470 for a=1 to 500
|
||||||
|
471 color=2: plot x,y
|
||||||
|
472 next a
|
||||||
|
473 for wa=1 to 25
|
||||||
|
474 color=2 :plot x,y
|
||||||
|
475 next wa
|
||||||
|
476 for abc=1 to 3
|
||||||
|
477 color=0 :plotx,y :let x=x+1
|
||||||
|
478 for sus=1 to 85
|
||||||
|
479 color=2 :plot x,y
|
||||||
|
480 next sus
|
||||||
|
481 next abc
|
||||||
|
482 goto 484
|
||||||
|
483 kx=36 :let ky=19: goto 326
|
||||||
|
484 text: home: htab (17):vtab(12):flash:print "YOU WIN!":normal:end
|
||||||
|
|
||||||
|
|
||||||
|
500 print "To jump press the W key. To move left and right press the A and D keys."
|
||||||
|
501 print "This game was created by Brendan Ghareeb and Beckett Bylsma, with help from a few others."
|
||||||
|
502 print "press S to begin."
|
||||||
|
503 get start$
|
||||||
|
504 if start$="S" then return
|
||||||
|
505 goto 503
|
Loading…
Reference in New Issue