Shlédl jsem na YT video Tiny Text Adventure: From ZX81 to VIC-20 to Ultimate 64 (
https://www.youtube.com/watch?v=_d2g5BXdyfU ), a zdálo se, že by to šlo předělat i na Sharp MZ-800, ten má mnohem méně omezení. Tak jsem to zkusil, a po několikerém debugování už mi to i funguje.
Kdyby někdo chtěl vyzkoušet, přikládám i zdrojový kód.
Original author: Einar Saukas (Brazil) [
https://spectrumcomputing.co.uk/index.p ... 6&id=30392 ]
Ported to Sharp MZ-800 Basic 1Z-016
Kód:
1 X=1:X$="CANNOT DOYOU WALK OPENED CLOSED A SWORD A KEY NOTHING A CHEST A DRAGON A CORPSE
2 X$=X$+" TAKEN YOU DIED YOU WON.
3 ?"YOU ARE IN A ";MID$("CAVEPIT HALLLAKE",X*4-3,4):I."> ";U$
4 M=2*(U$="NORTH")*(X<3)-2*(U$="SOUTH")*(X>2)+(U$="WEST")*(X=2)-(U$="EAST")*(X=3)
5 A=(11-(Z=2))*(U$="KILL DRAGON")*(X=3)-10*(U$="GET KEY")*(X=4)*(Z=0)-(M<>0)
6 A=A-(5+X)*(U$="LOOK")-(6-Z)*(U$="INVENTORY")+(6+(Z=0))*(U$="LOOK CORPSE")*(X=4)
7 IFX=2A=A-(3+Y-2*(Z=2))*(U$="LOOK CHEST")+2*(U$="OPEN CHEST")*(Z=1)+10*(U$="GET SWORD")*(Y=1)
8 X=X+M:Y=-(A=2)ORY:IFA=10Z=Z-(Z<2)
9 ?MID$(X$,A*9+1,9)
10 IFA<11G.3
Pro ty, kdo by raději hráli v češtině, je tu přeložená verze. Rozpoznávané příkazy:
SEVER JIH VYCHOD ZAPAD OTEVRI PROZKOUMEJ VEM VYBAVA ZABIJ
Kód:
1 X=1:X$="NEJDE TO JDES OTEVRENA ZAVRENA MEC KLIC NIC TRUHLA DRAK MRTVOLA
2 X$=X$+" VZAL JSI UMREL JSIVYHRALS.
3 ?"JSI V ";MID$("JESKYNIJAME HALE JEZERE",X*7-6,7):I."> ";U$
4 M=2*(U$="SEVER")*(X<3)-2*(U$="JIH")*(X>2)+(U$="ZAPAD")*(X=2)-(U$="VYCHOD")*(X=3)
5 A=(11-(Z=2))*(U$="ZABIJ DRAKA")*(X=3)-10*(U$="VEM KLIC")*(X=4)*(Z=0)-(M<>0)
6 A=A-(5+X)*(U$="PROZKOUMEJ")-(6-Z)*(U$="VYBAVA")+(6+(Z=0))*(U$="PROZKOUMEJ MRTVOLU")*(X=4)
7 IFX=2A=A-(3+Y-2*(Z=2))*(U$="PROZKOUMEJ TRUHLU")+2*(U$="OTEVRI TRUHLU")*(Z=1)+10*(U$="VEM MEC")*(Y=1)
8 X=X+M:Y=-(A=2)ORY:IFA=10Z=Z-(Z<2)
9 ?MID$(X$,A*9+1,9)
10 IFA<11G.3