10 CALL CLEAR :: CALL SCREEN(1) :: CALL COLOR(5,12,1,6,12,1,7,12,1,8,12,1) :: CALL CHAR(75,RPT$("F",16),74,"FFFFFF0000FFFFFF",88,RPT$("E7",8))
20 CALL CHAR(89,"E7E7E700E7E7E7") :: DISPLAY AT(3,11):"VAMPIRO":"":"":"":"":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK"
30 DISPLAY AT(12,10):"JJJJYJJJJ":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK":TAB(10);"KKKKXKKKK" :: CALL CHAR(89,"E7E7E70000E7E7E7")
35 CALL CHAR(136,"0000000000000000071F3F7F7763773F0000000000000000E0F8F8FCFCBE1EBE")
40 CALL MAGNIFY(3) :: CALL SPRITE(#1,136,2,112,128) :: CALL MUS :: CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL COLOR(5,2,1,6,2,1,7,2,1,8,2,1)
50 CALL CLEAR :: CALL SCREEN(14) :: DISPLAY AT(2,1):"DEVI ATTRAVERSARE IL CIMITE-":"EVITANDO LE TOMBE ED I PIPI-":"STRELLI,FATTO CIO'DEVI GUA-"
60 DISPLAY AT(5,1):"DARE IL FOSSATO NAVIGANDO":"SULE BARE O SUI TESCHI (SOLOSE EMERSI)":"":"LIVELL0 (1/4) ? " :: ACCEPT AT(9,18)SIZE(1)VALIDATE("1234"):SK
70 CALL CLEAR :: CALL SCREEN(2) :: SP=2+SK :: K=SK :: FRG=3
80 CALL CHAR(112,"FFFFFFFFFFFFFFFF",113,"")
90 CALL CHAR(120,"00000000000078FCFFC7FFFFFFFFFFFF0000000000000000FFFFFFDDAA77FFFF")
100 CALL CHAR(124,"0000000000001F3F79F9E0E0F9793F1F00000000000080F0FEFF0707FFFEF080")
110 CALL CHAR(128,"03070707C3C1FF7F0303070706061E3EC0E0E0E0C383FFFEC0C0E0E06060787C")
120 CALL CHAR(132,"1F3F2121213F1F0C07C7701E031E70C0F8FC848484FCF830E0E30E78C0780E03")
140 CALL CHAR(140,"00000000071F3F7F7763773F3F1B191F00000000E0F8F8FCFCBE1EBEFEFEECC0")
150 CALL CHAR(95,"FF00FFFFFFFF00FF")
160 CALL CHAR(100,"071F3F7F7763773F3F1B191F1F150000E0F8F8FCFCBE1EBEFEFEECC0C0400000")
170 CALL CHAR(96,"00080C0C0F0F3D7F")
180 CALL CHAR(97,"7FE7C3C240400000")
190 CALL CHAR(98,"00103030F0F0BCFE")
200 CALL CHAR(99,"FEE7C34302020000")
210 CALL CHAR(92,"E7E78181E7E7E7E7C381810000000000FBFFDFDBF5FFFBBFFF202020FF040404")
220 CALL COLOR(1,2,1,0,6,1,8,8,1,9,8,1,11,6,2,8,3,8)
230 CALL HCHAR(11,1,95,64) :: CALL HCHAR(23,1,95,32)
240 FOR D=3 TO 10 :: CALL HCHAR(D,1,112,32) :: NEXT D
250 FOR A=3 TO 4 :: CALL COLOR(A,16,1) :: NEXT A
260 CALL HCHAR(1,1,113,32) :: CALL HCHAR(2,1,113,32) :: CALL HCHAR(13,1,94,320)
270 CALL HCHAR(17,5,92) :: CALL HCHAR(18,5,93) :: CALL HCHAR(15,16,92) :: CALL HCHAR(16,16,93) :: CALL HCHAR(19,27,92) :: CALL HCHAR(20,27,93)
280 CALL HCHAR(1,1,95,64)
290 FOR I=0 TO 7 :: CALL COLOR(I,16,1) :: NEXT I
300 RFD$="VITE:"
310 TIME=200 :: PTI=0
320 CALL MAGNIFY(3)
330 GOSUB 930
340 CALL SPRITE(#1,128,2,178,J)
350 CALL SPRITE(#18,124,11,17,10,0,2*SP,#19,124,11,17,90,0,2*SP)
360 CALL SPRITE(#20,124,11,33,1,0,SP,#21,120,8,65,120,0,2*SP)
370 CALL SPRITE(#10,124,11,33,78,0,SP)
380 CALL SPRITE(#23,100,16,49,150,0,3*SP,#22,100,16,49,170,0,3*SP)
390 CALL SPRITE(#24,100,16,49,135,0,3*SP)
400 CALL SPRITE(#13,120,8,65,90,0,2*SP,#14,124,11,65,168,0,2*SP)
410 CALL SPRITE(#2,99,2,97,150,0,5*SP)
420 CALL SPRITE(#3,99,2,113,100,0,6*SP,#6,99,2,113,50,0,6*SP)
430 CALL SPRITE(#4,99,2,161,20,0,-4*SP,#7,99,2,161,100,0,-4*SP)
440 CALL SPRITE(#5,99,2,145,100,0,-6*SP,#8,99,2,145,50,0,-6*SP)
450 CALL POSITION(#1,H,J) :: IF H<=88 THEN CALL MOTION(#1,0,0) :: CALL LOCATE(#1,81,J) :: GOTO 730
460 TIM=TIM+1 :: IF TIM=3 THEN GOSUB 880
470 CALL KEY(1,B,STAT) :: IF STAT=0 THEN TME=TME-1
480 IF B=5 THEN X=0 :: Y=-16 :: GOTO 530
490 IF B=3 THEN X=16 :: Y=0 :: GOTO 530
500 IF B=0 THEN X=0 :: Y=16 :: GOTO 530
510 IF B=2 THEN X=-16 :: Y=0 :: GOTO 530
520 GOTO 570
530 CALL PATTERN(#1,128)
540 CALL POSITION(#1,VER,ORR)
550 IF(VER>179)OR(ORR<17)+(ORR>235)THEN CALL SOUND(-50,4500,0,4450,4) :: VER=163 :: Y=16 :: IF ORR<17 THEN X=ABS(X)ELSE X=-ABS(X)
560 CALL SOUND(10,2000,3,3500,0) :: CALL LOCATE(#1,VER+Y,ORR+X)
570 CALL COINC(ALL ,G) :: IF G=0 THEN 450
580 CALL COLOR(#1,16) :: CALL PATTERN(#1,132) :: FOR S=2000 TO 800 STEP-50 :: CALL SOUND(-1,S,0,S+10,7) :: NEXT S :: CALL PATTERN(#1,128)
590 FRG=FRG-1
600 TME=200
610 IF FRG=0 THEN 970 ELSE 650
650 GOSUB 930 :: CALL LOCATE(#1,176,J) :: CALL COLOR(#1,2) :: CALL MOTION(#1,0,0) :: X,Y=0 :: GOTO 450
660 K=K+1 :: PTI=PTI+TME :: IF PTI=200 OR PTI=400 THEN FRG=FRG+1
670 TME=200+K*10 :: IF K=12 THEN 940 ELSE SP=SP+1
680 CALL MOTION(#2,0,5*SP,#3,0,6*SP,#4,0,-4*SP,#6,0,6*SP,#7,0,-4*SP,#5,0,-6*SP,#8,0,-6*SP)
690 CALL MOTION(#22,0,3*SP,#23,0,3*SP,#24,0,3*SP)
700 CALL MOTION(#10,0,SP,#13,0,2*SP,#14,0,2*SP,#18,0,2*SP,#19,0,2*SP,#20,0,SP,#21,0,2*SP)
710 FOR G=1 TO 100 :: NEXT G :: GOSUB 930 :: CALL LOCATE(#1,176,J) :: CALL COLOR(#1,2)
720 CALL MOTION(#1,0,0) :: X,Y=0 :: GOTO 450
730 CALL POSITION(#1,H,J)
740 GOSUB 910
750 CALL KEY(1,K1,S1) :: TME=TME-1 :: IF S1=0 THEN CALL PATTERN(#1,128) :: GOTO 730 ELSE CALL PATTERN(#1,128) :: A=0
760 FL=0 :: IF K1=3 THEN J=J+16 ELSE IF K1=2 THEN J=J-16 ELSE IF K1=5 THEN H=H-16
770 IF S1<>0 THEN CALL SOUND(10,2000,3,3500,0)
780 IF J<10 THEN J=10 ELSE IF J>240 THEN J=240
790 CALL LOCATE(#1,H,J) :: IF H=1 THEN CALL COLOR(#1,1) :: GOTO 660
800 CALL COINC(ALL ,G) :: IF G<>0 THEN 810 ELSE IF H=81 THEN FL=0 :: GOTO 730 ELSE FL=0 :: GOTO 580
810 IF FL=1 THEN 730
820 IF J+3*SP>256 THEN FL=0 :: GOTO 580
830 ON(H-1)/16 GOTO 840,850,860,870,840
840 A=SP*2 :: CALL LOCATE(#1,H,J+SP) :: CALL MOTION(#1,0,A) :: FL=1 :: CALL SOUND(10,3000,1) :: GOTO 730
850 A=SP :: CALL LOCATE(#1,H,J+SP) :: CALL MOTION(#1,0,A) :: FL=1 :: CALL SOUND(10,3000,1) :: GOTO 730
860 A=3*SP :: CALL LOCATE(#1,H,J+SP) :: CALL MOTION(#1,0,A) :: FL=1 :: CALL SOUND(10,3000,1) :: GOTO 730
870 A=2*SP :: CALL LOCATE(#1,H,J+SP) :: CALL MOTION(#1,0,A) :: FL=1 :: CALL SOUND(10,3000,1) :: GOTO 730
880 COC=COC+1 :: ON COC GOSUB 890,900,920 :: TIM=0 :: RETURN
890 CALL PATTERN(#22,136,#23,136,#24,136) :: RETURN
900 CALL PATTERN(#22,140,#23,140,#24,140) :: CALL COLOR(#23,15) :: RETURN
910 CALL COINC(#22,#1,8,W) :: IF W<>0 THEN 580 :: CALL COINC(#24,#1,8,W) :: IF W<>0 THEN 580 ELSE RETURN
920 CALL PATTERN(#22,100,#23,100,#24,100) :: COC=0 :: RETURN
930 RANDOMIZE :: J=INT(RND*248)+1 :: RETURN
940 CALL CLEAR :: CALL CHARSET
950 DISPLAY AT(2,1):"HAI COMPLETATO TUTTI":"GLI SCHERMI"
960 DISPLAY AT(4,1):"ORA RIPROVA,MA NON PERDERE  NEPPURE UN'OMINO !" :: RUN 50
970 CALL CLEAR :: CALL DELSPRITE(ALL)
980 CALL CHARSET :: CALL SCREEN(11) :: DISPLAY AT(4,1):"        ###########":"        #GAME OVER#":"        ###########"
990 DISPLAY AT(11,1):"HAI FATTO ";ABS(PTI);"PUNTI,MORTALE!!" :: DISPLAY AT(20,1):"     -PREMI UN TASTO-  ":"    __________________"
1000 CALL KEY(0,K,S) :: IF S<>0 THEN 50
1010 W=W+1 :: IF INT(W/2)=W/2 THEN 1020
1020 GOTO 1000
1030 SUB MUS
1040 RESTORE 1045 :: FOR I=1 TO 61 :: READ F,F1 :: CALL SOUND(170,F,0,F1,4) :: NEXT I :: CALL SOUND(1000,220,0,523,0,1319,0)
1045 DATA 440,220,880,220,1319,220,440,220,880,220,1175,220,440,220,880,220,1047,220,440,220,784,196
1050 DATA 988,196,988,1397,196,440,220,880,220,1319,220,440,220,880,220,1175,220,440,220,880,220
1060 DATA 1047,220,440,220,784,196,988,196,988,196,1397,196,1397,196,1047,196,1397,196,440,220,880,220
1070 DATA 1319,220,440,220,880,220,1175,220,440,220,880,220,1047,220,440,220,784,196,988,196,988,196
1080 DATA 1397,196,440,220,880,220,1319,220,440,220,880,220,1175,220,440,220,880,220,1047,220,440,220
1090 DATA 784,196,988,196,988,196,1397,196,1047,196,1397,196,1397
1100 SUBEND
