Repository navigation
Expand file tree
/
Copy pathBloxoTIz.txt
More file actions
443 lines (443 loc) · 10.7 KB
/
Copy pathBloxoTIz.txt
File metadata and controls
443 lines (443 loc) · 10.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
1 CALL CLEAR
2 CALL SCREEN(2)
3 DIM BX(7,4)
4 DIM BY(7,4)
5 DIM BSH(7)
6 DIM BOC(7)
7 DIM BSI(7,4)
8 DIM BWH(7,4)
9 DIM R(2)
10 DIM YS(2)
11 DIM XS(2)
12 DIM OPY(2)
13 DIM OPX(2)
14 SF$="3C7EFFFFFFFF7E3C"
15 HD$="42E77E3C3C7EE742"
16 SP$="0066C38181C36600"
17 FOR I=1 TO 9
18 READ C,C$
19 CALL CHAR(C,C$)
20 NEXT I
21 FOR I=1 TO 6
22 READ FG,BG
23 CALL COLOR(I+8,FG,BG)
24 NEXT I
25 CALL CHAR(120,SF$)
26 CALL CHAR(121,HD$)
27 CALL CHAR(122,SP$)
28 CALL CLEAR
29 PRINT " `rr BLOXO-TI-Z rr`": : :" (C)2010 BY UNHUMAN"
30 FOR I=1 TO 8
31 CALL COLOR(I,16,1)
32 PRINT
33 NEXT I
34 GOSUB 335
35 CALL CLEAR
36 PRINT "INSTRUCTIONS:": : :"MOVE / FLIP BLOCK WITH STICK": :"GET BLOCK TO GOAL `": :
37 PRINT "SOME BLOCKS ARE WEAK "&CHR$(136): :"BUTTONS x y ADJUST BRIDGES "&CHR$(128): :
38 PRINT "BUTTON z SPLITS BLOCK IN 2":" PRESS FIRE BUTTON":" TO SWITCH PIECES": :
39 PRINT "DO NOT FALL OFF THE WORLD": : :"THERE ARE 31 LEVELS": : : :
40 GOSUB 335
41 RESTORE 402
42 T=0
43 CALL CLEAR
44 IF L=31 THEN 367
45 GOSUB 350
46 PRINT "LEVEL: "&STR$(L+1)
47 GOSUB 364
48 C=A
49 GOSUB 364
50 OY=A
51 GOSUB 364
52 OX=A
53 FOR I=1 TO C
54 GOSUB 364
55 Y=A+OY
56 GOSUB 364
57 X=A+OX
58 GOSUB 364
59 VERT=A
60 GOSUB 364
61 HORIZ=A
62 GOSUB 364
63 CHAR=96+A
64 FOR ROW=0 TO VERT-1
65 CALL HCHAR(Y+ROW,X,CHAR,HORIZ)
66 NEXT ROW
67 NEXT I
68 GOSUB 364
69 BC=A
70 FOR I=1 TO BC
71 GOSUB 364
72 Y=A+OY
73 GOSUB 364
74 X=A+OX
75 GOSUB 364
76 BSH(I)=A
77 IF BSH(I)=2 THEN 96
78 GOSUB 364
79 BOC(I)=A
80 GOSUB 364
81 BBC(I)=A
82 FOR J=1 TO BBC(I)
83 GOSUB 364
84 BY(I,J)=A+OY
85 GOSUB 364
86 BX(I,J)=A+OX
87 GOSUB 364
88 BSI(I,J)=A
89 GOSUB 364
90 BWH(I,J)=A
91 NEXT J
92 P$=SF$
93 IF BSH(I)=0 THEN 107
94 P$=HD$
95 GOTO 107
96 IF BSH(I)=1 THEN 107
97 GOSUB 364
98 BY(I,1)=A+OY
99 GOSUB 364
100 BX(I,1)=A+OX
101 GOSUB 364
102 BSI(I,1)=A+OY
103 GOSUB 364
104 BWH(I,1)=A+OX
105 P$=SP$
106 BOC(I)=-1
107 CALL CHAR(119+I,P$)
108 CALL HCHAR(Y,X,119+I)
109 NEXT I
110 GOSUB 364
111 IF A>0 THEN 116
112 I=ABS(A)
113 GOSUB 364
114 CALL HCHAR(I+OY,A+OX,119+BC)
115 GOTO 110
116 IPY=A+OY
117 GOSUB 364
118 IPX=A+OX
119 IPS=2
120 IH=1
121 IW=1
122 FOR I=1 TO BC
123 IF BOC(I)=-1 THEN 133
124 FOR J=1 TO BBC(I)
125 CH=128
126 IF BSI(I,J)<>0 THEN 128
127 CH=32
128 IF BWH(I,J)<0 THEN 131
129 CALL HCHAR(BY(I,J),BX(I,J),CH,BWH(I,J))
130 GOTO 132
131 CALL VCHAR(BY(I,J),BX(I,J),CH,ABS(BWH(I,J)))
132 NEXT J
133 NEXT I
134 PY=IPY
135 PX=IPX
136 PS=IPS
137 H=IH
138 W=IW
139 OPY(1)=PY
140 OPY(2)=PY
141 OPX(1)=PX
142 OPX(2)=PX
143 JX=1
144 JY=1
145 R(1)=104
146 R(2)=104
147 P=1
148 GOSUB 282
149 M=0
150 GOSUB 231
151 IF R(1)=32 THEN 222
152 IF R(2)=32 THEN 222
153 IF R(1)<>136 THEN 157
154 IF PS=1 THEN 157
155 IF H<>1 THEN 157
156 IF W=1 THEN 222
157 IF R(1)<>96 THEN 161
158 IF PS<>2 THEN 161
159 IF H<>1 THEN 161
160 IF W=1 THEN 214
161 LOB=OB
162 OB=0
163 FOR I=1 TO BC
164 IF R(1)=119+I THEN 167
165 IF R(2)=119+I THEN 167
166 GOTO 192
167 OB=1
168 IF LOB THEN 193
169 IF BSH(I)=0 THEN 174
170 IF PS<>2 THEN 193
171 IF H<>1 THEN 193
172 IF W<>1 THEN 193
173 IF BSH(I)=2 THEN 194
174 FOR J=1 TO BBC(I)
175 IF BOC(I)=1 THEN 182
176 IF BOC(I)=2 THEN 179
177 CALL GCHAR(BY(I,J),BX(I,J),CH)
178 IF CH=32 THEN 182
179 CH=32
180 CHE=128
181 GOTO 184
182 CH=128
183 CHE=32
184 IF BWH(I,J)<0 THEN 188
185 CALL HCHAR(BY(I,J),BX(I,J),CHE,BWH(I,J))
186 CALL HCHAR(BY(I,J),BX(I,J),CH,BWH(I,J))
187 GOTO 190
188 CALL VCHAR(BY(I,J),BX(I,J),CHE,ABS(BWH(I,J)))
189 CALL VCHAR(BY(I,J),BX(I,J),CH,ABS(BWH(I,J)))
190 CALL SOUND(-100,-5,0)
191 NEXT J
192 NEXT I
193 GOTO 213
194 CALL HCHAR(PY,PX,R(1))
195 YS(1)=BY(I,1)
196 XS(1)=BX(I,1)
197 YS(2)=BSI(I,1)
198 XS(2)=BWH(I,1)
199 CALL GCHAR(YS(1),XS(1),R(1))
200 CALL GCHAR(YS(2),XS(2),R(2))
201 CALL HCHAR(YS(1),XS(1),112)
202 CALL HCHAR(YS(2),XS(2),114)
203 P=1
204 H=1
205 W=1
206 PS=1
207 PY=YS(P)
208 PX=XS(P)
209 FOR I=1 TO 2
210 OPY(I)=YS(I)
211 OPX(I)=XS(I)
212 NEXT I
213 GOTO 150
214 L=L+1
215 T=T+M
216 PRINT: :"MOVES / LEVEL: "&STR$(M): :"MOVES / TOTAL: "&STR$(T)
217 FOR I=1 TO 24
218 CALL SOUND(50,110+I*20,10)
219 PRINT
220 NEXT I
221 GOTO 43
222 CALL HCHAR(OPY(1),OPX(1),R(1))
223 CALL HCHAR(OPY(2),OPX(2),R(2))
224 FOR I=8 TO 1 STEP-1
225 IF R(1)<>32 THEN 226
226 IF R(2)<>32 THEN 227
227 CALL SOUND(100,I*110,8-I)
228 NEXT I
229 CALL SOUND(250,-2,0)
230 GOTO 122
231 CALL KEY(1,K,S)
232 IF K+1=1 THEN 28
233 IF PS<>1 THEN 238
234 IF K<>18 THEN 238
235 IF S=-1 THEN 238
236 CALL SOUND(100,660,0)
237 GOSUB 384
238 CALL JOYST(1,JX,JY)
239 IF JX<>0 THEN 241
240 IF JY=0 THEN 293
241 IF JX*JY<>0 THEN 293
242 JX=JX/4
243 JY=-JY/4
244 OB=0
245 M=M+1
246 IF ABS(JX)<>1 THEN 259
247 PX=PX+JX
248 IF PS=1 THEN 272
249 IF H=2 THEN 272
250 IF W=2 THEN 255
251 W=2
252 IF JX<>-1 THEN 272
253 PX=PX-1
254 GOTO 272
255 W=1
256 IF JX<>1 THEN 272
257 PX=PX+1
258 GOTO 272
259 IF ABS(JY)<>1 THEN 272
260 PY=PY+JY
261 IF PS=1 THEN 272
262 IF W=2 THEN 272
263 IF H=2 THEN 268
264 H=2
265 IF JY<>-1 THEN 272
266 PY=PY-1
267 GOTO 272
268 H=1
269 IF JY<>1 THEN 272
270 PY=PY+1
271 GOTO 272
272 CALL HCHAR(OPY(P),OPX(P),R(P))
273 IF PS=1 THEN 275
274 CALL HCHAR(OPY(3-P),OPX(3-P),R(3-P))
275 OPY(P)=PY
276 OPX(P)=PX
277 CALL GCHAR(OPY(P),OPX(P),R(P))
278 IF PS=1 THEN 282
279 OPY(2)=OPY(1)+H-1
280 OPX(2)=OPX(1)+W-1
281 CALL GCHAR(OPY(2),OPX(2),R(2))
282 CALL SOUND(-50,-6,0)
283 IF PS=2 THEN 286
284 CALL HCHAR(PY,PX,112)
285 GOTO 294
286 IF W=2 THEN 290
287 IF H=2 THEN 292
288 CALL HCHAR(PY,PX,113)
289 RETURN
290 CALL HCHAR(PY,PX,114,2)
291 RETURN
292 CALL VCHAR(PY,PX,115,2)
293 RETURN
294 IF PY<>YS(3-P)THEN 314
295 IF PX<>XS(3-P)-1 THEN 304
296 IF P=1 THEN 299
297 GOSUB 384
298 GOTO 308
299 PS=2
300 W=2
301 OPX(3-P)=OPX(P)+1
302 OPY(3-P)=OPY(P)
303 GOTO 286
304 IF PX<>XS(3-P)+1 THEN 334
305 IF P=1 THEN 308
306 GOSUB 384
307 GOTO 294
308 PS=2
309 W=2
310 PX=PX-1
311 OPX(3-P)=OPX(P)-1
312 OPY(3-P)=PY
313 GOTO 286
314 IF PX<>XS(3-P)THEN 334
315 IF PY<>YS(3-P)-1 THEN 324
316 IF P=1 THEN 319
317 GOSUB 384
318 GOTO 328
319 PS=2
320 H=2
321 OPY(3-P)=OPY(P)+1
322 OPX(3-P)=OPX(P)
323 GOTO 286
324 IF PY<>YS(3-P)+1 THEN 334
325 IF P=1 THEN 328
326 GOSUB 384
327 GOTO 319
328 PS=2
329 H=2
330 PY=YS(3-P)
331 OPY(3-P)=OPY(P)-1
332 OPX(3-P)=OPX(P)
333 GOTO 286
334 RETURN
335 PRINT " PRESS ANY KEY..."
336 L=0
337 CALL KEY(0,K,S)
338 IF S<>1 THEN 337
339 IF K<48 THEN 346
340 IF K>57 THEN 346
341 L=L*10+K-48
342 CALL SOUND(100,550,5)
343 IF L<32 THEN 337
344 CALL SOUND(200,-2,5)
345 GOTO 336
346 L=L-1
347 IF L>0 THEN 349
348 L=0
349 RETURN
350 IF T<>0 THEN 352
351 PRINT "PLEASE WAIT..."
352 FOR I=0 TO L
353 READ L$
354 Q=1
355 GOSUB 364
356 FOR J=1 TO A
357 READ M$
358 L$=L$&M$
359 NEXT J
360 IF T<>0 THEN 363
361 NEXT I
362 CALL CLEAR
363 RETURN
364 A=ASC(SEG$(L$,Q,1))-48
365 Q=Q+1
366 RETURN
367 PRINT " CONGRATULATIONS!": : :" MOVES: "&STR$(T): : : : : : : : : :
368 FOR I=1 TO 4
369 CALL HCHAR(I+1,1,114,32)
370 CALL HCHAR(23-I,1,114,32)
371 CALL VCHAR(6,I,115,13)
372 CALL VCHAR(6,33-I,115,13)
373 CALL SOUND(100,I*110,0,I*220,0,I*330,0)
374 NEXT I
375 FOR J=1 TO 3
376 FOR I=110 TO 1010 STEP 50
377 CALL SOUND(-100,I,0,I+110,0,I+220,0)
378 CALL COLOR(11,RND*15+1,RND*15+1)
379 NEXT I
380 NEXT J
381 CALL COLOR(11,7,10)
382 GOSUB 335
383 GOTO 28
384 CALL HCHAR(PY,PX,114)
385 OPY(P)=PY
386 OPX(P)=PX
387 YS(P)=PY
388 XS(P)=PX
389 P=3-P
390 PY=YS(P)
391 PX=XS(P)
392 OPY(P)=PY
393 OPX(P)=PX
394 CALL HCHAR(PY,PX,112)
395 RETURN
396 DATA 96,"FFFFFFFFFFFFFFFF"
397 DATA 104,"FF818181818181FF",105,
398 DATA 112,"0010301010103800",113,"0038440810207C00",114,"00FFFF0000FFFF00",115,"6666666666666666"
399 DATA 128,"FFD5ABD5ABD5ABFF"
400 DATA 136,"FFC993A5C993A5FF"
401 DATA 13,4,16,15,7,10,5,15,11,1,15,1
402 DATA "068;113382235836348472486713858110022"
403 DATA "047821548176481=5382>1102330315502291315;0252"
404 DATA "07882144835128173381:1281<4283=3384>110042"
405 DATA "0;7931538341181427X3:1383;3286:25X8;24X8=118662488623887110062"
406 DATA "0;6822448281481<2483=138641586;4387>228911=881348921106912P42903126124401196126702196127?03196122>"
407 DATA "0;69411681661817128193383<3384=3385523857518883387:3285>110041"
408 DATA "0;68314384416819248391183<1183=438721288316878118582384>11015:111740142"
409 DATA "0469413681:9384=3385>11015522;8;52"
410 DATA 06891134835178182181<348472384811012>22=2322"
411 DATA "0<5911338221102611819268391484:1385<1286=5188<318:913895158:512832=22=2::60312402:<13227024=012:"
412 DATA "0;6:1233823110422186115846628481284:3286<41888228:91189:228177021151.61"
413 DATA "0;697121862338443385511026338391282;4281=2186:24887158962382371313=011=131570173"
414 DATA "0B6911628131;81411X1911X2;1383<3386<2187636X7;11888118:912884328:6118435185413X6621X473385811004="
415 DATA "0;69316188224894110:31382433837188192384=438793387<118:916824=1313202:>131420235"
416 DATA "1<68313284313825218183381=33862218813389413887338781187<3388=11057<0218:129<0218:126822>92"
417 DATA "4903226122;022=1322612330292"
418 DATA "087:1231821138261381;3386333876138693382<11077:21221232212321223123223221122282626111240227111290274"
419 DATA "086811:3824168391582=3383>11084158781487<42859203189017=1113801:=13289012:014>11177014=121380122"
420 DATA "1<682154871318353184613828318592184;1284?1185=2187<1388;2488=110"
421 DATA "61811149027911292024=02420214902230223=029202630223=02920294131560143"
422 DATA "0968121>8262282>4286:16866428613387211092228:51:831;03168026;021:302:;031:30212"
423 DATA "0768712282353873128286381=3387=4389>11063802126025:0212602540212612820312;025822>8>7=0317;0239"
424 DATA "1@6831328432283522837118282381912849218691485=3386>1107932862128732188422896118:51682"
425 DATA "69131:40179131860142"
426 DATA "1<69313382432816328283283:3381<3382=11062418931186;4189:1188:11P"
427 DATA "44502283014=013702283014=01::1318301:31314=0142"
428 DATA "1<6812438513185521874438:71287735X6813X38338491107<3381=4385?21854?0223;127?112>032:9017202"
429 DATA "8=28=33610324101720223111450185"
430 DATA "1=69414286321864128252384512855118281381;3484=2186;3387<11076228781185411112401"
431 DATA "2<11133023611188018611179022>2767832"
432 DATA "0;6941338721183524816248292384;2284=1182>31857218773388811032802143121>24=6;8211254018:016;"
433 DATA "1@681133824148183281:2281<1281>4284=6287?318:8128613386:118721107427X6644X9:11X8;22X"
434 DATA "34>122:711::116=021:7116>011::1122"
435 DATA "1@691232816128261383614848138591386:1387;2589;2383142X6233873110"
436 DATA "932188513896228:613828<0221412:9126<27?:=33"
437 DATA "1I68143382511017188271181912X2=21X2>2184832X491785?3187>2189=2187114X78128812:X8411886118"
438 DATA "8611889118911186411X63118:215X:31189924X3621114;128=1318?013?1334;127:017=0153"
439 DATA "1=6822338376381<3382=1104=1185213X6311X73118823385=11X6<13X7<3388131X"
440 DATA "5971318502291313:028802435023:0285028:025702435023:0285028:129313235121?0-8="
441 DATA "1=682316832338431108122837128481583;1482<1381=118591386:3287523895178"
442 DATA "33<13193021>132830225128613135027;"
443 DATA "096831238714388211016938197383;6489<1187=4384412P28?1112<01180218412-6-9,:,;,>+;*<)<(7(>42"