OldComp.cz
http://www.oldcomp.cz/

10 CAVE ADVENTURE Sharp Basic conversion
http://www.oldcomp.cz/viewtopic.php?f=135&t=7701
Stránka 11

Autor:  lukz [ 27.09.2019, 15:33 ]
Předmět příspěvku:  10 CAVE ADVENTURE Sharp Basic conversion

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

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/