Another classic arcade game! Look out for the hand!
PROG : 16509
D-FILE: 24322
VARS : 25115
E-LINE: 25340
STKBOT: 25340
STKEND: 25340
9999 means line number
PRINT means treat as KEYWORD P
10 REM **JOUST**SLR/1984******
11 LET H1=4
12 LET H2=15
13 LET L=0
20 LET S=0
30 LET M=3
31 DIM I$(2)
32 LET I$(1)="0"
33 LET I$(2)="0"
35 CLS
36 REM SLOW
40 PRINT AT 9,0;" ºººº ó";
AT 9,22;"ó ºººº ";AT 10,0;"
ó";AT 10,25;"ó ";AT 19,
0;"¸¸¸¸¸¸ ºººº ¸¸¸
¸¸¸";AT 20,0;"¸¸¸¸¸¸¸º
º¸¸¸¸¸¸¸";AT 21,0;"¸¸¸ººº
ººº¸¸¸"
45 DIM A$(2,6)
48 DIM B$(3,6)
50 LET A$(1)=" ²ùó ´"
55 LET A$(2)="ù± ÷ ó"
60 LET B$(1)=" ²ùó!´"
65 LET B$(2)="ù± ÷!ó"
66 LET B$(3)=" ²ù²!±"
69 LET H$="±² ÷"
70 LET D1=1
71 LET Q=0
80 LET D2=2
90 LET D3=1
100 DIM X(6)
110 DIM Y(6)
120 LET X(1)=7
130 LET X(3)=17
140 LET X(5)=7
150 LET Y(1)=2
160 LET Y(3)=11
170 LET Y(5)=26
175 LET L=L+1
176 LET L$=STR$ L
177 FOR F=1 TO LEN L$
178 LET L$(F)=CHR$ (CODE L$(F)+
128)
179 NEXT F
180 PRINT AT 20,10;"LEVEL:";L$
181 PRINT AT X(1)+1,Y(1);B$(D1,
1 TO 3);AT X(3)+1,Y(3);B$(D2,1
TO 3)
190 LET F=SIN PI
200 PRINT AT X(1),Y(1);B$(D1,1
TO 3);AT X(1)+1,Y(1);B$(D1,4
TO 6);AT X(3),Y(3);B$(D2,1 TO 3
);AT X(3)+1,Y(3);B$(D2,4 TO 6)
210 LET F=SIN PI
220 PRINT AT X(5)+1,Y(5);A$(D3,
1 TO 3)
230 LET F=SIN PI
250 PRINT AT X(5),Y(5);A$(D3,1
TO 3);AT X(5)+1,Y(5);A$(D3,4
TO 6)
260 PAUSE 100
265 REM FAST
266 PRINT AT X(1),Y(1);" ";
AT X(1)+1,Y(1);" ";AT X(3),Y(3
);" ";AT X(3)+1,Y(3);" "
267 PRINT AT X(5),Y(5);" ";
AT X(5)+1,Y(5);" "
270 LET Y(1)=Y(1)+1
275 IF Y(1)=30 THEN LET Y(1)=0
280 LET Y(3)=Y(3)-1
285 IF Y(3)=-1 THEN LET Y(3)=29
290 LET F=INT (2*RND)
300 IF F=0 THEN LET X(1)=X(1)-(
X(1)>H1)
305 IF F=1 THEN LET X(1)=X(1)+(
X(1)<7)
306 LET F=INT (2*RND)
310 IF F=0 THEN LET X(3)=X(3)-(
X(3)>H2)
315 IF F=1 THEN LET X(3)=X(3)+(
X(3)<17)
320 PRINT AT X(1),Y(1);B$(D1,1
TO 3);AT X(1)+1,Y(1);B$(D1,4
TO 6);AT X(3),Y(3);B$(D2,1 TO 3
);AT X(3)+1,Y(3);B$(D2,4 TO 6)
330 LET F$=INKEY$
335 IF X(5)=9 OR X(5)=10 THEN
GOTO 350
340 LET Y(5)=Y(5)-(F$="Z")+(F$=
".")
350 IF Y(5)=30 THEN LET Y(5)=0
360 IF Y(5)=-1 THEN LET Y(5)=29
370 LET D3=(F$=".")+(2 AND F$="
Z")+(D3 AND (F$<>"." AND F$<>"Z"
))
380 IF F$="M" THEN LET X(5)=X(5
)-(2 AND X(5)>0)
390 LET X(5)=X(5)+1
400 IF X(5)=18 AND (Y(5)>5 AND
Y(5)<26) THEN LET X(5)=X(5)-1
410 IF X(5)=8 AND (Y(5)<10 OR Y
(5)>19) THEN LET X(5)=X(5)-1
415 IF X(5)=10 AND (Y(5)<10 OR
Y(5)>19) THEN LET X(5)=X(5)+1
420 PRINT AT X(5),Y(5);A$(D3,1
TO 3);AT X(5)+1,Y(5);A$(D3,4
TO 6)
425 REM SLOW
426 IF Q AND Q<>-1 AND (B$(2)="
" OR B$(1)=" ") THEN
GOSUB 500
430 IF Y(5)<6 AND X(5)>14 THEN
GOTO 1000
440 IF (Y(5)>=Y(3) AND Y(5)<=Y(
3)+2) OR (Y(5)>=Y(1) AND Y(5)<=Y
(1)+2) THEN GOTO 1500
450 IF (Y(5)+2>=Y(3) AND Y(5)+2
<=Y(3)+2) OR (Y(5)+2>=Y(1) AND Y
(5)+2<=Y(1)+2) THEN GOTO 1500
460 IF B$(1)=" " AND B$(2)
=" " THEN GOTO 2500
470 IF X(5)>=19 THEN GOTO 1130
480 GOTO 265
500 IF B$(1)=" " THEN
GOTO 550
510 LET X(3)=17
520 LET Y(3)=11
530 PRINT AT X(3),Y(3);B$(3,
TO 3);AT X(3)+1,Y(3);B$(3,4 TO
)
535 LET B$(2)="ù± ÷!ó"
540 PAUSE 100
541 LET Q=-1
542 GOTO 255
550 LET X(1)=7
560 LET Y(1)=2
570 PRINT AT X(1),Y(1);B$(3,
TO 3);AT X(1)+1,Y(1);B$(3,4 TO
)
580 PAUSE 100
586 LET B$(1)=" ²ùó!´"
590 GOTO 541
1000 FOR F=18 TO X(5)+1 STEP -1
1010 IF F=18 THEN PRINT AT 18,Y(
5);H$(1 TO 2)
1020 IF F=17 THEN PRINT AT F,Y(5
);H$(1 TO 2);AT F+1,Y(5);H$(3
TO 4)
1030 IF F<17 THEN PRINT AT F,Y(5
);H$(1 TO 2);AT F+1,Y(5);H$(3
TO 4);AT F+2,Y(5);" "
1050 NEXT F
1060 FOR F=X(5)+1 TO 19
1070 IF F<16 THEN PRINT AT F-1,Y
(5);" ";AT F,Y(5);A$(D3,1 TO 3
);AT F+1,Y(5);H$(1 TO 2);AT F+2,
Y(5);H$(3 TO 4)
1080 IF F=16 THEN PRINT AT F-1,Y
(5);" ";AT F,Y(5);A$(D3,1 TO 3
);AT F+1,Y(5);H$(1 TO 2)
1090 IF F=17 THEN PRINT AT F-1,Y
(5);" ";AT F,Y(5);A$(D3,1 TO 3
)
1100 IF F=18 THEN PRINT AT F-1,Y
(5);" ";AT F,Y(5);A$(D3,1 TO 3
)
1110 IF F=19 THEN PRINT AT F-1,Y
(5);" ";
1120 NEXT F
1130 LET M=M-1
1135 PRINT AT 20,9;"YEE GOT HIT-
=-=-="
1136 PAUSE 100
1137 LET L=L-1
1140 IF M>0 THEN GOTO 35
1150 PRINT AT 10,10;"YOU DIED<>
<>"
1160 PRINT AT 0,10;"SCORE:";S
1170 PRINT TAB 10;"PRESS ANY KEY
"
1180 PAUSE 4E4
1190 RUN
1500 IF X(5)>=X(3)-1 AND X(5)<=X
(3)+1 THEN GOTO 1600
1510 IF X(5)>=X(1)-1 AND X(5)<=X
(1)+1 THEN GOTO 1700
1520 GOTO 460
1600 REM HIT?
1610 IF X(5)=X(3) AND B$(2)<>"
" THEN GOTO 1900
1620 IF X(5)=X(3)+1 AND B$(2)<>"
" THEN GOTO 1800
1625 IF B$(2)=" " THEN
GOTO 460
1630 LET B$(2)=" "
1635 PRINT AT X(3),Y(3);" ";
AT X(3)+1,Y(3);" ";AT X(5),Y(5
);A$(D3, TO 3);AT X(5)+1,Y(5);A$
(D3,4 TO )
1640 FOR F=X(3)+1 TO (7 AND (Y(3
)<10 OR Y(3)>21))+(17 AND (Y(3)>
9 AND Y(3)<22))
1650 PRINT AT F,Y(3)+1;" ";AT F+
1,Y(3)+1;"¸"
1660 NEXT F
1675 LET S=S+10
1676 LET Q=Q+(Q=0)
1680 GOTO 460
1700 REM HIT?
1710 IF X(5)=X(1) AND B$(1)<>"
" THEN GOTO 1950
1720 IF X(5)=X(1)+1 AND B$(1)<>"
" THEN GOTO 1800
1725 IF B$(1)=" " THEN
GOTO 460
1730 LET B$(1)=" "
1735 PRINT AT X(1),Y(1);" ";
AT X(1)+1,Y(1);" ";AT X(5),Y(5
);A$(D3, TO 3);AT X(5)+1,Y(5);A$
(D3,4 TO )
1740 FOR F=X(1)+1 TO (7 AND (Y(1
)<10 OR Y(1)>21))+(17 AND (Y(1)>
9 AND Y(1)<22))
1750 PRINT AT F,Y(1)+1;" ";AT F+
1,Y(1)+1;"¸"
1760 NEXT F
1770 GOTO 1675
1800 PRINT AT X(5),Y(5);" ";
AT X(5)+1,Y(5);" "
1801 PRINT AT X(1),Y(1);B$(D1,1
TO 3);AT X(1)+1,Y(1);B$(D1,4
TO 6);AT X(3),Y(3);B$(D2,1 TO 3
);AT X(3)+1,Y(3);B$(D2,4 TO 6)
1810 GOTO 1130
1900 PRINT AT X(5),Y(5);" ";
AT X(5)+1,Y(5);" "
1901 IF Y(5)<=-1 THEN LET Y(5)=2
9
1905 LET Y(5)=Y(5)-2
1910 GOTO 460
1950 PRINT AT X(5),Y(5);" ";
AT X(5)+1,Y(5);" "
1955 LET Y(5)=Y(5)+2
1956 IF Y(5)>=30 THEN LET Y(5)=0
1960 GOTO 460
2500 LET S=S+100
2510 PRINT AT 21,10;"YEE MADE IT
"
2515 LET H1=H1-(H1>0)
2516 LET H2=H2-(H2>11)
2520 PAUSE 100
2530 GOTO 35
3000 SAVE "JO"
3010 PRINT AT 3,3;" ö ± ÷
´ ö ö";AT 4,3;" ± öµ ¶
µ ±³ öõ";AT 5,3;" µ ö µ
¶ µ µ õ";AT 6,3;"±³± ±³³±
¶÷ ±³³± õ"
3020 FOR A=1 TO 15
3030 FOR R=A-1 TO 23-A STEP 2
3040 PRINT AT A+7,R+3;"!"
3050 NEXT R
3060 NEXT A
3070 PRINT AT 15,1;"BY:";AT 16,1
;"STEVEN";AT 17,1;"REID"
3080 PRINT AT 21,0;"PRESS ANY KE
Y TO BEGIN PLAY=-=-="
3090 PAUSE 4E4
3100 RUN