📄 bunny.bas
字号:
2810 IF N$ <> "" THEN 2901
2820 GOTO 90
2900 IF V$ <> "EXAMI" AND V$ <> "SEARC" THEN 3400
2901 IF N$ = "FIELD" AND R <> 5 THEN PRINT "There isn't a field here!": GOSUB 800: GOTO 109
2904 IF N$ = "GROUN" OR N$ = "FLOOR" OR N$ = "FIELD" THEN IF R = 5 AND NOT CARS THEN CARS = -1: PRINT "You find a carrot.": OB(0) = 5: GOTO 100
2906 IF N$ = "GROUN" OR N$ = "FLOOR" OR N$ = "FIELD" THEN PRINT "You see nothing unusual.": GOTO 100
2908 IF N$ = "COFFI" AND R = 1 THEN PRINT "It is carved of marble.": GOTO 100
2909 IF N$ = "SKELE" AND R = 9 THEN PRINT "It looks pretty bony.": GOTO 100
3000 IF N$ = "WELL" AND R = 4 THEN PRINT "It has a pole connected to some rope and a wooden crank. The well is dark and empty.": GOTO 100
3001 IF N$ = "ROPE" THEN IF R = 4 OR R = 7 THEN PRINT "It doesn't look very sturdy.": GOTO 100
3002 IF N$ = "WELL" AND R = 7 THEN PRINT "It is full of cracks.": GOTO 100
3004 IF N$ = "OOZE" AND R = 19 AND NOT DGRA THEN PRINT "It is big, ugly, and slimy.": GOTO 100
3005 IF N$ = "COBWE" AND NOT BCOB THEN PRINT "The are blocking the east passage.": GOTO 100
3006 IF N$ = "LEVER" AND R = 26 THEN PRINT "It is rusty, but useable.": GOTO 100
3008 IF N$ = "BUNNY" AND NOT DBUN AND R = 25 THEN PRINT "It looks extremely vicious for its small size.": GOTO 100
3009 IF N$ = "VAMPI" AND VAMP THEN PRINT "It looks at you with an unnerving gaze.": GOTO 100
3010 IF N$ = "TOMBS" OR N$ = "GRAVE" THEN IF R < 11 AND R <> 7 THEN PRINT "Many are old and rotted, and some which are blank make you shiver.": GOTO 100
3011 IF N$ = "CRANK" AND R = 4 THEN PRINT "It is cracking, but usable.": GOTO 100
3012 IF N$ = "STREA" OR N$ = "RIVER" THEN IF R = 6 OR R = 3 THEN PRINT "Though it has no life in it, it looks shallow enough to cross.": GOTO 100
3013 IF N$ = "POLE" AND R = 4 THEN PRINT "It has many holes in it.": GOTO 100
3014 IF N$ = "MIRRO" AND R = 24 THEN IF BRMI THEN PRINT "It is broken into shards, and there is a passage behind it." ELSE PRINT "It is not well polished."
3015 IF N$ = "MIRRO" AND R = 24 THEN GOTO 100
3016 IF N$ = "WALLS" OR N$ = "WALL" THEN PRINT "There are enough of them.": GOTO 100
3200 GOSUB 1000
3202 IF RO <> R AND RO <> -1 AND OB(I) <> (R - 128) THEN PRINT "That's not here!": GOSUB 800: GOTO 109
3204 IF N$ = "CARRO" THEN PRINT "It looks nice and juicy.": GOTO 100
3208 IF N$ = "LAMP" THEN IF LAMP THEN PRINT "The lamp lets out a light glow." ELSE PRINT "The lamp has been turned off."
3210 IF N$ = "LAMP" THEN 100
3215 IF N$ = "BUCKE" THEN IF BUCK THEN PRINT "The bucket is filled with water." ELSE PRINT "The bucket is empty."
3216 IF N$ = "BUCKE" THEN 100
3218 IF N$ = "CROSS" THEN PRINT "It is rough and tarnished.": GOTO 100
3300 IF N$ = "PAPER" THEN PRINT "It has some writing on it.": GOTO 100
3310 IF N$ = "KEY" THEN PRINT "It is fairly shiny.": GOTO 100
3312 IF N$ = "TORCH" THEN PRINT "It is burning fairly slowly.": GOTO 100
3314 IF N$ = "PEN" THEN PRINT "It does not have any ink.": GOTO 100
3316 IF N$ = "APPLE" THEN PRINT "It looks a little too wormy to be edible.": GOTO 100
3318 PRINT "You see nothing unusual.": GOTO 100
3400 IF V$ <> "QUIT" AND V$ <> "Q" AND V$ <> "END" THEN 3500
3405 GOSUB 25420
3410 INPUT "Are you sure you want to quit <Y/N>"; QU$
3420 IF QU$ = "N" OR QU$ = "n" THEN GOSUB 800: GOTO 109
3430 IF QU$ <> "Y" AND QU$ <> "y" THEN 3410
3440 PRINT "Play again <Y/N>?"
3450 I$ = INKEY$: IF I$ <> "Y" AND I$ <> "y" AND I$ <> "N" AND I$ <> "n" THEN 3450
3455 IF I$ = "Y" OR I$ = "y" THEN RUN ELSE COLOR 7, 0: CLS : KEY ON: END
3500 IF V$ <> "ENTER" THEN 3510
3505 V$ = "GO": GOTO 2000
3510 IF V$ <> "JUMP" AND V$ <> "LEAP" THEN 3640
3520 IF N$ = "" THEN PRINT "Wheeeeee!": GOTO 100
3530 IF N$ <> "OVER" THEN PRINT "That won't do any good.": GOSUB 800: GOTO 109
3535 IF R = 19 AND NOT DGRA AND W1$ = "OOZE" OR W1$ = "GREY" THEN PRINT "The ooze expands, forcing you to postpone your jump.": GOSUB 800: GOTO 109
3538 IF R = 25 AND NOT DBUN AND W1$ = "BUNNY" OR W1$ = "RABBI" THEN PRINT "The bunny manages to bite your leg.": GOTO 820
3600 IF W1$ <> "STREA" AND W1$ <> "RIVER" THEN PRINT "That won't do anything!": GOTO 100
3610 IF R <> 3 AND R <> 6 THEN PRINT "That won't do anything!": GOTO 100
3620 IF R = 3 THEN R = 6 ELSE R = 3
3630 PRINT "You leap over the stream.": GOTO 90
3640 IF V$ <> "READ" THEN 3680
3650 IF N$ <> "PAPER" THEN PRINT "You can't do that!": GOSUB 800: GOTO 109
3660 IF OB(6) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
3670 PRINT "It says, `Pushing is better than pulling'.": GOTO 100
3680 IF V$ <> "LIGHT" THEN 3730
3685 IF N$ = "COBWE" THEN 3697
3690 GOSUB 1000: IF FL = 0 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
3692 IF OB(I) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
3695 IF N$ <> "TORCH" AND N$ <> "COBWE" AND N$ <> "LAMP" THEN PRINT "You can't do that!": GOSUB 800: GOTO 109
3697 IF N$ = "COBWE" AND R = 23 AND BCOB = 0 THEN PRINT "The cobwebs light and burn into dust.": SCORE = SCORE + 5: GOSUB 300: BCOB = -1: MA(23, 2) = 24: GOTO 100
3699 IF N$ = "COBWE" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3700 IF N$ = "TORCH" AND OB(4) = -1 THEN PRINT "It's already lit!": GOTO 100
3710 IF N$ = "LAMP" AND OB(1) = -1 AND LAMP THEN PRINT "It's already lit!": GOTO 100
3720 IF N$ = "LAMP" AND NOT LAMP THEN PRINT "The lamp lets out a warm glow.": LAMP = -1: IF LO$ = "Darkness" THEN 90 ELSE 100
3730 IF V$ <> "LOWER" THEN 3780
3740 IF N$ <> "ROPE" AND N$ <> "WELL" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3750 IF R <> 4 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3760 IF ROPE THEN PRINT "It already is!": GOSUB 800: GOTO 109
3770 ROPE = -1: PRINT "The rope goes down into the well.": GOTO 100
3780 IF V$ <> "RAISE" AND V$ <> "LIFT" THEN 3830
3790 IF N$ <> "ROPE" AND N$ <> "WELL" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3800 IF R <> 4 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3810 IF NOT ROPE THEN PRINT "It already is!": GOSUB 800: GOTO 109
3820 ROPE = 0: PRINT "The rope rises from the well.": GOTO 100
3830 IF V$ <> "FILL" THEN 3880
3840 IF N$ <> "BUCKE" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109 ELSE IF OB(2) <> -1 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3850 IF R <> 3 AND R <> 6 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3860 IF BUCK THEN PRINT "It already is full!": GOSUB 800: GOTO 109
3870 PRINT "The bucket fills with water.": BUCK = -1: GOTO 100
3880 IF V$ <> "UNLIG" THEN 3940
3890 GOSUB 1000: IF FL = 0 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
3892 IF OB(I) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
3900 IF N$ <> "TORCH" AND N$ <> "LAMP" THEN PRINT "You can't do that!": GOSUB 800: GOTO 109
3910 IF N$ = "TORCH" AND OB(4) = -1 THEN PRINT "It refuses to go out.": GOTO 100
3920 IF N$ = "LAMP" AND OB(1) = -1 AND NOT LAMP THEN PRINT "It already is!": GOTO 100
3930 IF N$ = "LAMP" AND OB(1) = -1 THEN PRINT "The lamp turns off with a click.": LAMP = 0: GOTO 100
3940 IF V$ <> "OPEN" THEN 4000
3950 IF N$ <> "COFFI" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3960 IF R <> 1 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
3970 IF OCOF THEN PRINT "It's already open!": GOSUB 800: GOTO 109
3980 IF DVAM THEN PRINT "The coffin opens.": OCOF = -1: GOTO 100
3990 OCOF = -1: PRINT "As you open the coffin, a vampire reaches out!": VAMP = -1: MA(1, 1) = 700: GOTO 100
4000 IF V$ <> "CLOSE" THEN 4100
4010 IF N$ <> "COFFI" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4020 IF R <> 1 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4030 IF NOT OCOF THEN PRINT "It's not open!": GOSUB 800: GOTO 109
4032 IF VAMP THEN PRINT "The coffin slams shut in the vampire's face.": VAMPT = 0: VAMP = 0: OCOF = 0: MA(1, 1) = 4: GOTO 100
4034 PRINT "The coffin closes.": OCOF = 0: GOTO 100
4100 IF V$ <> "POUR" AND V$ <> "EMPTY" AND V$ <> "SPLAS" THEN 4130
4110 IF N$ <> "WATER" AND N$ <> "BUCKE" THEN PRINT "You can't pour that!": GOSUB 800: GOTO 109
4112 IF OB(2) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4114 IF NOT BUCK THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4116 IF W2$ = "" THEN BUCK = 0: PRINT "You empty the bucket.": GOTO 100
4118 IF W2$ = "OOZE" OR W2$ = "GREY" AND R = 19 AND DGRE = 0 THEN PRINT "The ooze dramatically grows, splattering you with a deadly force.": GOTO 820
4120 IF W2$ = "RABBI" OR W2$ = "BUNNY" AND R = 24 AND DBUN = 0 THEN PRINT "The bunny moves, avoiding the splash of water.": BUCK = 0: GOTO 100
4122 IF W2$ = "APPLE" THEN IF OB(8) = -1 OR OB(8) = R THEN PRINT "The apple is splashed with water.": BUCK = 0: APSO = -1: GOTO 100
4123 IF W2$ = "CARRO" THEN IF OB(0) = -1 OR OB(0) = R THEN PRINT "The carrot is splashed with water.": SCORE = SCORE + 10: GOSUB 300: BUCK = 0: CASO = -1: GOTO 100
4124 IF W2$ = "SKELE" AND R = 9 THEN PRINT "The water flies through the skeltal body.": BUCK = 0: GOTO 100
4125 IF W2$ = "VAMPI" AND VAMP THEN PRINT "The vampire screams and gently dissolves in the stream of water.": MA(1, 1) = 4: BUCK = 0: VAMP = 0: OB(3) = 1: GOTO 100
4128 PRINT "I'm not so sure about that.": GOSUB 800: GOTO 109
4130 IF V$ <> "WEAR" THEN 4150
4140 IF N$ <> "CROSS" THEN PRINT "You can't do that!": GOSUB 800: GOTO 109
4142 IF OB(3) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4144 IF WEAC THEN PRINT "You are already wearing the cross!": GOSUB 800: GOTO 109
4146 PRINT "It fits rather nice.": WEAC = -1: GOTO 100
4150 IF V$ = "PUT" AND W1$ = "ON" THEN IF N$ = "CROSS" THEN V$ = "WEAR": GOTO 4130
4152 IF V$ = "GET" AND W1$ = "ON" THEN IF N$ = "CROSS" THEN V$ = "WEAR": GOTO 4130
4154 IF V$ = "GET" AND W1$ = "OFF" THEN V$ = "UNWEAR": GOTO 2000
4156 IF V$ = "TAKE" AND W1$ = "OFF" THEN V$ = "UNWEAR": GOTO 2000
4200 IF V$ <> "PUT" THEN 4310
4205 IF W1$ <> "ON" AND W1$ <> "ONTO" THEN 4220
4211 IF N$ = "WATER" OR N$ = "BUCKE" THEN V$ = "POUR": GOTO 2000
4212 IF N$ <> "TORCH" THEN 4217
4213 IF OB(4) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4215 IF W2$ = "GREY" OR W2$ = "OOZE" THEN IF R = 19 AND DGRE = 0 THEN DGRE = -1: MA(19, 3) = 18: OB(4) = 22: NI = NI - 1: PRINT "The ooze dissolves the torch, lighting it instantly. The ooze melts away into nothing.": GOSUB 750: GOTO 100
4216 IF W2$ = "COBWE" AND R = 23 AND NOT BCOB THEN PRINT "The cobwebs light and burn away into dust.": BCOB = -1: MA(23, 2) = 24: SCORE = SCORE + 5: GOSUB 300: GOTO 100
4217 PRINT "That probably won't do much.": GOSUB 800: GOTO 109
4220 IF W1$ <> "IN" AND W1$ <> "INTO" THEN 4300
4221 IF N$ = "WATER" AND W2$ = "BUCKE" THEN V$ = "FILL": N$ = "BUCKE": GOTO 2000
4222 IF W2$ = "OOZE" OR W2$ = "GREY" THEN 4215
4224 IF W2$ = "COBWE" THEN 4215
4230 IF W2$ <> "WELL" THEN 4242
4235 IF R <> 4 THEN PRINT "That's not here!": GOSUB 800: GOTO 109
4238 GOSUB 1000: IF FL = 0 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4239 IF RO <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4240 PRINT "Enuooooooooauuuuoooooclunk!": OB(I) = 7: NI = NI - 1: GOTO 100
4242 IF W2$ <> "STREA" AND W2$ <> "WATER" AND W2$ <> "BUCKE" AND W2$ <> "RIVER" THEN 4300
4244 IF W2$ = "BUCKE" THEN IF ((OB(2) <> -1) AND (OB(2) <> R)) THEN PRINT "You can't see any bucket here!": GOSUB 800: GOTO 109
4245 IF W2$ = "BUCKE" AND NOT BUCK AND N$ = "WATER" THEN V$ = "GET": GOTO 2000
4246 IF W2$ = "BUCKE" AND NOT BUCK THEN PRINT "Unfortunately, that's not going to be very helpful.": GOSUB 800: GOTO 109
4248 IF W2$ = "WATER" THEN IF R = 3 OR R = 6 THEN 4250
4249 IF W2$ = "WATER" THEN IF OB(2) = -1 OR BUCK THEN 4250 ELSE PRINT "That's not here!": GOSUB 800: GOTO 100
4250 IF W2$ = "STREA" OR W2$ = "RIVER" THEN IF R <> 3 AND R <> 6 THEN PRINT "You don't see any!": GOSUB 800: GOTO 109
4255 GOSUB 1000: IF FL = 0 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4258 IF OB(I) <> -1 THEN PRINT "You don't have that!": GOSUB 800: GOTO 109
4260 IF N$ = "CARRO" THEN IF R = 3 OR R = 6 THEN PRINT "The carrot soaks up the water.": SCORE = SCORE + 10: GOSUB 300: CASO = -1: GOTO 100
4262 IF N$ = "CARRO" AND OB(2) = -1 AND BUCK THEN PRINT "The carrot soaks up the water.": SCORE = SCORE + 10: GOSUB 300: CASO = -1: GOTO 100
4265 IF N$ = "APPLE" THEN IF R = 3 OR R = 6 THEN PRINT "The apple soaks up the water.": APSO = -1: GOTO 100
4268 IF N$ = "APPLE" AND OB(2) = -1 AND BUCK THEN PRINT "The apple soaks up the water.": APSO = -1: GOTO 100
4300 PRINT "That's not going to do much for this adventure.": GOSUB 800: GOTO 109
4310 IF V$ <> "PUSH" THEN 4350
4315 IF N$ = "COFFI" AND R = 1 THEN PRINT "It is much too heavy.": GOTO 100
4317 IF N$ = "MIRRO" AND R = 24 AND NOT BRMI THEN PRINT "It is attached to the wall.": GOTO 100
4319 IF N$ = "THRON" AND R = 25 THEN PRINT "It is bolted to the wall.": GOTO 100
4320 IF N$ <> "LEVER" OR R <> 26 THEN PRINT "You don't need to do that.": GOSUB 800: GOTO 109
4330 IF PLEV THEN PRINT "Nothing happens.": GOTO 100
4340 PRINT "You hear a loud `clunk' to the south.": MA(8, 5) = 27: PLEV = -1: MA(27, 4) = 8: GOTO 100
4350 IF V$ <> "PULL" THEN 4375
4355 IF N$ <> "LEVER" THEN 4315
4360 IF R <> 26 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4370 PRINT "The roof caves in on you.": GOTO 820
4375 IF V$ <> "TURN" THEN 4400
4380 IF N$ <> "CRANK" THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4390 IF R <> 4 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 109
4395 IF ROPE THEN PRINT "The rope rises from the well.": ROPE = 0: GOTO 100
4398 PRINT "The pole turns, and the rope goes down into the well.": ROPE = -1: GOTO 100
4400 IF V$ = "WAIT" OR V$ = "Z" THEN PRINT "Time passes...": GOTO 100
4410 IF V$ <> "EAT" AND V$ <> "TASTE" THEN 4450
4415 GOSUB 1000: IF FL = 0 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 100
4418 IF OB(I) <> -1 THEN PRINT "You can't do that now!": GOSUB 800: GOTO 100
4420 IF I <> 0 AND I <> 8 THEN PRINT "You can't eat that!": GOSUB 800: GOTO 100
4430 IF I = 8 AND APSO THEN PRINT "You take a bite of the apple and feel a strange shiver running through the body.You gasp for breath as you clutch your throut. You fall down, the apple rolling"
4432 IF I = 8 AND APSO THEN PRINT "out of your limb hand.": GOTO 820
4435 IF I = 0 AND CASO THEN PRINT "You munch a little out of the carrot and suddenly feel your lungs bursting. Youcollapse on the ground, carrot clutched in your cool hand.": GOTO 820
4440 IF I = 8 THEN PRINT "You take a bite out of the apple and spit it out.": GOTO 100
4442 PRINT "Mmmmmnn...the carrot is delicous. You gobble the whole thing up.": OB(0) = 0: GOTO 100
4450 IF V$ = "SOAK" AND W1$ = "" THEN V$ = "PUT": W1$ = "IN": W2$ = "WATER": GOTO 2000
4452 IF V$ = "SOAK" THEN V$ = "PUT": GOTO 2000
4460 IF V$ <> "BREAK" AND V$ <> "SMASH" THEN 4490
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -