Re: Scott Le Brun & VZ200/300 text adventures
Posted: Sun Sep 11, 2022 8:13 am
Or you can try this .vz file:
https://drive.google.com/file/d/1bjm5SS ... sp=sharing
https://drive.google.com/file/d/1bjm5SS ... sp=sharing
Adventure forum
http://www.solutionarchive.com/phpBB3/
Garry wrote: Mon Sep 12, 2022 5:08 am The most obvious bug(s) were when you search to find something (such as the note), get it, then search again and it disappears from your inventory and reappears in the room. I just assumed that was because of the 10 line limitation.
The lack of DROP <object> also had me baffled. Apparently you have to THROW <object>. Oh, and the use of SEARCH instead of EXAMINE, but these aren't bugs, they're just deviations from the normal conventions.
Code: Select all
0 CLEAR400:CLS:PRINT"AN ADVENTURE BY JIM GERRIE"
1 PRINT"FOR THE VZ200/300":PRINT:F$="FENCE (WITH HOLE)":GOTO100
2 DATA "COW SKULL","NOTE","BASKET","SIGN","FENCE","SNAKE"
3 DATA "CAR","DESERT","TRUNK","ALIEN SKELETON","SKULLS"
4 DATA "CAR (GREY SEDAN)","HIGHWAY (LONELY)"
5 DATA "DESERT (VAST & EMPTY)","DESERT (VAST & EMPTY)"
6 DATA "FENCE (RAZOR WIRE)","SCRUBLAND (ROCKY)"
7 DATA "SCRUBLAND (ROCKY)","FENCE (BARBED WIRE)"
8 DATA "BUILDING (OUTSIDE)","BUILDING (INSIDE)"
9 DATA "LABORATORY (MEDICAL)"
10 DATA "N","S","E","W"
11 DATA "GET","SEARCH","KILL","READ","THROW","SWAP","DRIVE"
12 DATA "SNAKE BITES!","ITS SKULL IS AS BIG AS A COW'S"
13 DATA "OK","NOT POSSIBLE","*US ARMY-KEEP OUT*"
14 DATA "FENCE SHORTED","'GO WEST YOUNG MAN-- GO WEST'"
15 DATA "AN ALARM SOUNDS","SOMEWHERE NEAR AREA 51"
16 DATA "NOTHING FOUND","VROOM!"
20 C1=1:CC=32
21 IF MID$(M$,CC,1)="" THEN GOTO 24
22 IF MID$(M$,CC,1)=" " THEN GOTO 24
23 CC=CC-1:GOTO 21
24 PRINT MID$(M$,C1,CC-C1):C1=CC+1:CC=C1+31
25 IF C1<=LEN(M$) THEN 21
26 RETURN
100 DIM A$(4,11),L(11,4),O(11),F(11),C(11)
101 FOR A=1 TO 4
102 FOR B=1 TO 11
103 READ A$(A,B)
104 NEXT
105 NEXT
106 L=1
107 M=9
108 FOR A=1 TO 11
109 READ L(A,1),L(A,2),L(A,3),L(A,4)
110 NEXT
111 FOR A=1 TO 11
112 READ O(A),F(A)
113 NEXT
114 C(6)=6
115 C(10)=11
116 D=5
117 S$="YOU SEE:"
200 PRINT A$(4,M)
201 IF M=1 THEN GOTO 900
202 PRINT "LOCATION: "A$(2,L)
203 PRINT S$;
204 FOR T=1 TO 11
205 PRINT " ";A$(-(C(T)=L),T);
206 NEXT
207 PRINT
208 M$="CARRYING:"
209 FOR T=1 TO 11
210 M$=M$+" "+A$(-(C(T)=-1),T)
211 NEXT
212 GOSUB 20
213 PRINT "WHAT NOW";:INPUT I$
214 IF LEFT$(I$,4)="QUIT" THEN GOTO 990
219 REM FIXES SUGGESTED BY GARRY
220 IF LEFT$(I$,7)="EXAMINE" THEN I$="SEARCH"+MID$(I$,8)
230 IF LEFT$(I$,4)="DROP" THEN I$="THROW"+MID$(I$,5)
240 V=0
250 O=0
260 FOR T=1 TO 11
270 IF LEFT$(I$,LEN(A$(3,T)))=A$(3,T) THEN V=T
280 IF RIGHT$(I$,4)="BOOT" THEN O=9
300 E$="SCORE:"
301 A$="ALIEN SKULL"
302 IF RIGHT$(I$,LEN(A$(1,T)))<>A$(1,T) THEN GOTO 400
303 O=T
304 IF T=11 OR T=1 THEN 310
305 GOTO 400
310 IF LEFT$(I$,4)="SWAP" THEN V=10:O=1
320 IF LEFT$(I$,6)="SWITCH" THEN V=10:O=1
330 IF LEFT$(I$,8)="EXCHANGE" THEN V=10:O=1
340 IF LEFT$(I$,7)="REPLACE" THEN V=10:O=1
350 IF LEFT$(I$,3)="USE" THEN V=10:O=1
400 NEXT
401 S=S+1
402 M=4
403 IF V>0 AND V<5 THEN GOTO 500
404 IF V=5 THEN GOTO 600
405 IF V=6 OR V=7 THEN GOTO 700
406 IF V>7 AND V<11 THEN GOTO 800
407 IF V<11 OR L<>1 THEN GOTO 200
408 M=11
409 D=D-1
410 I$=" "
411 V=0
412 IF D=1 THEN GOTO 500
413 IF L<>1 OR A$(1,1)<>A$ THEN GOTO 200
414 PRINT "YOU ESCAPE AND EXPOSE THE SECRET";
415 PRINT "OF AREA 51 TO THE WHOLE WORLD!"
416 FOR T=1 TO 6
417 READ A
418 SOUND INT(A/8),4
419 NEXT
420 PRINT E$;INT(28/S*100)
421 END
500 IF LEN(I$)>1 THEN GOTO 200
501 M=3
502 OL=L
503 L=L(L,V)
504 IF L>0 THEN GOTO 200
505 PRINT "YOU WERE CAUGHT BY THE MILITARY POLICE!"
506 EF$(1)="AFTER USING YOUR BODY TO SHORT"
507 EF$(1)=EF$(1)+" THEIR ELECTRIC FENCE!"
508 PRINT EF$(-(OL=8 AND V=3))
509 GOTO 990
600 IF C(O)<>L THEN GOTO 200
601 IF O=6 AND C(3)<>-1 THEN GOTO 200
602 M=3
603 C(O)=-1
604 IF O<>4 AND O<>10 THEN GOTO 200
605 L(5,3)=6
606 A$(2,5)=F$
607 IF O=4 THEN GOTO 200
608 L(11,1)=0
609 L(11,2)=0
610 L(11,3)=0
611 L(11,4)=0
612 M=8
613 GOTO 200
700 M=4
710 IF O<1 OR O>11 THEN GOTO 200
720 M=10
730 IF O(F(O))<>L THEN GOTO 200
740 M=3
749 REM FIX SUGGESTED BY GARRY
750 IF C(F(O))=-1 THEN GOTO 200
755 C(F(O))=L
760 IF O<>6 AND O<>10 THEN GOTO 200
770 M=1
780 IF O=6 THEN GOTO 200
790 M=2
795 GOTO 200
800 M=5
801 IF O=4 AND V=8 THEN GOTO 200
802 K=C(O)
803 M=4
804 IF K<>-1 THEN GOTO 200
805 M=7
806 IF O=2 AND V=8 THEN GOTO 200
807 M=3
808 C(O)=L
809 IF V=9 AND O<>6 THEN GOTO 200
810 T=L(8,3)
811 L(8,3)=9
812 M=6
813 IF V=9 AND L=8 THEN GOTO 200
814 C(O)=K
815 L(8,3)=T
816 T$=A$(1,1)
817 A$(1,1)=A$
818 M=3
819 IF L=11 THEN GOTO 200
820 A$(1,1)=T$
830 M=4
900 IF M>1 THEN GOTO 200
901 END
904 DATA 2,2,5,3,2,2,5,3,3,3,1,4,3,3,3,3,2,2,0
905 DATA 1,7,6,6,5,7,6,8,7,7,6,0,7,7,6,10,8,0,0
906 DATA 11,9,10,10,10,10,4,0,1,0,1,0,5,0,0,4,6
907 DATA 6,0,2,0,1,0,3,11,10,0,0,73,134,119,134,154,134
990 PRINT
992 PRINT "THE TRUTH IS OUT THERE..."
993 PRINT
994 INPUT "TRY AGAIN (Y/N)";M$
995 IF LEFT$(M$,1)="Y" THEN RUN
996 IF LEFT$(M$,1)="N" THEN END
997 END