1 CALL KEY(3,KEY,STATUS) 4 PD,ST,P12,TM,TO1,PL1=0 :: C1,C2,CP,M1=1 :: NN,LO=40 :: NV=28 7 I$="sono " 10 DIM P$(24),P1(24,5),OB$(40),OB1(40),VB$(28),NO$(40) 13 GOSUB 595 16 GOSUB 424 19 PD$="ora e' buio pesto! e' peri- coloso muoversi alla cieca" 22 IM$="non posso andare di la'!" 25 GF$="la porta e' chiusa" :: GF1$="la porta e' aperta" 28 D$="sono caduto e mi sono rotto la testa!" 31 GOSUB 550 34 IF TM THEN OB1(24)=CP 37 IF TM THEN PRINT :"la mummia mi segue" 40 GOSUB 58 43 IF VB>8 AND NO1$="" THEN PRINT CM$;" cosa?" :: GOTO 40 46 IF NO1$<>"" AND(VB=6 OR VB=7 OR VB=8)AND NO=0 THEN PRINT "non ho capito!" :: GOTO 40 49 IF VB>12 THEN 55 52 ON VB GOTO 106,136,142,142,31,160,160,160,199,214,214,244 55 ON VB-12 GOTO 244,244,271,31,289,304,316,337,355,367,373,379,379,385,400,415 58 PRINT :: INPUT "cosa devo fare? ":CM$ :: PRINT 61 NO1$,VB1$="" :: VB,NO,FLAG=0 64 LC=LEN(CM$) :: FOR I=1 TO LC :: IF SEG$(CM$,I,1)=" " THEN I=LC :: GOTO 70 67 VB1$=VB1$&SEG$(CM$,I,1) 70 NEXT I 73 V1$=VB1$ :: VB1$=SEG$(V1$,1,4) :: FOR I=1 TO NV :: IF VB$(I)=VB1$ THEN VB=I :: I=NV+1 :: FLAG=1 76 NEXT I :: IF FLAG THEN 82 79 VB=6 :: NO1$=VB1$ :: GOTO 88 82 FLAG=0 :: IF LEN(V1$)+1>LEN(CM$)THEN NO=0 :: RETURN 85 NO1$=SEG$(CM$,LEN(V1$)+5,LEN(CM$)-4-LEN(V1$)) 88 N1$=NO1$ :: NO1$=SEG$(NO1$,1,4) :: FOR I=1 TO NN :: IF NO1$=NO$(I)THEN APP=I :: I=NN+1 :: FLAG=1 91 NEXT I :: IF FLAG THEN 97 94 NO=0 :: RETURN 97 NO=APP :: RETURN 100 PRINT :: PRINT "sono morto!" 103 PRINT : : :: END 106 ! 109 PRINT "hai raggiunto il" 112 DER1=0 115 IF OB1(8)=-1 THEN DER1=DER1+1 118 IF OB1(12)=-1 THEN DER1=DER1+1 121 IF OB1(18)=-1 THEN DER1=DER1+1 124 IF OB1(20)=-1 THEN DER1=DER1+1 127 PRINT DER1*25;"%" 130 IF CP=4 AND DER1=4 THEN PRINT "bravo!" :: GOTO 103 133 GOTO 40 136 ! 139 PRINT "ok." :: GOTO 103 142 ! 145 PRINT "ho con me: " :: GS,ZZ=0 148 FOR I=1 TO LO :: IF OB1(I)=-1 THEN PRINT OB$(I) :: GS=GS+1 :: ZZ=ZZ+1 151 NEXT I 154 IF GS=0 THEN PRINT "nulla" 157 GOTO 40 160 ! 163 IF NO=0 THEN PRINT "uh?" :: GOTO 40 166 IF NO1$<>"" AND NO=0 THEN PRINT "non conosco questa parola" :: GOTO 40 169 IF NO<27 AND NO<>5 THEN PRINT "non ti capisco" :: GOTO 40 172 IF NO>34 THEN NO=NO-6 175 IF CP=5 AND NO=5 AND C1=0 THEN PRINT "ok." :: CP=P1(CP,1) :: GOTO 31 178 IF CP=8 AND NO=27 AND P12 THEN PRINT "ok." :: CP=P1(CP,5) :: GOTO 31 181 IF CP=10 AND NO=28 AND ST THEN PRINT "ok." :: CP=P1(CP,4) :: GOTO 31 184 IF NO<29 THEN PRINT "ancora non posso farlo" :: GOTO 40 187 NO=NO-29 190 IF(NO+1)AND PD THEN PRINT D$ :: GOTO 100 193 IF P1(CP,NO)=0 THEN PRINT IM$ :: GOTO 40 196 CP=P1(CP,NO) :: GOTO 31 199 ! 202 IF NO=0 THEN PRINT "non conosco la parola ":N1$ :: GOTO 40 205 IF(NO=4 AND CP=4)OR(NO=16 AND OB1(16)=-1)THEN PRINT "c'e' scritto qualcosa" :: GOTO 40 208 IF CP=24 AND NO=19 THEN PRINT "vedo qualcosa" :: OB1(20)=24 :: CALL DELAY :: GOTO 31 211 PRINT "non vedo nulla di speciale" :: GOTO 40 214 ! 217 IF NO=0 THEN GOTO 202 220 IF OB1(NO)=-1 THEN PRINT "gia' ce l'ho con me!" :: GOTO 40 223 IF OB1(NO)<>CP THEN PRINT "non vedo ";N1$;" qui intorno" :: GOTO 40 226 IF NO=4 OR NO=5 OR NO=9 OR NO=10 OR NO=15 OR NO=19 THEN PRINT "non essere sciocco!" :: GOTO 40 229 IF NO>20 THEN PRINT "non fare lo scemo!" :: GOTO 40 232 IF ZZ>4 THEN PRINT "non riesco a portare niente altro" :: GOTO 40 235 IF CP=20 AND NO=3 THEN P$(20)=ASDO$&ASDW$ :: P1(20,1)=0 238 IF CP=15 AND NO=16 AND C2 THEN PRINT "il cobra mi ha morso!" :: GOTO 100 241 ZZ=ZZ+1 :: PRINT "ok." :: OB1(NO)=-1 :: GOTO 40 244 ! 247 IF NO=0 THEN 202 250 IF OB1(NO)<>-1 THEN PRINT "non l'ho con me" :: GOTO 40 253 IF NO<>3 AND NO<>7 AND NO<>11 THEN OB1(NO)=CP :: GOTO 268 256 IF NO=3 AND CP=20 THEN PRINT "wow! ora posso andare a sud passando sulla trave" :: P$(20)=ASDO$&ASDW1$ :: P1(20,1)=23 :: OB1(3)=0 259 IF NO=7 AND CP=10 THEN PRINT "lo scheletro se lo mette sulle spalle poi tira una leva e una scala scende dal soffitto" 262 IF NO=7 AND CP=10 THEN P1(10,4)=12 :: OB$(9)=FGR$ :: OB1(7)=0 :: ST=1 :: ZZ=ZZ-1 :: GOTO 40 265 IF NO=11 AND TM=1 THEN PRINT "la mummia prende le bende e se ne va" :: OB1(21),OB1(11)=0 :: TM=0 268 ZZ=ZZ-1 :: CALL DELAY :: GOTO 31 271 ! 274 IF NO<>5 THEN PRINT "uhu?!" :: GOTO 40 277 IF CP<>5 THEN PRINT "qui non c'e' nulla da aprire" :: GOTO 40 280 IF C1=0 THEN PRINT "ma e' aperta" :: GOTO 40 283 IF OB1(2)<>-1 THEN PRINT "non ho nulla per farlo" :: GOTO 40 286 PRINT "ok." :: C1=0 :: P1(5,1)=6 :: CALL DELAY :: GOTO 31 289 ! 292 IF NO<>6 THEN PRINT "eh?!" :: GOTO 40 295 IF CP<>15 THEN PRINT "non accade nulla" :: GOTO 40 298 IF OB1(6)<>-1 THEN PRINT "ancora non posso farlo" :: GOTO 40 301 PRINT "funziona.il cobra si allontana" :: OB1(15)=0 :: C2=0 :: CALL DELAY :: GOTO 31 304 ! 307 IF NO<>4 AND NO<>16 THEN PRINT "non capisco" :: GOTO 40 310 IF NO=4 AND CP=4 THEN PRINT "dice: portare qui i tesori" :: GOTO 40 313 IF NO=16 AND OB1(16)=-1 THEN PRINT "dice:ondeggiami" :: GOTO 40 316 ! 319 IF NO<>16 THEN PRINT "non capisco" :: GOTO 40 322 IF CP<>8 THEN PRINT "non succede niente" :: GOTO 40 325 IF OB1(16)=-1 THEN PRINT "incredibile! il muro si il- lumina e appare un passaggioche porta di sotto" :: P1(8,5)=16 328 FGTY$="c'e' un passaggio che porta di sotto" 331 P12=1 :: P$(8)=SEG$(P$(8),1,16)&FGTY$ 334 CALL DELAY :: GOTO 31 337 ! 340 IF NO<>22 AND CP>5 THEN PRINT "uhu?!" :: CALL DELAY :: GOTO 31 343 IF NO<>22 THEN PRINT "ho solo le mani per scavare":"cosi' scavo la sabbia" :: GOTO 40 346 PRINT "scavo con le mani e..." 349 IF CP=2 THEN PRINT "trovo qualcosa" :: OB1(2)=2 :: CALL DELAY :: GOTO 31 352 PRINT "non trovo nulla" :: GOTO 40 355 ! 358 IF NO<>14 AND NO<>16 AND NO<>2 THEN PRINT "non mi piace!" :: GOTO 40 361 IF OB1(14)=-1 OR(OB1(14)=CP)THEN PRINT "ok.":"aaghhh!" :: GOTO 100 364 PRINT "ok.":"non ha un buon sapore" :: OB1(NO)=0:;CALL DELAY :: GOTO 31 367 ! 370 PRINT "questa non me la bevo!" :: GOTO 40 373 ! 376 PRINT "meglio lasciare tutto apertonon si sa mai" :: GOTO 40 379 ! 382 PRINT "se ti piace sfasciare le co-se perche' non giochi agli arcade?" :: GOTO 40 385 ! 388 IF NO<>1 THEN PRINT "non scherzare" :: GOTO 40 391 IF OB1(1)<>-1 THEN PRINT "accendo cosa?" :: GOTO 40 394 IF TO1 THEN PRINT "e' gia'accesa" :: GOTO 40 397 PRINT "ok." :: TO1=1 :: GOTO 31 400 ! 403 IF NO<>1 THEN PRINT "spiegati meglio" :: GOTO 40 406 IF OB1(1)<>-1 THEN PRINT "non posso" :: GOTO 40 409 IF TO1=0 THEN PRINT "e' gia' spenta" :: GOTO 40 412 PRINT "ok." :: TO1=0 :: GOTO 40 415 ! 418 IF CP<>20 THEN PRINT "whee!" :: GOTO 40 421 IF CP=20 AND P12=0 THEN PRINT D$ :: GOTO 100 424 ! 427 P$(1)="nel deserto" :: P$(2)=P$(1) :: P$(3)=P$(1) :: P$(4)=P$(1) 430 P$(5)="nel deserto,di fronte a una piramide" 433 P$(6)="nell'anticamera della piramide di iunnuh" 436 FGTY$=" sul muro c'e' incastonato uno zaffiro" 439 P$(7)="in una stanza triangolare " :: P$(8)="in una sala bianca "&FGTY$ :: P$(9)="in una nicchia" 442 P$(10)="in un corridoio" :: P$(11)="in una sala rossa" :: P$(12)="in una saletta" :: P$(13)="nella sala dell'alchi- mista" 445 P$(14)="nella sala dell'imbal- samatore" :: P$(15)="nella stanza di IANKHO" 448 P$(16)="in un tunnel" :: P$(17)="in un tunnel.una scrit-ta sul muro dice:non passare o morirai" 451 P$(18)=P$(16) :: P$(19)="in una stanza verde" 454 ASDW$="con un fosso troppo largo perche' io possa saltarlo" :: ASDW1$="con una trave che fa da passaggio" 457 ASDO$="in un cunicolo lungo e stretto," 460 P$(20)=ASDO$&ASDW$ 463 P$(21)="nella vecchia armeria" :: P$(22)="nella saladei gerogli- fici" 466 P$(23)="nella sala di hanyke" :: P$(24)=" nella cappella funeraria" 469 DATA 2,4,2,1,0,0,2,3,3,1,0,0,2,5,2,4,0,0 472 DATA 1,5,3,4,0,0,4,0,3,0,0,0,5,10,7,8,0,0 475 DATA 0,10,0,6,0,0,0,9,6,0,0,0,8,0,10,0,0,0 478 DATA 6,0,7,9,0,0,0,13,14,0,0,0,0,15,13,0,0,10,11,15,14,12,0,0,11,0,0,13,0,0 481 DATA 13,0,0,12,0,0,0,0,17,0,8,0,0,0,18,16,0,0,0,21,19,17,0,0 484 DATA 0,0,0,18,0,0,0,23,21,0,0,0,18,0,22,20,0,0,0,0,0,21,0,0 487 DATA 20,24,0,0,0,0,23,0,0,0,0,0 490 RESTORE 469 493 FOR I=1 TO 24 :: FOR J=0 TO 5 :: READ P1(I,J) :: NEXT J :: NEXT I 496 ! 499 DATA "una torcia", "una chiave","una trave di legno","una scritta","una porta","un flauto" 502 FGR$="uno scheletro contento" 505 DATA "un teschio","una *COLLANA D'ORO*","uno scheletro senza testa","un altare insanguinato","bende pulite" 508 DATA "una *SCURE D'ORO*","batterie cariche","droghe","un cobra velenoso","uno *ZAFFIRO*" 511 DATA "una spada rotta","un *ANTICO VASO*","un sarcofago aperto","una *MASCHERA D'ORO*","una mummia con le bende sporche" 514 FOR I=1 TO 21 :: READ OB$(I) :: NEXT I 517 DATA 1,0,3,4,5,6,8,9,10,11,11,11,12,13,15,15,16,22,24,0,17 520 FOR I=1 TO 21 :: READ OB1(I) :: NEXT I 523 DATA TORC,CHIA,TRAV,SCRI,PORT,FLAU,TESC,COLL,SCHE,ALTA,BEND,SCUR,BATT,DROG,COBR,ZAFF,SPAD,VASO,SARC,MASC,MUMM 526 DATA SABB,STAN,GERO,SALA,CORR,CUNI,SCAL,NORD,SUD,EST,OVES,SU,GIU',N,S,E,O,SOPR,SOTT 529 FOR I=1 TO 40 :: READ NO$(I) :: NEXT I 532 DATA PUNT,ARRE,INVE,I,GUAR,VAI,CORR,CAMM,ESAM,PREN,PIGL,POSA,LASC,DAI,APRI,*,SUON,LEGG,ONDE,SCAV,MANG,BEVI 535 DATA CHIU,ROMP,SFON,ACCE,SPEG,SALT 538 FOR I=1 TO 28 :: READ VB$(I) :: NEXT I 541 DATA nord,sud,est,ovest,sopra,sotto 544 FOR I=0 TO 5 :: READ DD$(I) :: NEXT I 547 RETURN 550 CALL CLEAR 553 IF CP=17 AND OB1(21)<>0 THEN TM=1 556 IF(OB1(1)<>-1 OR TO1=0)AND CP>5 THEN PRINT PD$ :: PD=1 :: RETURN 559 PRINT I$&P$(CP) :: PD=0 562 IF(CP=6 OR CP=18)AND TM=1 THEN PRINT "aiuto! la mummia mi attacca!" :: GOTO 100 565 VB4$="vedo: " 568 FOR I=1 TO LO :: IF OB1(I)=CP THEN PRINT VB4$;OB$(I) :: VB4$="" 571 NEXT I 574 IF CP=5 AND C1 THEN PRINT GF$ ELSE IF CP=5 AND C1=0 THEN PRINT GF1$ 577 FL=0 580 PRINT "posso andare a: " 583 FOR I=0 TO 5 586 IF P1(CP,I)<>0 THEN PRINT DD$(I);" "; :: FL=1 589 NEXT I 592 RETURN 595 DATA 00000038484834,0040407048483,00000038404038,00080838484834,00001824302018,0018282038202 598 DATA 000038484838083,00202038242424,00100030101038,001000301010502,00404050605049,00301010101038 601 DATA 00000060545454,00000078484848,0000003048483,000070584870404,0000384848380808,0000002830202 604 DATA 0000182038083,00101038101018,00000048484834,0000002424281 610 RESTORE 595 613 FOR ZO=97 TO 118 616 READ Z$ 619 CALL CHAR(ZO,Z$) 622 NEXT ZO 631 RETURN 634 SUB DELAY 637 FOR T=1 TO 400 :: NEXT T 640 SUBEND