SYSTEM VARIABLES
PROG : 16509
D-FILE: 24322
VARS : 25115
E-LINE: 25340
STKBOT: 25340
STKEND: 25340
LEGEND
[A] means INVERSE A
{A} means GRAPHICS A
PRINT means treat as KEYWORD P
PROGRAM LISTING
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;"[ ][ ]{F}{F}{F}{F}[ ][ ][ ]{7}";AT 9,22;"{7}[ ][ ][ ]{F}{F}{F}{F}[ ][ ]";AT 10,0;"[ ][ ][ ][ ][ ][ ]{7}";AT 10,25;"{7}[ ][ ][ ][ ][ ][ ]";AT 19,0;"{H}{H}{H}{H}{H}{H}[ ][ ][ ][ ][ ]{F}{F}{F}{F}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{H}{H}{H}{H}{H}{H}";AT 20,0;"{H}{H}{H}{H}{H}{H}{H}{F}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{F}{H}{H}{H}{H}{H}{H}{H}";AT 21,0;"{H}{H}{H}{F}{F}{F}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{F}{F}{F}{H}{H}{H}"
45 DIM A$(2,6)
48 DIM B$(3,6)
50 LET A$(1)=" {W}{D}{7}[ ]{R}"
55 LET A$(2)="{D}{Q} {E}[ ]{7}"
60 LET B$(1)=" {W}{D}{7}{A}{R}"
65 LET B$(2)="{D}{Q} {E}{A}{7}"
66 LET B$(3)=" {W}{D}{W}{A}{Q}"
69 LET H$="{Q}{W}[ ]{E}"
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;"[L][E][V][E][L][:]";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)="{D}{Q} {E}{A}{7}"
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)=" {W}{D}{7}{A}{R}"
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;"[Y][E][E][ ][G][O][T][ ][H][I][T][-][=][-][=][-][=]"
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;"{H}"
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;"{H}"
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)=29
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;"[Y][E][E][ ][M][A][D][E][ ][I][T]"
2515 LET H1=H1-(H1>0)
2516 LET H2=H2-(H2>11)
2520 PAUSE 100
2530 GOTO 35
3000 SAVE "J[O]"
3010 PRINT AT 3,3;" {T} {Q} {E} {R} {T} {T}";AT 4,3;" {Q} {T}{8} {Y} {8} {Q}{6} {T}{5}";AT 5,3;" {8} {T} {8} {Y} {8} {8} {5}";AT 6,3;"{Q}{6}{Q} {Q}{6}{6}{Q} {Y}{E} {Q}{6}{6}{Q} {5}"
3020 FOR A=1 TO 15
3030 FOR R=A-1 TO 23-A STEP 2
3040 PRINT AT A+7,R+3;"{A}"
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;"[P][R][E][S][S][ ][A][N][Y][ ][K][E][Y][ ][T][O][ ][B][E][G][I][N][ ][P][L][A][Y][=][-][=][-][=]"
3090 PAUSE 4E4
3100 RUN