Time Switch adventure for NewBrain

Games for Spectrum, C64, Amstrad, Amiga, Apple ][ and the rest of the 8-bit and 16-bit platforms. Pleas for help, puzzles, bug reports etc.

Moderator: Alastair

Post Reply
Message
Author
Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Time Switch adventure for NewBrain

#1 Post by Colin Appleby » Sat Jul 23, 2016 8:28 pm

Have converted "Time Switch" for TRS-80 MC-10 to the NewBrain Computer, which now runs great on the NB Emulator.
1 CLEAR:PUT31:CLOSE#6:OPEN#6,6
2 REM PORTED TO NEWBRAIN BY COLIN APPLEBY 20 JULY 2016
3 REM DEBUGGED BY CHRIS DESPINIDIS
4 REM TIME SWITCH ORIGINAL BY COLIN CARRUTHERS 1983
5 REM TRS-80 MC-10 EDITION BY JIM GERRIE
10 A$="":FE=0:I=0:ST=1000
12 GOSUB8000
15 GOSUB5000
20 NO=0:EA=0:WE=0:SO=0:UP=0:DO=0
30 I$=""
35 ZZ=INT((ST-1000)/30)+1:ONZZGOSUB1000,1030,1060,1090,1120,1150,1180,1210,1240,
170,1300,1330,1360,1390,1420,1450,1480
40 PUT31:PRINTI$
60 FO=0:FORN=1TO12+(ST=1180):IFI(N)=STTHEN GOTO90
63 IFNOT(FO)THENPRINT"I CAN SEE ...":FO=-1
65 PRINT"A ";O$(N)
70 NEXTN
80 GOTO100
90 IFA$="LOOK"ANDNOT(FO)THENPRINT"I CAN'T SEE ANYTHING SPECIAL"
100 PRINT"WHAT SHALL I DO":INPUTJ$:IFJ$=""THENA$="":GOTO40
105 IFST=1240ANDRND>.95THENPRINT"THE DOG AWOKE AND KILLED YOU!":GOTO9000
107 GOSUB500:IFMID$(B$,1,1)=" "THENB$=MID$(B$,2):GOTO107
110 IFA$="N"ANDNO<>0THENST=NO:GOTO20
120 IFA$="S"ANDSO<>0THENST=SO:GOTO20
130 IFA$="W"ANDWE<>0THENST=WE:GOTO20
140 IFA$="E"ANDEA<>0THENST=EA:GOTO20
150 IFA$="D"ANDDO<>0THENST=DO:GOTO20
157 IFA$="U"THEN6100
160 IFA$="R"THEN40
170 IFA$="HELP"THENPRINT"NO CHANCE MATE.":GOTO100
180 IFA$="TAKE"ORA$="GET"THEN2000
190 IFA$="PUT"ORA$="DROP"THEN4500
200 IFA$="OPEN"THEN2500
205 IFA$="FEED"THEN3500
210 IFA$="LOOK"THEN60
215 IFA$="SWIM"THEN4000
220 IFA$="BREAK"ORA$="SMASH"THEN6000
225 IFA$="LIGHT"THEN7500
230 IFA$="READ"THEN6500
240 IFA$="UNLOCK"THEN3000
250 IFA$="I"ORA$="INV"THENGOSUB5500:GOTO100
260 IFA$="INSERT"THEN7000
275 IFA$="QUIT"THEN9000
490 IFLEN(A$)=1THENPRINT"I CAN'T!":GOTO100
499 PRINT"I CAN'T ";A$;" ";B$:GOTO100
500 IFMID$(J$,1,1)=" "ANDLEN(J$)>1THENJ$=MID$(J$,2):GOTO500
502 SP=0:A$="":B$="":FORN=1TOLEN(J$)
505 IFMID$(J$,N,1)=" "ANDNOT(SP)THENSP=-1:GOTO520
510 IFSP=0THENA$=A$+MID$(J$,N,1)
515 IFSP<0THENB$=B$+MID$(J$,N,1)
520 NEXTN
530 RETURN
1000 I$="YOU ARE IN A FOREST.THERE ARE PATHS LEADING NORTH AND SOUTH."
1010 NO=1390
1015 SO=1030
1020 RETURN
1030 I$="YOU ARE IN A FOREST,WITH PATHS LEADING NORTH AND EAST AND A CLEARING TO
THE WEST."
1035 NO=1000
1040 EA=1090
1045 WE=1060
1050 RETURN
1060 I$="YOU ARE IN A CLEARING. IN THE CENTRE IS A TIME MACHINE WHICH LACKS A PO
WER SOURCE. EXIT EAST."
1070 EA=1030
1080 RETURN
1090 I$="YOU ARE IN A FOREST. THERE IS A PATH RUNNING EAST-WEST."
1100 WE=1030
1105 EA=1120
1110 RETURN
1120 I$="YOU ARE IN THE FOREST. THROUGH A GAP TO THE NORTH YOU CAN SEE ALAKE. "
1121 I$=I$+"THE PATH RUNS EAST-WEST AND THERE IS A CAVE TO THE SOUTH."
1125 EA=1300
1130 WE=1090
1135 SO=1150
1140 RETURN
1150 I$="YOU ARE IN A SMALL CAVE. DAYLIGHT IS TO THE NORTH. "
1151 I$=I$+"THERE IS A DOOR TO THE WEST AND AN OPENING TO THE SOUTH."
1160 SO=1180
1165 NO=1120
1170 RETURN
1180 I$="YOU ARE IN A LARGE CAVERN. THERE IS A CHEST LYING IN ONE CORNER, "
1181 I$=I$+"AND A SKELETON IN ANOTHER. THE ONLY EXIT IS TO THE NORTH."
1190 NO=1150
1200 RETURN
1210 I$="I CAN'T SEE A THING."
1220 UP=1150
1230 RETURN
1240 I$="YOU ARE IN A LONG PASSAGE. YOU CAN HEAR THE SOUND OF DRIPPING WATER. "
1241 I$=I$+"TO THE NORTH IS A FLIGHT OF STAIRS WITH A LARGE DOG SLEEPING ON THE
BOTTOM STEP."
1250 SO=1210
1260 RETURN
1270 I$="YOU ARE ON AN ISLAND IN THE CENTRE OF THE LAKE. THERE IS A HOLE IN THE
GROUND WITH A STAIR-CASE IN IT."
1280 DO=1240
1290 RETURN
1300 I$="YOU ARE BESIDE A LAKE. THERE IS AN ISLAND IN THE MIDDLE OF THE LAKE. "

1301 I$=I$+"TO THE WEST IS THE FOREST AND TO THE NORTH IS A ROCKERY."
1310 NO=1330
1315 WE=1120
1320 RETURN
1330 I$="YOU ARE IN A ROCKERY. THE LAKE IS TO THE WEST, AND THERE ARE SOME REEDS
TO THE NORTH."
1340 NO=1360
1345 SO=1300
1350 RETURN
1360 PUT31
1365 PRINT"I HAVE FALLEN INTO A SWAMP GLUG.....GLUG.....GLUG........"
1370 GOTO9000
1390 I$="YOU ARE IN A SHRUBBERY. THE FOREST IS TO THE SOUTH. THE LAKE IS TO THE
EAST, AND MEADOW IS TO THE NORTH."
1400 NO=1420
1405 SO=1000
1410 RETURN
1420 I$="YOU ARE IN A MEADOW. THE LAKE IS TO THE SOUTH-EAST. TO THE SOUTH IS THE
SHRUBBERY AND TO THE EAST IS A TOWER."
1430 EA=1450
1435 SO=1390
1440 RETURN
1450 I$="YOU ARE AT THE FOOT OF A TOWER. THERE IS NO DOOR TO BE SEEN. "
1451 I$=I$+"TO THE WEST IS THE MEADOW AND TO THE EAST ARE SOME REEDS."
1455 EA=1360
1460 WE=1420
1465 UP=1480
1470 RETURN
1480 I$="YOU ARE AT THE TOP OF THE TOWER.IN THE SOUTH YOU CAN SEE THE LAKE WITH
THE ISLAND IN THE CENTRE "
1481 I$=I$+"AND THE FOREST BEYOND.IN THE CENTRE OF THE PLATFORM IS A GLASS CASE
WITH A GOLDEN KEY INSIDE."
1490 DO=1450
1500 RETURN
2000 IFI>=5THENPRINT"I CAN'T CARRY ANY MORE.":GOTO100
2002 IFB$=""THENPRINTA$;" WHAT";:INPUTB$:IFB$=""THEN100
2005 FO=0:FORN=1TO12:IF(RIGHT$(O$(N),4)=RIGHT$(B$,4)ORO$(N)=B$)ANDI(N)=STTHENPRI
NT"OK...":FO=-1:I(N)=0:I=I+1
2010 NEXTN
2020 IFNOT(FO)THEN499
2030 GOTO100
2500 IFB$=""THENINPUT"OPEN WHAT";B$:IFB$=""THEN2500
2505 IFB$="DOOR"ANDST<>1150THENPRINT"WHAT DOOR?":GOTO499
2507 IFB$="DOOR"ANDNOT(ND)THENPRINT"IT'S LOCKED DUMBO!":GOTO499
2510 IFB$="DOOR"THENPRINT"THERE IS A STAIR GOING DOWN.":DO=1210:GOTO100
2515 IFB$="CHEST"ANDST<>1180THENPRINT"I SEE NO CHEST.":GOTO100
2517 IFB$="CHEST"ANDNOT(NC)THENPRINT"IT'S LOCKED.":GOTO100
2520 IFB$="CHEST"THENPRINT"OK.":I(11)=ST:GOTO100
2530 GOTO499
3000 IFB$=""THENINPUT"UNLOCK WHAT";B$:IFB$=""THEN3000
3003 IFMID$(B$,1,1)=" "THENB$=MID$(B$,2):GOTO3003
3005 IFB$="DOOR"ANDST<>1150THENPRINT"WHAT DOOR?":GOTO100
3007 IFI(7)THEN499
3010 IFB$="DOOR"THENND=-1:PRINT"CLICK!":GOTO100
3015 IFB$="CHEST"ANDST<>1180THENPRINT"WHAT CHEST?":GOTO100
3020 IFB$="CHEST"THENNC=-1:PRINT"CLUNK!":GOTO100
3030 GOTO499
3500 IFB$=""THENINPUT"FEED WHAT";B$:IFB$=""THEN3500
3515 IFB$<>"DOG"THENPRINT"DONT BE SILLY!":GOTO499
3525 IFST<>1240THENPRINT"THERE IS NO DOG HERE.":GOTO100
3530 IFI(12)>0THENPRINT"I HAVE NO DOG FOOD.":GOTO100
3540 I=I-1:FE=-1:UP=1270:PRINT"MUNCH, MUNCH...":I(12)=1180:GOTO100
4000 IFST=1120ORST=1270ORST=1300ORST=1330ORST=1390ORST=1420THENPRINT"BRRR. THE W
ATER IS COLD.":GOTO100
4010 PRINT"THERE IS NO WATER HERE.":GOTO100
4500 FO=0:IFB$=""THENINPUT"DROP WHAT";B$:IFB$=""THEN4500
4502 IFMID$(B$,1,1)=" "THENB$=MID$(B$,2):GOTO4502
4505 FORN=1TO12:IFI(N)=0AND(O$(N)=B$ORRIGHT$(O$(N),4)=RIGHT$(B$,4))THENI(N)=ST:F
O-1:PRINT "OK...":I=I-1
4540 NEXTN
4550 IFNOT(FO)THENPRINT"I DON'T HAVE ";B$:GOTO100
4560 GOTO100
5000 ND=0:NC=0
5010 DIMO$(12),I(12)
5020 RESTORE
5030 DATA"ROPE",1330,"ROCK",1330,"LADDER",1300,"GOLD RING",1030,"GUN",1390,"13 A
M PLUG",1420
5035 DATA"GOLDEN KEY",-1,"TORCH",1150,"BATTERY",1270,"LOG",1270,"MANUSCRIPT",-1,
"ONE",1180
5040 FORN=1TO12:READO$(N),I(N):NEXTN
5050 RETURN
5500 FO=0:FORN=1TO12:IFI(N)<>0THENNEXTN:GOTO5540
5515 IFNOT(FO)THENPRINT"I HAVE THE FOLLOWING..."
5520 PRINTTAB(10);" A ";O$(N):FO=-1
5530 NEXTN
5540 IFNOT(FO)THENPRINT"I DON'T HAVE ANYTHING."
5555 RETURN
6000 IFB$=""THENPRINTA$;:INPUT" WHAT";B$:GOTO6000
6010 IFLEFT$(B$,5)<>"GLASS"ORST<>1480THEN499
6020 IFI(2)THENPRINT"NOTHING TO ";A$;" IT WITH.":GOTO100
6030 PRINT"SMASH! TINKLE!":I=I-1:I(7)=ST:I(2)=ST:GOTO100
6100 IFST=1240THEN6200
6102 IFST=1210THENST=UP
6105 IFST<>1450THENST=UP
6110 IFST=UP THEN20
6120 IFI(3)>0THENPRINT"THERE IS NO WAY UP.":GOTO100
6140 IFUP THENST=UP:GOTO20
6160 PRINT"I CAN'T GO UP.":GOTO100
6200 IFNOT(FE)THENPRINT"THERE'S A DOG IN THE WAY!":GOTO100
6210 ST=1270:GOTO20
6500 IFB$=""THENPRINTA$;" WHAT";:INPUTB$:IFB$=""THEN6500
6530 IFB$<>"MANUSCRIPT"THEN499
6540 IFI(11)>0ANDST<>1480THENPRINT"I DO NOT HAVE ";B$:GOTO100
6560 PRINT"THE MANUSCRIPT SAYS: PP3 - TM ISLAND "
6570 GOTO100
7000 IFST<>1060ORI(9)THEN499
7010 PUT31:PRINT"YOU HAVE SUCCESSFULLY COMPLETED THE ADVENTURE."
7015 PRINT
7020 PRINT"YOUR TIME-SHIP TAKES OFF FOR YOUR OWN TIME."
7025 PRINT" ";
7026 PRINT" ";
7027 PRINT"";
7030 Z=INT(RND*250)+1995
7040 FORA=ZTO1983STEP-1
7050 PRINT A;:FORZZ=1TO80:NEXTZZ
7060 NEXTA
7070 PRINT;
7100 GOTO9000
7500 IFB$=""THENINPUT"LIGHT WHAT";B$:IFB$=""THEN7500
7510 IFI(8)THEN499
7520 IFST=1210THENNO=1240:?"YOU ARE IN A SMALL ROOM. THERE IS A STAIRCASE TO THE
EAST AND A DAMP PASSAGE TO THE NORTH."
7521 IFNO<>0THEN100
7530 PRINT"THAT DIDN'T MUCH GOOD.":GOTO100
8000 PUT31:PRINT "T I M E S W I T C H"
8005 PRINT "===================="
8020 PRINT:PRINT"YOU ARE STRANDED IN THE DIM AND DISTANT PAST.YOU MUST FIND YOUR
WAY BACK TO YOUR OWN TIME USING WHAT YOU CAN FIND ON YOUR JOURNEY."
8050 PRINT:PRINT"PRESS ANY KEY TO START";
8060 GET#6,A$:IF ASC(A$)=0 THEN 8060
8500 RETURN
9000 PRINT"DO YOU WANT TO TRY AGAIN (Y/N)":INPUTB$
9010 IFB$="Y"THENRUN
9020 END

User avatar
jgerrie
Posts: 280
Joined: Sat Aug 17, 2013 1:25 pm
Location: Nova Scotia
Contact:

Re: Time Switch adventure for NewBrain

#2 Post by jgerrie » Fri Jul 29, 2016 6:23 pm

Looks good.

Jim

Colin Appleby
Posts: 93
Joined: Wed Mar 16, 2016 10:05 pm

Re: Time Switch adventure for NewBrain

#3 Post by Colin Appleby » Sat Jul 30, 2016 1:46 pm

Minor corrections, changed to the following to run on NewBrain
4500 FO=0:IFB$""THENPRINT"DROP WHAT":INPUTB$:IFB$=""THEN4500
7500 IFB$=""THENPRINT"LIGHT WHAT":INPUTB$:IFB$=""THEN7500

Regards
Colin

Post Reply