home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Glitch Apple Disk Collection
/
2014.glitch.apple.collection.zip
/
indexed
/
TEXT_ADV.DSK
/
SORCERY.bas
< prev
Wrap
BASIC Source File
|
2014-09-09
|
12KB
|
377 lines
0 REM <CTRL-J><CTRL-J><CTRL-J>CHRISTELLA ENTERPRISE<CTRL-J><CTRL-J><CTRL-J>
2 REM <CTRL-J><CTRL-J><CTRL-J>AN INANE ADVENTURE<CTRL-J><CTRL-J><CTRL-J>
10 HOME : VTAB 10: HTAB 12
11 FLASH : PRINT "SWORDS AND SORCERY": NORMAL : FOR D = 1 TO 2000: NEXT
12 W2 = 1: HOME : INPUT "PLEASE ENTER YOUR NAME ";N$:I3 = ASC(N$)
20 PRINT : PRINT "GOOD LUCK, ";N$;", YOU NEED IT!"
21 PRINT : PRINT
23 GOSUB 5000
30 IF RND(I1) >.7 THEN 200
40 PRINT "A DRYAD WISHES TO GUIDE YOU."
50 PRINT "WILL YOU LET HER?
60 GOSUB 3000
70 ON I1 GOTO 80,120
80 F1 = 0
90 IF RND(I1) >.2 THEN GOSUB 3100
100 GOTO 200
120 F1 = 1
200 W1 = F1
210 PRINT : PRINT "THERE ARE THREE PATHS INTO THE FOREST.": PRINT "ONE IS CORRECT."
220 C1 = INT(3 * RND(I1) +.9999)
222 Y1 = INT(3 * RND(2) +.9999)
225 IF RND(I1) >.4 THEN YI = C1
230 PRINT : PRINT "DO YOU WISH TO CONSULT AN ORACLE?": GOSUB 3000
250 ON I1 GOTO 400,260
260 PRINT : PRINT "HOW MANY MAIDENS SHOULD BE SACRIFICED?"
280 INPUT V1
285 V1 = INT(V1)
290 IF V1 >2 * RND(I1) THEN 320
295 PRINT : PRINT "THE ORACLE IS OFFENDED!"
300 C2 = C2 -1
320 IF V1 *F1 <10 * RND(I1) THEN 350
330 GOSUB 3100
350 IF C2 <0 THEN 388
360 IF RND(I1) <.4 -(V1/10) THEN 388
370 PRINT "THE ORACLE SAYS PATH ";Y1
380 P1 = 1
381 GOTO 400
388 PRINT : PRINT "THE SIGNS ARE UNCLEAR."
400 PRINT "CHOOSE PATH 1,2 OR 3."
410 INPUT X1
415 X1 = INT(X1)
420 IF X1 <1 OR X1 >3 THEN 400
426 L1 = 100 *( RND(X1) +1)
427 IF X1 = C1 THEN 444
431 C2 = C2 -2:L1 = L1 +50
444 C2 = C2 +1
445 T1 = 0
450 C2 = C2 +.5 * RND(X1) +F1 +P1 +.2 *V1 * SGN(5.1 -V1)
490 C3 = 0
520 PRINT : PRINT "YOU HAVE COME TO A FORK IN THE PATH."
525 C1 = INT(2 * RND(I1) +.9999)
530 Z1 = W1 -F1:S1 = 8 -Z1 -G1/(1 +Z1)
535 IF S1 <4 THEN S1 = 4
540 IF 3.5 * RND(X1) >C2 THEN L1 = L1 +1
545 L2 = 7 +20 * RND(X1)
550 L0 = L2
560 IF F1 = 0 THEN 660
570 PRINT "DO YOU WANT TO ASK THE NYMPH WHICH ONE?"
580 GOSUB 3000
590 ON I1 GOTO 660,600
600 IF RND(I1) >.5 +C2/50 THEN 650
610 PRINT "SHE SAYS ";C1
620 GOTO 740
650 PRINT "SHE DOESN'T KNOW."
655 GOTO 740
660 PRINT "WILL YOU CAST LOTS TO DECIDE?"
661 PRINT
670 GOSUB 3000
674 ON I1 GOTO 740,680
680 PRINT "THE LOT SAYS ";
685 IF RND(I1) >.5 +C2/10 THEN 700
690 X1 = C1
695 GOTO 730
700 IF C1 = 2 THEN X1 = 1
710 IF C1 = 1 THEN X1 = 2
730 PRINT X1
740 PRINT : PRINT "DO YOU CHOOSE 1 OR 2?";: INPUT " ";X1
755 X1 = INT(X1 +.0001)
760 IF X1 >2 THEN 740
770 IF X1 <1 THEN 740
780 D0 = 0
790 IF X1 < >C1 THEN 820
800 C2 = C2 + RND(XI) + SGN(.5 - RND(I1))
810 C3 = 0
815 GOTO 840
820 C2 = C2 -.2
830 C3 = -1
840 IF T1 = 0 THEN 890
890 L2 = L2 -S1
895 I2 = I2 +1
900 IF E1 < >0 THEN 940
910 IF RND(X1) >.15 +.2 *F1 THEN 940
920 PRINT : PRINT "YOU FIND AN ENCHANTED SWORD!"
925 C2 = C2 +.2:E1 = 1
940 IF RND(I1) -.5 *(F1 +C3) <.95 THEN 960
950 PRINT : PRINT "<CTRL-G><CTRL-G><CTRL-G>SNAKE!!!"
955 GOSUB 3490
960 T1 = T1 +1
970 IF RND(X1) >.8 +(C2 +C3)/30 THEN GOSUB 4500
1200 IF RND(X1) >.95 THEN GOSUB 7000
1300 IF RND(I1) <.03 THEN GOSUB 6100
1310 P3 = 0
1350 IF RND(X1) >.99 +(C2 -I2/10)/100 THEN GOSUB 6300
1445 IF W1 = 0 THEN 1460
1450 IF RND(0) >.95 +(C2 +C3)/50 THEN GOSUB 5100
1460 IF RND(0) <.95 THEN 1500
1470 PRINT : PRINT "GOLD!!!!!"
1475 PRINT "HOW MANY SACKS WILL YOU TAKE?";: INPUT " ";X1
1490 G1 = G1 + INT(X1)
1500 IF T1 >10 -2 +F1 THEN GOSUB 3500
1510 IF RND(0) >.05 THEN 1540
1520 PRINT : PRINT "YOU MEET AN ESCAPED SLAVE GIRL "
1530 W1 = W1 +1
1540 IF L2 >0 THEN 840
1550 L1 = L1 -L0 *.85
1560 IF L1 <20 THEN GOSUB 4000
1570 IF C3 < > -1 THEN 520
1580 IF RND(I1) <.9 THEN 520
1590 IF RND(X1) >.5 THEN GOSUB 6100
1595 PRINT : PRINT "DEAD END<CTRL-G><CTRL-G><CTRL-G>!!!"
1600 L2 = L2 +L0
1615 L1 = L1 +L0
1616 C3 = 0
1700 GOTO 840
2980 GOTO 840
2990 SPEED= 255: PRINT : PRINT "THIS 'GAME' IS OVER!": PRINT "DO YOU WISH TO TRY AGAIN?"
2991 GOSUB 3000
2992 IF I1 = 1 THEN 2995
2993 IF I1 = 2 THEN RUN
2995 PRINT : PRINT "TOO BAD. HOPE TO SEE YOU IN THE FOREST"
2996 PRINT "AGAIN.": PRINT CHR$(13) + CHR$(4);"RUN HELLO"
3000 V = PEEK(37) +1
3002 VTAB V:I1 = 0: CALL -958: INPUT I1$
3003 IF LEFT$(I1$,1) = "Y" OR I1$ = "AFFIRMATIVE" THEN I1 = 2
3010 IF LEFT$(I1$,1) = "N" THEN I1 = 1
3015 IF I1 = 0 THEN 3002
3025 RETURN
3100 PRINT "THE NYMPH IS VERY OFFENDED."
3105 PRINT "SHE CURSES YOU AND GOES!"
3110 F1 = 0:W1 = 0:C2 = C2 -1
3120 RETURN
3490 PRINT "YOU ARE HURT."
3500 PRINT "YOU MUST REST."
3502 PRINT "YOU'VE GONE ";I2 *S1;" KM."
3510 T1 = 0
3515 GOSUB 5000
3520 D3 = D3 +1 +W1 -F1
3530 IF D3 <4 -W1 +F1 THEN 3700
3540 IF D4 < >0 THEN 3650
3550 PRINT : PRINT "YOU ARE OUT OF FOOD!"
3560 D4 = 1:C2 = C2 - RND(0)
3570 GOTO 3700
3650 F5 = F5 +1
3660 C2 = C2 - RND(I1) +.2 *F1
3700 IF RND(X1) >1 -(I2 +F8)/100 THEN 3715
3702 PRINT : PRINT "TIME TO MOVE ON.": FOR I = 1 TO 1000: NEXT I: HOME
3705 IF F5 <7 THEN RETURN
3710 PRINT : PRINT "YOU STARVE TO DEATH<CTRL-G><CTRL-G><CTRL-G>!": GOTO 2990
3715 PRINT "YOU ARE CAPTURED BY GOBLINS!<CTRL-G><CTRL-G><CTRL-G>"
3720 IF E1 < >1 THEN 3800
3725 PRINT "THEY WANT YOUR SWORD."
3730 PRINT "WILL YOU TRADE IT FOR FREEDOM?"
3735 GOSUB 3000
3740 ON I1 GOTO 3800,3750
3750 PRINT "AGREED.":E1 = -.8
3752 IF P3 = 1 THEN PRINT "THEY THROW YOU BACK IN THE PIT."
3755 GOTO 3705
3800 D9 = INT(3 * RND(I1) +.9999)
3805 IF G1 <D9 THEN 3850
3810 PRINT : PRINT "THE GOBLIN LORD FREES YOU"
3820 PRINT "FOR ";D9;" BAGS OF GOLD."
3825 G1 = G1 -D9
3830 GOTO 3752
3850 IF W1 >0 THEN 3880
3860 PRINT : PRINT "YOU ARE ENSLAVED!"
3870 GOTO 2990
3880 PRINT "YOU ARE SOLD TO THE SATYRS."
3890 GOSUB 5130
3891 GOTO 3752
4000 IF R1 < >0 THEN 4200
4020 PRINT "YOU ARE AT THE ENTRANCE TO THE DUNGEON."
4022 PRINT "THERE IS A GUARD!"
4025 GOSUB 7990
4110 R1 = 1:W1 = W1 +1
4120 PRINT : PRINT "YOU HAVE RELEASED THE PRINCESS.": PRINT
4124 GOSUB 3500
4200 IF L1 >0 THEN RETURN
4205 IF R1 < >1 THEN 4275
4207 PRINT "YOU MADE IT!!!!"
4210 PRINT "YOU ARE A HERO."
4215 IF G1 <2 THEN 4240
4220 PRINT : PRINT "YOU MARRY THE PRINCESS."
4225 FOR I = 1 TO 500: NEXT I: GOTO 2990
4240 PRINT : PRINT "TOO BAD YOU ARE TOO POOR"
4245 PRINT "TO MARRY THE PRINCESS."
4247 PRINT : PRINT "YOU LIVE THE REST OF YOUR LIFE"
4250 PRINT "IN QUIET POVERTY."
4255 GOTO 2990
4275 IF R1 < > -2 THEN 4305
4280 PRINT : PRINT "YOU LET THE PRINCESS BETAKEN ALIVE BY SATYRS."
4290 PRINT "YOU ARE JUSTIFIABLY TORTURED TO DEATH<CTRL-G><CTRL-G><CTRL-G>!"
4300 GOTO 2990
4305 PRINT : PRINT "YOU HAVE FAILED!!!"
4310 GOTO 4247
4500 PRINT : PRINT "TROLL<CTRL-G><CTRL-G><CTRL-G>!!!"
4510 PRINT "WILL YOU FIGHT?"
4520 GOSUB 3000
4530 ON I1 GOTO 4540,4560
4540 GOSUB 4700
4550 RETURN
4560 IF E1 = 0 THEN 4580
4570 IF RND(I1) >.2 THEN 4580
4574 PRINT : PRINT "THE TROLL RUNS!"
4576 RETURN
4580 IF RND(I1) +.3 *E1 >.5 THEN 4610
4585 IF RND(X1) >.3 THEN 4590
4586 GOSUB 3490
4587 RETURN
4590 PRINT "YOU ARE KILLED!!!<CTRL-G><CTRL-G><CTRL-G>"
4600 PRINT : GOTO 2990
4610 PRINT "THE TROLL IS DEAD!"
4620 IF RND(I1) +.05 *E1 <.4 THEN GOSUB 3490
4630 RETURN
4700 PRINT : PRINT "RUN!!"
4710 L1 = L1 +4 *S1 *( RND(X1) -.7)
4720 T1 = T1 +1
4725 IF RND(I1) >.7 THEN GOSUB 6100
4730 RETURN
5000 FOR I1 = 1 TO 200
5001 X1 = RND(I3)
5003 NEXT I1: RETURN
5100 PRINT "<CTRL-G><CTRL-G><CTRL-G>OH NO! SATYRS."
5105 IF E1 < >1 THEN 5130
5120 PRINT "THEY RUN FOR YOUR SWORD."
5121 PRINT "YOU FIGHT THEM OFF WITH YOUR ENCHANTED SWORD."
5125 RETURN
5130 PRINT "THEY WILL GO IF YOU FIGHT"
5135 PRINT "THEIR CHAMPION.": PRINT "WILL YOU FIGHT?"
5140 GOSUB 3000
5145 ON I1 GOTO 5200,5160
5160 GOSUB 7990
5165 IF RND(X1) <.2 THEN 5200
5170 RETURN
5200 PRINT : PRINT "THE SATYRS WANT THE FEMALES."
5205 W1 = 0:F1 = 0: IF R1 = 1 THEN R1 = -2
5210 PRINT "WILL YOU ALLOW THIS?"
5220 GOSUB 3000
5230 ON I1 GOTO 5240,5260
5240 PRINT "THEY KILL YOU AND TAKE THE WOMEN<CTRL-G><CTRL-G><CTRL-G>!"
5250 GOTO 2990
5260 PRINT "THE WOMEN ARE TAKEN."
5270 IF RND(I1) <.03 THEN 5310
5280 PRINT "THEY CURSE YOU."
5290 C2 = -5
5310 IF RND(X1) >.3 THEN RETURN
5320 PRINT "THE SATYRS KILL YOU ANYWAY."
5340 GOTO 2990
6100 PRINT "YOU HAVE FALLEN INTO A PIT!!"
6105 P3 = 1
6110 IF RND(I1) >.5 THEN GOSUB 3490
6120 PRINT "YOU MUST ESCAPE. WILL YOU TRY TO CLIMB"
6121 PRINT "OUT (1), OR YELL FOR HELP (2)?"
6150 INPUT X1:X1 = INT(X1)
6152 IF X1 <1 OR X1 >2 THEN 6120
6154 P7 = 0
6155 ON X1 GOTO 6160,6200
6160 IF RND(I1) <.5 -P7/10 THEN 6180
6162 PRINT "YOU FALL WHILE TRYING TO CLIMB."
6165 IF RND(X1) <.2 THEN GOSUB 3490
6167 P7 = P7 +1: IF P7 <5 THEN 6160
6170 PRINT "TOO DEEP. YELL FOR HELP."
6172 GOTO 6200
6180 PRINT "YOU'RE OUT!": RETURN
6200 SPEED= 75: FOR I = 1 TO 5
6201 PRINT "HELP! ";
6202 NEXT I: SPEED= 0: PRINT "HELP? ": SPEED= 100
6203 GOSUB 5000
6204 IF RND(I1) <.3 THEN 6200
6205 PRINT "A ROPE HAS BEEN LOWERED."
6207 P3 = 0
6210 Y1 = INT(3 * RND(I1) +.9999)
6215 ON Y1 GOTO 6220,6225,6230
6220 GOSUB 4500: RETURN
6225 GOSUB 3715: RETURN
6230 PRINT : PRINT "YOU ARE RESCUED BY A WOMAN!"
6231 W1 = W1 +1
6232 RETURN
6300 PRINT "<CTRL-G><CTRL-G><CTRL-G><CTRL-G>IT IS A NECROMANCER...."
6305 IF RND(X1) >.6 THEN 6392
6310 IF F1 < >1 THEN 6326
6320 PRINT : PRINT "THE NYMPH GOES MAD."
6325 W1 = W1 -1:F1 = 0
6326 IF E1 = 1 THEN 6375
6330 IF W1 = 0 THEN 6350
6335 W1 = 0
6340 PRINT "THE WOMEN ARE SENT TO HIS"
6345 PRINT "UNDEAD AS PLAYTHINGS."
6350 PRINT "YOU ARE TRANSFORMED INTO"
6351 PRINT "A GELDED WATER BUFFALO"
6352 PRINT "AND DRIVEN INTO A PIT."
6360 PRINT : PRINT "BOY DID YOU LOOSE!!!!"
6370 GOTO 2990
6375 PRINT "HE TAKES YOUR SWORD!":E1 = -1.5
6380 PRINT "YOU ARE CAST INTO A PIT."
6385 GOSUB 6110
6390 RETURN
6392 GOSUB 4700
6395 RETURN
7000 PRINT : PRINT "<CTRL-G><CTRL-G><CTRL-G>UGH! RATS, MILLIONS OF THEM."
7010 GOSUB 4700
7020 RETURN
7990 W3 = 2:H1 = 1:H2 = 1
7992 W2 = 1 +3 * RND(I1)
7995 H3 = 2 + SGN(E1)
8000 PRINT : PRINT "IT'S A LARGE TROLL."
8040 PRINT "THE BATTLE BEGINS..."
8050 PRINT : PRINT "YOU CIRCLE FOR POSITION."
8051 PRINT : FOR I1 = 1 TO 20
8052 X1 = RND(I1)
8053 NEXT I1
8055 W3 = W3 -.05:H1 = H1 -.05
8057 H2 = H2 -.05
8060 PRINT "HE ATTACKS!"
8070 X1 = 1 + INT(2.9999 * RND(I1))
8080 ON X1 GOTO 8090,8100,8110
8090 PRINT "HE TAKES A WILD CUT."
8091 GOTO 8120
8100 PRINT "HE THRUSTS AT YOUR BODY."
8105 GOTO 8120
8110 PRINT "HE TRIES A HEAD CUT!"
8120 IF RND(I1) >.5 +.3 *H2/W2 THEN 8340
8130 X1 = 1 + INT(2.5 * RND(I1))
8140 ON X1 GOTO 8150,8160,8170
8150 PRINT : PRINT "YOU STOP HIS BLOW ON YOUR SWORD"
8151 PRINT "AND BACK AWAY."
8155 GOTO 8050
8160 PRINT : PRINT "YOU DUCK UNDER HIS SWORD"
8161 PRINT "TO ATTACK!"
8165 GOTO 8175
8170 PRINT : PRINT "YOU PARRY THEN ATTACK."
8175 FOR I1 = 1 TO H3
8180 IF RND(I1) >.1 THEN 8190
8185 PRINT : PRINT "YOU MISSED HIM!": GOTO 8250
8190 X1 = 1 + INT(2.999 * RND(I1))
8195 ON X1 GOTO 8200,8220,8230
8200 PRINT "YOU GOT HIS LEG."
8205 W2 = W2 -H2/5:W3 = W3 -H2/5
8210 GOTO 8250
8220 PRINT "YOU'VE SLASHED HIS ARM."
8225 W2 = W2 -H2/3:W3 = W3 -H2/5
8227 GOTO 8250
8230 PRINT "YOU SCORE TO HIS BODY."
8245 W2 = W2 -.1:W3 = W3 -.25
8250 NEXT I1
8251 IF W2 <.1 THEN W2 = .1
8255 IF W3 >.05 THEN 8050
8260 PRINT "HE'S DOWN!!!"
8265 PRINT "YOU HAVE FINISHED HIM OFF!!"
8290 RETURN
8340 PRINT "<CTRL-G><CTRL-G><CTRL-G>YOU'RE HIT!"
8355 H1 = H1 -.2:H2 = H2 -.2
8357 IF H1 <.05 THEN 8370
8360 PRINT "YOU STAGGER AWAY.": GOTO 8050
8370 PRINT "YOU'RE DOWN!!!"
8380 PRINT "HE CLOSES FOR THE KILL!"
8390 IF RND(I1) >.1 +E1/20 THEN 8400
8392 PRINT "YOU MAKE A LUCKY THRUST!!"
8395 PRINT "HE'S ";: SPEED= 0: PRINT "DEAD!!!": SPEED= 100
8396 RETURN
8400 PRINT "YOU ARE KILLED!!!!"
8405 GOTO 2990
8410 REM <CTRL-J><CTRL-J>
63800 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>=========================
63801 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>= CHRISTELLA ENTERPRISE =
63802 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>= 22513 NORCREST DRIVE =
63803 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>= SCS,MICHIGAN 48080 =
63804 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>=========================