I.T. (The Intraterrestrial)

This file is part of Miscellaneous Programs . Download the collection to get this file.
Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Game

Small, moderately absurd text adventure game.

Content

Related Products

Related Articles

Related Content

Image Gallery

I.T. (The Intraterrestrial)

Source Code

  100 GO SUB 5000
  110 LET NKAM=N0: LET IHD=8
  120 GO TO 140
  130 GO SUB 500
  140 GO SUB 1000
  150 GO SUB 800
  160 IF CWD<5 THEN GO TO 130
  170 CLS : PRINT "CONGRATULATIONS; you succeeded  in killing yourself.": STOP 
  500 REM INPUT 
  510 LET NKAM=N0: LET IHD=N0
  520 INPUT "What would you like to do? ";C$
  530 FOR I=N1 TO 15
  540 IF H$(I, TO LEN C$)=C$ THEN LET IHD=I: LET I=16
  550 NEXT I
  560 IF IHD>6 THEN RETURN 
  570 IF NOT IHD THEN PRINT "I don't understand you.": GO TO 500
  580 LET NKAM=K(IKM,IHD)
  590 IF NKAM THEN RETURN 
  600 PRINT "You can't go in that direction.": GO TO 500
  800 REM OUT 
  810 PRINT '"You are in the ";R$(IKM)
  820 IF IKM>24 OR BLL=N1 THEN GO TO 840
  830 PRINT "You can't see much here.": GO TO 850
  840 IF IVW THEN PRINT "There is a ";V$(IVW);" here."
  850 FOR I=N1 TO 6
  860 IF K(IKM,I) THEN PRINT "You can go ";H$(I)
  870 NEXT I
  880 PRINT '"            ***"'': RETURN 
  900 REM HOLDINGS
  920 LET IBZ=N0: FOR I=N1 TO IBMAX-N1
  930 IF B(I)=IVWB THEN LET IBZ=I: LET I=IBMAX
  940 NEXT I: RETURN 
 1000 REM OPERATIONS
 1010 IF NKAM THEN LET IKM=NKAM
 1020 LET IVW=N0
 1030 FOR I=N1 TO 12
 1040 IF V(I)=IKM THEN LET IVW=I: LET I=12
 1050 NEXT I: LET IPS=N0
 1060 FOR I=N1 TO 6
 1070 IF P(I,N1)=IKM THEN LET IPS=I: LET i=6
 1080 NEXT I
 1100 REM GENERAL OPERATIONS
 1110 IF IKM<12 AND CRI<>8 THEN GO SUB 4860
 1120 IF BLL=N1 THEN GO SUB 4700
 1200 REM PERSONAL OPERATIONS
 1210 IF IHD<7 THEN GO TO 1240
 1220 GO SUB 1300+(IHD-7)*200
 1230 REM HANDLERS
 1240 IF NOT IPS THEN RETURN 
 1250 GO SUB 3000+(IPS-N1)*200
 1269 RETURN 
 1300 REM KILL
 1310 IF NOT IPS OR IPS>4 THEN PRINT "Time is the only thing you can  kill here.": RETURN 
 1320 LET IVWB=7: GO SUB 900
 1340 IF NOT IBZ THEN PRINT "It's suicide to attack with barehands.": RETURN 
 1350 PRINT "So you want to kill the ";P$(IPS)
 1360 PRINT "You attack it with your sword"
 1370 IF RND<.5 AND P(IPS,N2)<4 THEN PRINT "but your victim moves quickly","away.": GO TO 1395
 1380 PRINT "and you give your victim a","terrible blow."
 1390 LET P(IPS,PI)=P(IPS,PI)-N1
 1395 IF RND>.2 THEN GO TO 1440
 1400 PRINT "This is your chance; you can hithim again before he regains his feet"
 1410 INPUT "Do you want to? ";Y$
 1420 IF Y$(N1)<>"y" THEN GO TO 1440
 1430 PRINT "You raise your sword again": GO TO 1370
 1440 IF P(IPS,PI)>N1 THEN RETURN 
 1450 IF P(IPS,PI)=N1 THEN PRINT "Your victim is badly wounded.": RETURN 
 1460 PRINT "You have killed the ";P$(IPS)
 1470 LET P(IPS,N1)=N0: LET IVW=8+IPS
 1480 LET V(IVW)=IKM: LET IPS=N0: RETURN 
 1500 REM HELP
 1510 PRINT "POSSIBLE COMMANDS"
 1520 FOR I=N1 TO 15
 1530 PRINT H$(I),;
 1540 NEXT I: PRINT : RETURN 
 1700 REM TAKE
 1720 IF NOT IVW THEN PRINT "There is nothing to take here.": RETURN 
 1740 PRINT "You now have the ";V$(IVW)
 1750 LET B(IBMAX)=IVW
 1770 LET V(IVW)=N0: LET IVW=N0
 1790 LET IBMAX=IBMAX+N1: RETURN 
 1900 REM DROP
 1910 INPUT "What do you wish to drop?",;D$
 1920 LET IVWB=N0
 1930 FOR I=N1 TO 12
 1940 IF D$=V$(I, TO LEN d$) THEN LET IVWB=I: LET I=12
 1950 NEXT I
 1970 IF NOT IVWB THEN PRINT "I don't understand what you mean": RETURN 
 1990 GO SUB 900
 2010 IF NOT IBZ THEN PRINT "You can't drop what you do not  have.": RETURN 
 2030 PRINT "You dropped the ";V$(B(IBZ))
 2040 LET IVW=B(IBZ)
 2050 LET V(B(IBZ))=IKM
 2060 LET B(IBZ)=B(IBMAX-N1)
 2070 LET IBMAX=IBMAX-N1
 2075 IF IKM<>25 THEN RETURN 
 2080 INPUT "Do you want to drop more? ";Y$
 2085 IF Y$(N1)="y" THEN GO TO 1910
 2090 RETURN 
 2100 REM INVENTORY
 2120 IF IBMAX=N1 THEN PRINT "All you own is what yuor wearingnow.": GO TO 2180
 2140 PRINT "You have the following items:"
 2150 FOR I=N1 TO IBMAX-N1
 2160 PRINT V$(B(I)): NEXT I
 2180 PRINT "You can suffer ";5-CWD;" wounds before  you die.": RETURN 
 2300 REM BANDAGE
 2310 LET IVWB=6: GO SUB 900
 2340 IF NOT IBZ THEN PRINT "You can't manage that without a bandage.": RETURN 
 2360 PRINT "That doesn't look very hopeful."
 2370 PRINT "I will need all that you have.": BEEP n1,n1
 2390 PRINT "So, that will hold for a while."
 2400 LET CWD=N0
 2410 LET B(IBZ)=B(IBMAX-N1)
 2420 LET IBMAX=IBMAX-N1: RETURN 
 2500 REM LIGHT ON
 2510 LET IVWB=N1: GO SUB 900
 2540 IF NOT IBZ THEN PRINT "You can NOT do that without a   lantern.": RETURN 
 2560 PRINT "The lantern is on now."
 2570 LET BLL=CLL>N1: RETURN 
 2700 REM LIGHT OFF
 2710 LET IVWB=N1: GO SUB 900
 2740 IF NOT IBZ THEN PRINT "YOU DON'T EVEN HAVE A LANTERN.": RETURN 
 2760 PRINT "The lantern is off now."
 2770 LET BLL=N0: RETURN 
 2900 REM READ 
 2910 LET IVWB=4: GO SUB 900
 2920 IF NOT IBZ THEN PRINT "You have no books to read.": RETURN 
 2930 IF BLL=N1 OR IKM>24 THEN GO TO 2960
 2940 PRINT "It is to dark to read here.": RETURN 
 2960 PRINT "This book has a recipe that","shows how to make cookies."
 2970 PRINT "It says: take one dead HELLHOUNDand some wheat. Drop this on a  barbecue and wait a few minutes."
 2980 PRINT "That is all.": RETURN 
 3000 REM I.T.
 3010 IF IVW=3 THEN LET P(N1,N2)=3: LET V(IVW)=N0: LET IVW=N0
 3020 GO TO 3020+P(N1,N2)*10
 3030 PRINT "I.T. (the intraterrestrial) is  here."
 3031 PRINT "It looks as though he's talking but you cann't understand him."
 3033 LET P(N1,N2)=N2: RETURN 
 3040 PRINT "I.T. gestures that he needs     something to drink"
 3045 PRINT "He looks rather desperate": RETURN 
 3050 PRINT "I.T. gulps the water. He needed it very much. After a while he  starts ";
 3052 PRINT "talking again. Now you   can understand him. He says:","PLEASE go down into the caves   and find the nullity bomb. Some"
 3055 PRINT "crazy professor wants to blow upthe earth with it.","I am so weak from a fight with  the monster that guards it!"
 3056 PRINT "Suddenly he falls into a coma."''"Now only you can save the Earth.": LET p(N1,2)=4: RETURN 
 3060 PRINT "It looks like the I.T. is still in a coma."
 3061 PRINT "Now you have to do it on your   own."
 3062 PRINT FLASH N1;"GOOD LUCK"
 3063 LET P(N1,N2)=5: RETURN 
 3070 PRINT "I.T. is here, he is in a coma.": RETURN 
 3200 REM DRAGON
 3210 IF IVW=8 THEN LET P(N2,N2)=5: LET V(IVW)=N0: LET IVW=N0
 3220 GO TO 3220+P(N2,N2)*10
 3230 PRINT "There is an enormous monster","here. It's eyes are rolling","dangerously."
 3232 PRINT "It yells: are you a cookie?"
 3233 LET P(N2,N2)=N2: RETURN 
 3240 PRINT "The monster yells louder and    louder."
 3241 PRINT "ARE YOU A COOKIE?"
 3242 LET P(N2,N2)=3: RETURN 
 3250 PRINT "It keeps yelling."
 3251 PRINT "And it becomes rather aggressive"
 3252 LET P(N2,N2)=4: RETURN 
 3260 PRINT "The monster gives you a terribleblow."
 3261 PRINT "Your head is spinning."
 3263 LET P(N2,N2)=INT (RND*PI)+N2
 3264 LET CWD=CWD+N1: RETURN 
 3270 PRINT "The MONSTER says COOKIES? and   starts to eat at once."
 3272 PRINT "Then there is an enormous BONG  and it falls asleep.": BEEP N1,N1
 3273 LET K(16,6)=N1
 3274 LET P(N2,N2)=6: RETURN 
 3280 PRINT "The Monster sleeps": RETURN 
 3400 REM SNAKE
 3410 PRINT "There is a sneaky snake in here."
 3420 IF RND<.4 THEN RETURN 
 3430 IF IBMAX=N1 OR RND<.5 THEN GO TO 3470
 3440 LET IBMAX=IBMAX-N1
 3450 LET V(B(IBMAX))=13+INT (RND*12)
 3460 PRINT "With a quick move it picks some-thing up and sneaks away to","another place."
 3480 LET P(PI,N1)=P(PI,N1)+3
 3490 IF P(PI,N1)>24 THEN LET P(PI,N1)=P(PI,N1)-8
 3500 RETURN 
 3600 REM HELLHOUND
 3620 GO TO 3620+P(4,N2)*10
 3630 PRINT "There is a giant HELLHOUND here."
 3631 PRINT "It looks as though he wants you for dinner."
 3632 LET P(4,N2)=N2: RETURN 
 3640 PRINT "The HELLHOUND attacts and bites you violently"
 3641 LET CWD=CWD+N1
 3642 LET P(4,N2)=3: RETURN 
 3650 PRINT "The HELLHOUND growls and seems  prepared for another attact."
 3651 LET P(4,N2)=N2+INT (RND*N2)
 3652 RETURN 
 3800 REM BOMB
 3810 PRINT "The nullity bomb is here."
 3820 PRINT "There are three wires between   the bomb and the time-mechanism;a green (g) one"'"a yellow (y) one"'"a red (r) one. You must","disconnect two of them to stop  it."
 3830 INPUT "Which will be the first one?";X$
 3840 INPUT "Now the second one: ";Y$
 3850 LET CBO=N0: LET C$="yrg"
 3860 FOR I=N1 TO PI
 3870 IF X$=C$(I) THEN LET CBO=CBO+N1
 3880 IF Y$=C$(I) THEN LET CBO=CBO+N1
 3890 NEXT I
 3900 IF CBO<N2 THEN PRINT "Watch out: Wrong input": GO TO 3820
 3910 IF CODE x$+CODE y$=217 THEN GO TO 3950
 3920 CLS 
 3930 PRINT "You tried hard but unfortunatelyyou did not succeed."
 3940 STOP 
 3960 CLS : FOR i=N0 TO 7: PRINT AT 10,n0; INK i;"Congratulations; You have","succeeded where","others have failed.": NEXT i: GO TO 3960
 4000 REM BARBECUE
 4010 IF NOT IVW THEN GO TO 4060
 4020 LET P(6,N2)=N2
 4030 IF V(2)=IKM AND V(12)=IKM THEN LET IVW=8: LET V(IVW)=IKM: LET V(2)=N0: LET V(12)=N0: GO TO 4060
 4040 LET V(IVW)=N0: LET IVW=N0
 4060 GO TO 4060+10*P(6,N2)
 4070 PRINT "There is a giant barbecue here  with a large fire under it.": RETURN 
 4080 PRINT "An enormous flash lightS up the place and a penetrating smell   fills your nose."
 4082 LET P(6,N2)=3: RETURN 
 4090 PRINT "Everything is quiet now, even   the terrible smell has faded."
 4092 LET P(6,N2)=N1: RETURN 
 4700 REM LIGHT
 4710 LET CLL=CLL-BLL
 4720 IF CLL>5 THEN RETURN 
 4730 IF CLL<>5 THEN GO TO 4760
 4740 PRINT "The light of your lantern dims": BEEP .2,N1: RETURN 
 4760 IF CLL THEN RETURN 
 4770 PRINT "Your lantern goes out.": BEEP .5,N1
 4780 LET BLL=N0: RETURN 
 4860 REM PUZZLE
 4865 LET CRO=CRO+N1: IF CRO>8 THEN GO TO 4885
 4870 IF IKM=D(CRO) THEN LET CRI=CRI+N1
 4875 IF CRO<8 THEN RETURN 
 4880 IF CRO=8 THEN GO TO 4915
 4885 PRINT "Strange things are happening."
 4890 PRINT "Darkness covers you and it feelsas if something is lifting you."
 4895 PRINT "For a moment you are unconciouS"
 4900 LET CRO=N1: LET CRI=N1
 4905 LET IKM=N1: RETURN 
 4915 PRINT "You hear a strange sound as if  something is being pushed away."
 4920 PRINT "Now it has stopped"
 4925 LET K(N2,N1)=3: RETURN 
 5000 REM init
 5005 READ N0,N1,N2: PRINT AT 10,n0;"Please stand by, we are locatingyou now."
 5010 DIM K(36,6): DIM R$(36,15)
 5020 DIM H$(15,15)
 5030 DIM P(6,PI): DIM P$(6,10)
 5040 DIM V(12): DIM V$(12,12)
 5050 DIM B(12): DIM D(8)
 5100 REM CONNECTIONS
 5110 FOR I=N1 TO 36
 5120 LET K(I,N1)=I+N1: LET K(I,N2)=I-N1
 5130 LET K(I,PI)=I+4: LET K(I,4)=I-4
 5140 NEXT I
 5150 FOR I=N0 TO 24 STEP 12
 5160 FOR J=N1 TO 9 STEP 4
 5170 LET K(I+J+3,N1)=N0: LET K(I+J,N2)=N0
 5180 NEXT J
 5190 FOR J=N1 TO 4
 5200 LET K(I+J+8,3)=N0: LET K(I+J,4)=N0
 5210 NEXT J: NEXT I
 5230 READ K(N1,5),K(7,5),K(13,5),K(18,5),K(32,6),K(35,6)
 5400 REM FILL ARRAYS
 5410 FOR I=N1 TO 15
 5420 READ H$(I)
 5430 READ IKM,IHD
 5440 LET K(IKM,IHD)=N0: NEXT I
 5450 FOR I=N1 TO 12
 5460 READ V$(I)
 5470 READ V(I): NEXT I
 5480 FOR I=N1 TO 6
 5490 READ P$(I)
 5500 READ P(I,N1),P(I,PI): LET P(I,N2)=N1
 5510 NEXT I
 5520 FOR I=N1 TO 36
 5530 READ R$(I): NEXT I
 5540 FOR I=N1 TO 8
 5550 READ D(I): NEXT I
 5560 REM INIT PARAMITERS
 5570 READ IKM,IBZ,IBMAX,CKM,CLL,BLL,CWD,CRO,CRI
 5580 BEEP .5,12: CLS : RETURN 
 5990 DATA 0,1,2,16,15,32,35,13,18
 6000 DATA "east",21,N1,"west",22,N2,"north",22,N1,"south",23,N2,"up",18,N1,"down",19,N2,"kill",16,3,"help",20,4,"take",11,N1,"drop",12,N2,"invent",7,N1,"bandage",8,N2,"lantern on",7,4,"lantern off",3,3,"read",N2,N1
 6010 DATA "lantern",34,"wheatpile",30,"watersack",28,"cookbook",21,"leaflet",14,"bandages",15,"sword",13,"cookie",N0,"I.T.'s body",N0,"giant corpse",N0,"sliced snake",N0,"death hound",N0
 6020 DATA "I.T.",34,N2,"monster",16,15,"snake",17,4,"hellhound",29,N2,"barbecue",8,N1,"bomb",25,N1
 6030 DATA "reset cave","t-cave","secret corridor","control room","o-cave","i-cave","space cave","black room","p-cave","e-cave","n-cave","emptiness","small cave","rocky cave","smelly cave","dragon cave","snake cave","yellow cave","stream bank","stinky place","food cave","final cave","colored cave","ice cave","open place"
 6040 DATA "woods","woods","woods","woods","woods","woods","woods","woods","woods","woods","woods"
 6060 DATA N1,5,9,10,11,7,6,N2
 6070 DATA 36,N1,N1,N0,100,N0,N0,N0,N0
 9998 SAVE "IT" LINE 1

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top