jsbasic/samples/sample.chase.txt

75 lines
2.3 KiB
Plaintext

100 PR#0:TEXT:HOME::PRINT "THIS IS THE GAME OF CHASE"
110 PRINT "WANT INSTRUCTIONS";
120 INPUT C$
130 IF LEFT$(C$,1)="N" THEN VTAB 7:GOTO 280
140 IF LEFT$(C$,1)<>"Y" THEN 110
150 HOME:PRINT "YOU'RE '*' IN A HIGH VOLTAGE MAZE WITH 5";
160 PRINT "SECURITY MACHINES '+' TRYING TO DESTROY"
170 PRINT "YOU. YOU MUST MANEUVER THE SECURITY"
180 PRINT "MACHINES INTO A MAZE 'X' TO SURVIVE."
190 PRINT:PRINT "YOU WILL OFTEN FIND YOURSELF DROPPED"
200 PRINT "INTO A GENUINELY IMPOSSIBLE SITUATION."
210 PRINT "WHEN THAT HAPPENS, JUST QUIT THAT GAME"
220 PRINT "AND TRY ANOTHER. GOOD LUCK !!!"
280 VTAB 11:HTAB 23:PRINT "MOVES ARE 7,8,9"
290 HTAB 33:PRINT "4,5,6"
300 HTAB 33:PRINT "1,2,3":PRINT
310 HTAB 23:PRINT "0 TO END THE GAME"
320 DIM A(10,20),E(5),F(5)
330 B=RND(-PEEK(79)*999-PEEK(78))
340 LET G=0
350 FOR B=1 TO 10
360 FOR C=1 TO 20
370 LET A(B,C)=B=1 OR B=10 OR C=1 OR C=20
380 NEXT C
390 NEXT B
400 VTAB 20:CALL -958:VTAB 11
410 POKE 33,20:CALL -958:POKE 33,40
420 FOR D=1 TO 21
430 LET B=INT(RND(1)*8)+2
440 LET C=INT(RND(1)*18)+2
450 IF A(B,C) THEN 430
460 LET A(B,C)=(D<7)*3+SGN(D-6)
470 IF D<6 THEN E(D)=B:F(D)=C
480 IF D=6 THEN X=C:Y=B
490 NEXT D: D=0
500 VTAB 10:PRINT
510 FOR B=1 TO 10
520 FOR C=1 TO 20
530 PRINT MID$(" X+*",A(B,C)+1,1);
630 NEXT C
640 IF B<10 OR D>6 THEN PRINT
650 NEXT B:ON 9-D GOTO 1080,1100
680 PRINT " ?";
690 GET C$: V=VAL(C$): IF C$<>"0" AND NOT V THEN PRINT CHR$(7);:GOTO 690
700 PRINT:ON NOT V GOTO 1040: IF V=5 GOTO 830
710 LET A(Y,X)=0
730 D=INT((6-V)/3)
740 LET Y=Y+D
750 LET X=V-(2-D)*3+1+X
780 ON A(Y,X) GOTO 1060,1080
800 LET A(Y,X)=3
830 FOR D=1 TO 5
840 IF A(E(D),F(D))<>2 THEN 1030
850 LET A(E(D),F(D))=0
870 LET E(D)=SGN(Y-E(D))+E(D)
920 LET F(D)=SGN(X-F(D))+F(D)
960 IF A(E(D),F(D))=3 THEN D=7:GOTO 1030
970 IF A(E(D),F(D)) THEN G=G+1:GOTO 1030
980 A(E(D),F(D))=2
1030 NEXT D: D=(G=5)+D: GOTO 500
1040 PRINT "YOU RESIGNED TO YOUR FATE"
1050 GOTO 1110
1060 PRINT "ZAP!!! YOU TOUCHED THE FENCE !!!!!"
1070 GOTO 1110
1080 PRINT "** YOU HAVE BEEN DESTROYED BY A LUCKY":PRINT "MACHINE **"
1090 GOTO 1110
1100 PRINT "YOU ARE LUCKY":PRINT "**YOU DESTROYED ALL THE ENEMY**"
1110 PRINT "WANT TO PLAY AGAIN";
1120 INPUT C$
1130 IF LEFT$(C$,1)="Y" THEN 330
1140 IF LEFT$(C$,1)<>"N" THEN VTAB PEEK(37):PRINT CHR$(7);:GOTO 1110
1150 VTAB 21:CALL -958:PRINT
1160 PRINT "SORRY TO SEE YOU QUIT"
1170 PRINT "HOPE YOU DON'T FEEL FENCED IN."
1180 PRINT "TRY AGAIN SOMETIME";