-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDesertBus.txt
53 lines (52 loc) · 3.73 KB
/
DesertBus.txt
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
1 HI=0 :: RANDOMIZE :: CALL CHARPAT(ASC("u"),PAT$) :: CALL CHAR(ASC("b"),PAT$)
2 RESTORE :: FOR I=1 TO 8 :: READ A,C$ :: CALL CHAR(A,C$) :: NEXT I
10 CALL CLEAR :: CALL SCREEN(1) :: CALL MAGNIFY(4)
20 FOR I=1 TO 14 :: CALL COLOR(I,15,1) :: NEXT I
21 DISPLAY AT(1,20):"HI-SCORE:" :: DISPLAY AT(2,27)SIZE(2):HI
30 DISPLAY AT(9,4):"TENN and PELLER'S" :: DISPLAY AT(11,11):"DESERT BUS"
31 DISPLAY AT(20,9):"(C) 2010 bnHUman SOFTWARE"
32 DISPLAY AT(16,4):"DRIVE CROSS COUNTRY..." :: DISPLAY AT(17,4):"AND BACK - DON'T CRASH"
33 DISPLAY AT(23,1):"PRESS ANY KEY TO..." :: DISPLAY AT(24,8):"...BEGIN YOUR JOURNEY"
40 CALL SPRITE(#2,112,5,66,188) :: CALL SPRITE(#1,128,15,66,188)
50 CALL KEY(0,K,S) :: GOSUB 999 :: IF S=0 THEN 50
51 CALL CLEAR :: DISPLAY AT(1,20):"HI-SCORE:" :: DISPLAY AT(2,27)SIZE(2):HI
52 DISPLAY AT(9,4):"PICK GAME:" :: DISPLAY AT(11,4):"1 - CLASSIC" :: DISPLAY AT(12,4):"2 - RELOADED"
53 DISPLAY AT(24,1):"PRESS NUMBER FOR GAME DESIRE"
54 CALL KEY(0,L,S) :: GOSUB 999 :: IF S=0 THEN 53
55 IF L<>49 AND L<>50 THEN 53 ELSE L=L-47
60 CALL DELSPRITE(ALL) :: CALL MAGNIFY(3) :: CALL CLEAR :: CALL SCREEN(12) :: FOR I=1 TO 24 :: DISPLAY AT(I,12):" " :: NEXT I
70 FOR I=1 TO 8 :: CALL COLOR(I,2,12) :: NEXT I :: CALL COLOR(9,2,2) :: FOR I=14 TO 19 :: CALL VCHAR(1,I,96,24) :: NEXT I
80 FOR I=0 TO 6 :: CALL SPRITE(#20+I,136,15,I*34+1,120) :: NEXT I :: CALL SPRITE(#27,140,11+3-L,20,80)
90 FOR I=0 TO 7 :: CALL MOTION(#20+I,10,0) :: NEXT I
100 SCORE=0 :: ODO=0 :: DISPLAY AT(1,1)SIZE(6):"SPEED:" :: DISPLAY AT(4,1)SIZE(4):"ODO:" :: DISPLAY AT(5,3)SIZE(4):USING "####":ODO
110 DISPLAY AT(7,1)SIZE(4):"DIR:"
120 DISPLAY AT(1,20):"HI-SCORE:" :: DISPLAY AT(2,27)SIZE(2):HI :: DISPLAY AT(4,23):"SCORE:" :: DISPLAY AT(5,27)SIZE(2):SCORE
130 X=120 :: SKEW=0 :: CALL SPRITE(#2,112,5,150,X) :: CALL SPRITE(#1,128,15,150,X)
500 FOR DIR=1 TO 2 :: IF DIR=1 THEN DISPLAY AT(8,3)SIZE(4):"WEST" ELSE DISPLAY AT(8,3)SIZE(4):"EAST"
501 FOR L1=1 TO 2973
502 FOR M=1 TO 73
900 SPEED=59+INT(RND*3) :: DISPLAY AT(2,4)SIZE(3):SPEED
908 IF RND>.5 THEN SKEW=INT(RND*L) :: IF L=3 THEN SKEW=SKEW-1
909 CALL SOUND(-1500,-6,29)
910 CALL JOYST(1,JX,JY) :: X=X+JX/2+SKEW :: CALL LOCATE(#1,150,X,#2,150,X)
920 IF X<104 OR X>138 THEN 1000
990 GOSUB 999
991 NEXT M :: ODO=ODO+1 :: DISPLAY AT(5,3)SIZE(4):USING "####":ODO :: NEXT L1 :: CALL SOUND(100,110,0) :: NEXT DIR
998 GOTO 1500
999 CALL PATTERN(#2,INT(RND*4)*4+112) :: CALL PATTERN(#1,INT(RND*2)*4+128) :: RETURN
1000 FOR I=27 TO 20 STEP-1 :: CALL MOTION(#I,0,0) :: NEXT I
1005 FOR I=1 TO 5 :: CALL SOUND(50,-7,0) :: CALL SCREEN(3) :: CALL SOUND(50,-6,0) :: CALL SCREEN(7) :: NEXT I
1010 CALL SOUND(-1000,-6,0) :: FOR I=1 TO 8 :: CALL COLOR(I,2,7) :: NEXT I :: CALL DELSPRITE(#1,#2)
1020 FOR I=1000 TO 150 STEP-50 :: CALL SOUND(100,I,0) :: NEXT I :: CALL DELSPRITE(ALL) :: GOTO 10
1500 SCORE=SCORE+1 :: DISPLAY AT(5,27)SIZE(2):SCORE :: IF SCORE>HI THEN HI=SCORE :: DISPLAY AT(2,27)SIZE(2):HI
1501 FOR I=26 TO 20 STEP-1 :: CALL MOTION(#I,0,0) :: NEXT I
1502 FOR I=1 TO 3 :: FOR J=0+I*110 TO 550+I*110 STEP 40 :: CALL SOUND(-100,J,0) :: NEXT J :: NEXT I
1999 CALL DELSPRITE(ALL) :: CALL COLOR(1,1,1) :: CALL SCREEN(1) :: CALL CLEAR :: GOTO 10
2000 DATA 112,"0F193171717F7F7F7F7F7F7F3F12120CF0988C8E8EFEFEFEFEFEFEFEFC484830"
2010 DATA 116,"0F193171717F7F7F7F7F7F7F3F12120CF0988C8E8EFEFEFEFEFEFEFEFC483000"
2020 DATA 120,"0F193171717F7F7F7F7F7F7F3F120C00F0988C8E8EFEFEFEFEFEFEFEFC484830"
2030 DATA 124,"0F193171717F7F7F7F7F7F7F3F120C00F0988C8E8EFEFEFEFEFEFEFEFC483000"
2040 DATA 128,"0000000000000000000000000000000000000000000080C07020301000000000"
2050 DATA 132,"00000000000000000000000000000000000000000000002C0818101000000000"
2060 DATA 136,"0000000101010101010101010101000000000080808080808080808080800000"
2070 DATA 140,"0003072676775F7D2F1D0F070707060000008080B0A8A8A8F8D8F8C0C0C04000"