-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathHBSTACLE.bas
69 lines (69 loc) · 2.19 KB
/
HBSTACLE.bas
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
10 OPEN "RECORD" FOR INPUT AS #1:INPUT #1,T0,TH,W(1),W(2),W(3),W(4),W(5),W(6): CLOSE #1
20 KEY OFF:DIM A(32),B(8)
30 V1$=MID$(TIME$,1,2):V2$=MID$(TIME$,4,2):V3$=MID$(TIME$,7,2)
40 V1=VAL(V1$):V2=VAL(V2$):V3=VAL(V3$)
50 RANDOMIZE V1*V2*V3*.8-32766
60 CLS
70 LOCATE 1,1:PRINT STRING$(79,"#")
80 LOCATE 2,1:PRINT STRING$(79,"#")
90 FOR I=2 TO 22
100 LOCATE I,1:PRINT"#"
110 NEXT I
120 PRINT STRING$(79,"#")
130 LOCATE 22,1:PRINT STRING$(79,"#")
140 LOCATE 11,6:PRINT STRING$(50,"#")
150 LOCATE 12,6:PRINT STRING$(50,"#")
160 LOCATE 6,49:PRINT"############"
170 LOCATE 7,49:PRINT"############"
180 LOCATE 17,49:PRINT"############"
190 LOCATE 18,49:PRINT"############"
200 X=INT(RND*70):Y=INT(RND*22)
210 IF X<3 OR Y<3 THEN 200
220 LOCATE Y,X:PRINT"@"
230 GET(9*X-9,14*Y-14)-(9*X,14*Y),B
240 LOCATE 11,69:PRINT"詗"
250 LOCATE 12,69:PRINT"詗"
260 Q1=11
270 Q2=12
280 GET(612,140)-(630,168),A
290 M=(-1)^V3*2:N=(-1)^V2*2:T=0
300 ON KEY(11) GOSUB 460
310 ON KEY(14) GOSUB 510
320 KEY(11) ON
330 KEY(14) ON
340 KEY(11) STOP
350 KEY(14) STOP
360 X=X+M:Y=Y+N
370 X0=9*X-9:Y0=14*Y-14
380 PUT(X0,Y0),B:PUT(X0-9*M,Y0-14*N),B
390 IF Y=23 OR Y=22 OR Y=2 OR Y=1 THEN N=-N:SOUND 261.63,4:GOTO 420
400 IF Y=11 OR Y=12 THEN IF X>5 AND X<56 THEN N=-N:SOUND 261.63,4:GOTO 320
410 IF X>48 AND X<61 THEN IF Y=6 OR Y=7 OR Y=18 OR Y=17 THEN N=-N:SOUND 261.63,4:GOTO 320
420 IF X=1 OR X=2 THEN M=-M:SOUND 261.63,4:GOTO 320
430 IF X=70 OR X=69 THEN IF Y=Q1 OR Y=Q2 THEN M=-1:T=T+1:SOUND 1046,4:GOTO 320
440 IF X>77 THEN 560
450 GOTO 320
460 IF Q1=1 THEN 320
470 Q2=Q1:Q1=Q1-1
480 Q0=14*Q1-14
490 PUT(612,Q0),A:PUT(612,Q0+14),A
500 RETURN 430
510 IF Q2=23 THEN 320
520 Q1=Q2:Q2=Q2+1
530 Q0=14*Q1-14
540 PUT(612,Q0),A:PUT(612,Q0-14),A
550 RETURN 430
560 PLAY "O4 ML L32 B A# A G# G F# F E D# D C# C O3 B A# A G# G F# F E D# D C# C P8 O4 C16"
570 FOR I=1 TO 25:NEXT I
580 LOCATE 12,33
590 PRINT"YOU MISSED!"
600 IF T>TH THEN TH=T:GOTO 650
610 LOCATE 14,34:PRINT T;"TIMES"
620 LOCATE 10,29:PRINT"HRECORD---";TH;"TIMES"
630 GOTO 60
640 END
650 OPEN "RECORD" FOR OUTPUT AS #1
660 WRITE #1,T0,TH,W(1),W(2),W(3),W(4),W(5),W(6):CLOSE #1
670 PLAY "T108 O3 C8 E4. C16 E16 G4. C16 G16 O4 C4."
680 GOTO 610