10 REM HEART CHASER 2! COPYRIGHT BY SAKIS KAFFESAKIS 2020.
15 GOSUB 3100
16 GOSUB 3600
20 CLS:MODE 1:BORDER 11:PEN 3:INK 3,20:INK 0,0:RANDOMIZE TIME:SCORE=0:DIFF=4:LIVES=3   
25 IF KRYFO=1 THEN LIVES=10
30 LOCATE 7,2:PRINT "Welcome to..." 
40 LOCATE 13,8:PEN 2:SPEED INK 40,40:INK 2,19,24:PRINT "HEART CHASER 2!" 
50 PEN 1:INK 1,15:LOCATE 13,12:PRINT"1. START GAME":LOCATE 13,14:PRINT"2. INSTRUCTIONS":LOCATE 13,16:PRINT"3. REDEFINE KEYS"
60 LOCATE 8,22:PEN 3:PRINT"by SAKIS KAFFESAKIS":LOCATE 28,22:PRINT CHR$(164):LOCATE 30,22:PRINT"2020":LOCATE 7,24:PRINT"www.amstradsakis.blogspot.com":MOVE 90,15:DRAW 565,15 
70 A$=INKEY$
80 IF A$="2" THEN GOSUB 2000:GOTO 20
90 IF A$="3" THEN GOSUB 3000:GOTO 20
100 IF A$="1" THEN GOTO 150
110 IF A$="L" OR A$="l" THEN GOSUB 8100:GOTO 30
140 GOTO 70
150 REM START GAME
160 REM START GAME
180 MODE 1:PEN 1:INK 1,19:
190 GOSUB 1000:GOSUB 1900
200 MOVE 13,13:DRAW 626,13:DRAW 626,376:DRAW 13,376:DRAW 13,13
250 LOCATE X,Y:PRINT FIG1$
260 PEN 2:INK 2,6:LOCATE XZ1,YZ1:PRINT FIG8$:LOCATE XZ2,YZ2:PRINT FIG9$:PEN 1
263 REM FOR DIFFK=1 TO 5:DIFF=2*DIFF
265 REM FOR ST=1 TO 2
280 PISTA=DIFF-3
285 ON PISTA GOSUB 4000,4100,4200,4300,4400,4500,4600
290 ON PISTA GOSUB 4700,4720,4740,4760,4780,4800,4820:REM OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3
300 WHILE 1
301 LO=0:PISTA=DIFF-3
302 LOCATE 1,1:PEN 2:PRINT "LEVEL";DIFF-3:PEN 3:LOCATE 12,1:PRINT"HEARTS FOUND:";SCORE:LOCATE 32,1:PEN 1:PRINT"LIVES";LIVES;
305 PEN 3:INK 3,24:LOCATE OBJX,OBJY:PRINT OBJ$:PEN 1 
320 a$=INKEY$
330 IF A$=PLA$ AND X>1 AND X<40 THEN OX=X:OY=Y:X=X-1:GOTO 390
340 IF A$=PLD$ AND X>1 AND X<40 THEN OX=X:OY=Y:X=X+1:GOTO 390
350 IF A$=PLK$ AND Y>2 AND Y<25 THEN OX=X:OY=Y:Y=Y+1:GOTO 390
360 IF A$=PLP$ AND Y>2 AND Y<25 THEN OX=X:OY=Y:Y=Y-1:GOTO 390
365 IF DIFF=10 AND (A$="Y" OR A$="y" OR A$="X" OR A$="Z") THEN GOTO 8000
370 GOTO 400
390 IF X=1 THEN X=2
391 IF X=40 THEN X=39
392 IF Y=2 THEN Y=3
393 IF Y=25 THEN Y=24
395 GOSUB 5000
399 LOCATE OX,OY:PRINT FIGK$
400 LOCATE X,Y:PRINT FIG1$
430 IF X=OBJX AND Y=OBJY THEN score=SCORE+1:OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3:GOSUB 3500:ON PISTA GOSUB 4700,4720,4740,4760,4780,4800,4820
450 IF X=XZ1 AND Y=YZ1 THEN GOTO 1500
451 IF X=XZ2 AND Y=YZ2 THEN GOTO 1592
500 ANT=INT(RND*4)+1:GOSUB 1600
505 OXZ1=XZ1:OYZ1=YZ1
510 IF ANT=1 THEN OXZ1=XZ1:OYZ1=YZ1:XZ1=XZ1-1:GOTO 550
515 IF ANT=2 THEN OXZ1=XZ1:OYZ1=YZ1:XZ1=XZ1+1:GOTO 550
520 IF ANT=3 THEN OXZ1=XZ1:OYZ1=YZ1:YZ1=YZ1-1:GOTO 550
525 IF ANT=4 THEN OXZ1=XZ1:OYZ1=YZ1:YZ1=YZ1+1:GOTO 550 
550 IF XZ1=1 THEN XZ1=2
560 IF XZ1=40 THEN XZ1=39
561 IF YZ1=2 THEN YZ1=3
562 IF YZ1=24 THEN YZ1=23 
563 GOSUB 6000
580 LOCATE OXZ1,OYZ1:PRINT " "
590 PEN 2:LOCATE XZ1,YZ1:PRINT FIG8$:PEN 1
600 IF X=XZ1 AND Y=YZ1 THEN GOTO 1500
601 IF X=XZ2 AND Y=YZ2 THEN GOTO 1592
605 ANTIP=INT(RND*4)+1:GOSUB 1670
606 OXZ2=XZ2:OYZ2=YZ2
607 IF ANTIP=1 THEN OXZ2=XZ2:OYZ2=YZ2:XZ2=XZ2-1:GOTO 612
608 IF ANTIP=2 THEN OXZ2=XZ2:OYZ2=YZ2:XZ2=XZ2+1:GOTO 612
609 IF ANTIP=3 THEN OXZ2=XZ2:OYZ2=YZ2:YZ2=YZ2-1:GOTO 612
610 IF ANTIP=4 THEN OXZ2=XZ2:OYZ2=YZ2:YZ2=YZ2+1:GOTO 612
612 IF XZ2=1 THEN XZ2=2
613 IF XZ2=40 THEN XZ2=39
614 IF YZ2=2 THEN YZ2=3 
615 IF YZ2=25 THEN YZ2=24
616 GOSUB 7000
617 LOCATE OXZ2,OYZ2:PRINT " "
618 PEN 2:LOCATE XZ2,YZ2:PRINT FIG9$:PEN 1
619 IF X=XZ1 AND Y=YZ1 THEN GOTO 1500
620 IF X=XZ2 AND Y=YZ2 THEN GOTO 1592
622 IF SCORE=6 THEN SCORE=0:DIFF=DIFF+1:LO=1
623 IF DIFF=11 THEN GOTO 950
625 IF LO=1 THEN CLS:LOCATE 17,13:PRINT "LEVEL";DIFF-3:GOSUB 1496:CLS:GOTO 150
900 WEND
950 MODE 1:LOCATE 17,10:PRINT"YOU WIN!":LOCATE 10,18:PRINT"PRESS SPACE TO RESTART":GOSUB 8200:GOSUB 1495:SCORE=0:DIFF=1
952 R$=INKEY$
954 IF R$=" " THEN GOTO 20
956 GOTO 952
998 END
999 MODE 2:PEN 1:INK 1,19:END
1000 FIG1$=CHR$(224):X=20:Y=20:FIGK$=" "
1005 INK 1,19:INK 2,6:INK 3,24
1010 FIG8$=CHR$(225):XZ1=5:YZ1=5:ekr$=CHR$(252)
1012 IF DIFF<4 THEN XZ1=5:YZ1=5
1013 IF DIFF>4 AND DIFF<7 THEN XZ1=30:YZ1=10
1014 IF DIFF>7 AND DIFF<10 THEN XZ1=20:YZ1=10
1015 IF DIFF=10 THEN XZ1=20:YZ1=18
1020  REM !!!!!!!!!!!!!SETTING DIFFICULTY!!!!!!!!!!!!!!!!!
1030 OBJ$=CHR$(228)
1040 FIG9$=CHR$(224)
1050 TU$=CHR$(207):TUK$=CHR$(241):TUX$=CHR$(206):TUD$=CHR$(127):TUM$=CHR$(237):TUU$=CHR$(229)
1490 RETURN
1495 W1$=INKEY$:W2$=INKEY$:W3$=INKEY$:W4$=INKEY$:W5$=INKEY$:W6$=INKEY$:W1$=INKEY$:W2$=INKEY$:W3$=INKEY$:W4$=INKEY$:W5$=INKEY$:W6$=INKEY$:RETURN
1496 R$=INKEY$
1498 IF R$=" " THEN RETURN
1499 GOTO 1496
1500 SOUND 1,800,20,15,,,15:LOCATE XZ1,YZ1:PEN 2:PRINT EKR$:PEN 1:LIVES=LIVES-1:IF LIVES=0 THEN GOTO 1700
1548 GOSUB 1495
1550 D$=INKEY$
1560 IF D$="" THEN GOTO 1550 
1570 MODE 1:LOCATE 17,20:PRINT"LIFE LOST":GOSUB 1495
1580 D$=INKEY$
1590 IF D$=" " THEN GOTO 150
1591 GOTO 1580
1592 SOUND 1,800,20,15,,,15:LOCATE XZ2,YZ2:PEN 2:PRINT EKR$:PEN 1:LIVES=LIVES-1:IF LIVES=0 THEN GOTO 1700
1593 GOSUB 1495
1594 D$=INKEY$
1595 IF D$="" THEN GOTO 1594
1596 MODE 1:LOCATE 17,20:PRINT"LIFE LOST":GOSUB 1495
1597 D$=INKEY$
1598 IF D$=" " THEN GOTO 150
1599 GOTO 1597
1600 REM
1610 ANT1=INT(RND*10)+1
1615 IF ANT1>DIFF THEN RETURN
1620 IF X=XZ1 AND Y<YZ1 THEN ANT=3:RETURN
1621 IF X=XZ1 AND Y>YZ1 THEN ANT=4:RETURN
1622 IF Y=YZ1 AND X<XZ1 THEN ANT=1:RETURN
1623 IF Y=YZ1 AND X>XZ1 THEN ANT=2:RETURN 
1630 KAT=INT(RND*2)+1
1635 IF KAT=1 THEN GOTO 1650
1637 IF KAT=2 THEN GOTO 1654
1650 IF X<XZ1 THEN ANT=1
1652 IF X>XZ1 THEN ANT=2
1653 GOTO 1669
1654 IF Y<YZ1 THEN ANT=3
1656 IF Y>YZ1 THEN ANT=4
1669 RETURN
1670 ANTIP1=INT(RND*10)+1:IF DIFF=10 THEN ANTIP1=ANTIP1+1
1671 IF ANTIP1>DIFF THEN RETURN
1672 IF X=XZ2 AND Y<YZ2 THEN ANTIP=3:RETURN
1673 IF X=XZ2 AND Y>YZ2 THEN ANTIP=4:RETURN
1674 IF Y=YZ2 AND X<XZ2 THEN ANTIP=1:RETURN
1675 IF Y=YZ2 AND X>XZ2 THEN ANTIP=2:RETURN
1676 KAT2=INT(RND*2)+1
1677 IF KAT2=1 THEN GOTO 1680
1678 IF KAT2=2 THEN GOTO 1683
1680 IF X<XZ2 THEN ANTIP=1
1681 IF X>XZ2 THEN ANTIP=2
1682 GOTO 1690
1683 IF Y<YZ2 THEN ANTIP=3
1684 IF Y>YZ2 THEN ANTIP=4
1690 RETURN
1700 GOSUB 1496:MODE 1:LOCATE 17,20:PRINT"GAME OVER":LOCATE 10,18:PRINT"PRESS SPACE TO RESTART":GOSUB 8300:GOSUB 1495
1710 D$=INKEY$
1720 IF D$=" " THEN GOTO 20
1730 GOTO 1710
1826 IF OBJX=26 AND OBJY=22 THEN GOTO 4820
1900 IF DIFF=4 THEN XZ1=15:YZ1=8
1902 IF DIFF=5 THEN XZ1=31:YZ1=10
1904 IF DIFF=6 THEN XZ1=32:YZ1=10
1906 IF DIFF=7 THEN XZ1=24:YZ1=10 
1908 IF DIFF=8 THEN XZ1=20:YZ1=10
1910 IF DIFF=9 THEN XZ1=29:YZ1=12 
1912 IF DIFF=10 THEN XZ1=29:YZ1=15
1920 IF DIFF=4 THEN XZ2=30:YZ2=10 
1922 IF DIFF=5 THEN XZ2=11:YZ2=10
1924 IF DIFF=6 THEN XZ2=8:YZ2=10 
1926 IF DIFF=7 THEN XZ2=14:YZ2=10
1928 IF DIFF=8 THEN XZ2=25:YZ2=10
1930 IF DIFF=9 THEN XZ2=11:YZ2=12 
1932 IF DIFF=10 THEN XZ2=12:YZ2=15
1999 RETURN
2000 MODE 2:PEN 1:INK 1,19:LOCATE 1,3:PRINT"In this game, you have to collect the hearts, and avoid the angry enemies.":LOCATE 1,5:PRINT"You have to collect six hearts for each level."
2010 LOCATE 1,7:PRINT"There are 7 levels, and the intelligence of the enemies increases in each level.":LOCATE 1,9:PRINT"You have only 3 lives!"
2015 LOCATE 1,13:PRINT"In the final stage (level 7) you can enable <save yourself> feature,":LOCATE 1,15:PRINT"by pressing <Y> or joystick fire button quickly, if you are in a great danger."
2016 LOCATE 1,17:PRINT"Then, you will start from the previous level again but with 1 extra life!"
2020 LOCATE 36,22:PRINT"HAVE FUN!"
2030 GOSUB 1495
2040 T$=INKEY$
2050 IF T$<>"" THEN GOTO 20
2060 GOTO 2040
2999 RETURN
3000 PEN 1:INK 1,19:MODE 2:LOCATE 4,6:PRINT"1. JOYSTICK KEYS":LOCATE 4,10:PRINT"2. a w s d KEYS":LOCATE 4,14:PRINT"3. q a o p KEYS"
3005 LOCATE 3,18:PRINT"PLS DO NOT USE CAPITAL KEYS"
3010 K$=INKEY$
3020 IF K$="1" THEN PLK$="\n":PLP$="":PLA$="":PLD$="\t":GOTO 3060
3030 IF K$="2" THEN PLK$="s":PLP$="w":PLA$="a":PLD$="d":GOTO 3060
3040 IF K$="3" THEN PLK$="a":PLP$="q":PLA$="o":PLD$="p":GOTO 3060
3050 GOTO 3010
3060 LOCATE 16,22:PRINT "SELECTION OK"
3065 L$=INKEY$ 
3070 IF L$="" THEN GOTO 3065
3080 RETURN
3100 PLK$="\n":PLP$="":PLA$="":PLD$="\t":RETURN
3500 REM
3510 SOUND 1,90,10,15:SOUND 1,85,7,15:SOUND 1,80,7,15:SOUND 1,75,7,15:
3599 RETURN
3600 FOR SOU=1 TO 2:SOUND 1,80,10,15:SOUND 1,67,10,15:SOUND 1,60,15,15:SOUND 1,0,5:NEXT SOU
3649 RETURN
4000 FOR BL=1 TO 10:LOCATE 15+BL,10:PRINT TU$:LOCATE 15+BL,17:PRINT TU$:NEXT BL:RETURN
4100 FOR BL=1 TO 10:LOCATE 10,6+BL:PRINT TUD$:LOCATE 30,6+BL:PRINT TUD$:NEXT BL:RETURN
4200 FOR BL=1 TO 15:LOCATE 12+BL,6:PRINT TU$:LOCATE 12+BL,12:PRINT TUD$:LOCATE 12+BL,18:PRINT TUX$:NEXT BL:RETURN
4300 FOR BL=1 TO 12:LOCATE 10,6+BL:PRINT TU$:LOCATE 20,6+BL:PRINT TUX$:LOCATE 30,6+BL:PRINT TU$:NEXT BL:RETURN
4400 FOR BL=1 TO 12:LOCATE 10,5+BL:PRINT TUU$:LOCATE 30,5+BL:PRINT TUU$:NEXT BL
4401 FOR BL=1 TO 19:LOCATE 10+BL,6:PRINT TUU$:NEXT BL
4402 RETURN
4500 FOR BL=1 TO 15:LOCATE 12+BL,6:PRINT TU$:LOCATE 12+BL,12:PRINT TU$:LOCATE 12+BL,18:PRINT TUK$:NEXT BL
4501 FOR BL=1 TO 12:LOCATE 10,6+BL:PRINT TUD$:LOCATE 20,6+BL:PRINT TU$:LOCATE 30,6+BL:PRINT TUD$:NEXT BL
4502 RETURN
4600 FOR BL=1 TO 12:FOR BL1=1 TO 38:LOCATE 1+BL1,2+BL:PRINT TU$:NEXT BL1:NEXT BL
4601 FOR BL=1 TO 11:FOR BL1=1 TO 10:LOCATE 1+BL1,13+BL:PRINT TU$:NEXT BL1:NEXT BL:LOCATE 1,1 
4602 FOR BL=1 TO 11:FOR BL1=1 TO 10:LOCATE 40-BL1,13+BL:PRINT TU$:NEXT BL1:NEXT BL:LOCATE 1,1
4603 LOCATE 15,18:PRINT TU$:LOCATE 15,22:PRINT TU$:LOCATE 26,18:PRINT TU$:LOCATE 26,22:PRINT TU$
4604 LOCATE 6,4:PRINT"www.amstradsakis.blogspot.com"
4605 LOCATE 10,12:PRINT"YOU WILL NOT SURVIVE!!"
4606 LOCATE 4,20:PRINT"RUN":LOCATE 5,21:PRINT"OR":LOCATE 5,22:PRINT"DIE!":LOCATE 35,20:PRINT"I":LOCATE 33,21:PRINT"WILL":LOCATE 32,22:PRINT"CHASE":LOCATE 33,23:PRINT"YOU!"
4607 LOCATE 13,7:PRINT"Save <y>ourself!"
4610 RETURN
4700 REM OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3
4701 OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3
4702 IF OBJX>15 AND OBJX<26 AND (OBJY=10 OR OBJY=17) THEN GOTO 4701
4703 RETURN
4719 RETURN
4720 OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3
4721 IF (OBJX=10 OR OBJX=30) AND OBJY>6 AND OBJY<17 THEN GOTO 4720
4722 RETURN
4740 OBJX=INT(RND*27)+7:OBJY=INT(RND*13)+3
4741 IF OBJX>12 AND OBJX<28 AND (OBJY=6 OR OBJY=12 OR OBJY=18) THEN GOTO 4740
4742 RETURN
4760 OBJX=INT(RND*27)+7:OBJY=INT(RND*13)+3
4761 IF (OBJX=10 OR OBJX=20 OR OBJX=30) AND OBJY>6 AND OBJY<19 THEN GOTO 4760
4762 RETURN
4780 OBJX=INT(RND*27)+7:OBJY=INT(RND*13)+7
4781 IF (OBJX=10 OR OBJX=30) AND OBJY>5 AND OBJY<18  THEN GOTO 4780
4782 IF OBJX>9 AND OBJX<31 AND OBJY=6 THEN GOTO 4780
4783 RETURN
4800 OBJX=INT(RND*24)+8:OBJY=INT(RND*13)+7
4801 IF (OBJX=10 OR OBJX=20 OR OBJX=30) AND OBJY>6 AND OBJY<19 THEN GOTO 4800
4802 IF OBJX>12 AND OBJX<28 AND (OBJY=6 OR OBJY=12 OR OBJY=18) THEN GOTO 4800
4805 RETURN
4820 OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3
4821 IF OBJX<12 OR OBJX>29 THEN GOTO 4820
4822 IF OBJY<15 THEN GOTO 4820
4823 IF OBJX=15 AND OBJY=18 THEN GOTO 4820
4824 IF OBJX=15 AND OBJY=22 THEN GOTO 4820
4825 IF OBJX=26 AND OBJY=18 THEN GOTO 4820
4830 RETURN
5000 REM PAIXTIS
5010 ON PISTA GOSUB 5100,5200,5300,5400,5500,5600,5700
5020 RETURN 
5100 IF X>15 AND X<26 AND (Y=10 OR Y=17) THEN X=OX:Y=OY
5199 RETURN
5200 IF (X=10 OR X=30) AND Y>6 AND Y<17 THEN X=OX:Y=OY
5201 RETURN
5300 IF X>12 AND X<28 AND (Y=6 OR Y=12 OR Y=18) THEN X=OX:Y=OY
5301 RETURN
5400 IF (X=10 OR X=20 OR X=30) AND Y>6 AND Y<19 THEN X=OX:Y=OY
5401 RETURN
5500 IF (X=10 OR X=30) AND Y>5 AND Y<18  THEN X=OX:Y=OY
5501 IF X>9 AND X<31 AND Y=6 THEN X=OX:Y=OY
5502 RETURN
5600 IF X>12 AND X<28 AND (Y=6 OR Y=12 OR Y=18) THEN X=OX:Y=OY
5601 IF (X=10 OR X=20 OR X=30) AND Y>6 AND Y<19 THEN X=OX:Y=OY
5605 RETURN
5700 IF X<12 OR X>29 OR Y<15 THEN X=OX:Y=OY
5701 IF X=15 AND Y=18 THEN X=OX:Y=OY
5702 IF X=15 AND Y=22 THEN X=OX:Y=OY
5703 IF X=26 AND Y=18 THEN X=OX:Y=OY
5704 IF X=26 AND Y=22 THEN X=OX:Y=OY
5720 RETURN
6000 REM ANTIPALOS 1
6010 ON PISTA GOSUB 6100,6200,6300,6400,6500,6600,6700
6020 RETURN
6100 IF XZ1>15 AND XZ1<26 AND (YZ1=10 OR YZ1=17) THEN XZ1=OXZ1:YZ1=OYZ1
6199 RETURN
6200 IF (XZ1=10 OR XZ1=30) AND YZ1>6 AND YZ1<17 THEN XZ1=OXZ1:YZ1=OYZ1
6201 RETURN
6300 IF XZ1>12 AND XZ1<28 AND (YZ1=6 OR YZ1=12 OR YZ1=18) THEN XZ1=OXZ1:YZ1=OYZ1
6301 RETURN
6400 IF (XZ1=10 OR XZ1=20 OR XZ1=30) AND YZ1>6 AND YZ1<19 THEN XZ1=OXZ1:YZ1=OYZ1
6401 RETURN
6500 IF (XZ1=10 OR XZ1=30) AND YZ1>5 AND YZ1<18  THEN XZ1=OXZ1:YZ1=OYZ1
6501 IF XZ1>9 AND XZ1<31 AND YZ1=6 THEN XZ1=OXZ1:YZ1=OYZ1
6502 RETURN
6600 IF XZ1>12 AND XZ1<28 AND (YZ1=6 OR YZ1=12 OR YZ1=18) THEN XZ1=OXZ1:YZ1=OYZ1
6601 IF (XZ1=10 OR XZ1=20 OR XZ1=30) AND YZ1>6 AND YZ1<19 THEN XZ1=OXZ1:YZ1=OYZ1
6605 RETURN
6700 IF XZ1<12 OR XZ1>29 OR YZ1<15 THEN XZ1=OXZ1:YZ1=OYZ1
6701 IF XZ1=15 AND YZ1=18 THEN XZ1=OXZ1:YZ1=OYZ1
6702 IF XZ1=15 AND YZ1=22 THEN XZ1=OXZ1:YZ1=OYZ1
6703 IF XZ1=26 AND YZ1=18 THEN XZ1=OXZ1:YZ1=OYZ1
6704 IF XZ1=26 AND YZ1=22 THEN XZ1=OXZ1:YZ1=OYZ1
6720 RETURN
7000 REM ANTIPALOS 2
7010 ON PISTA GOSUB 7100,7200,7300,7400,7500,7600,7700
7020 RETURN
7100 IF XZ2>15 AND XZ2<26 AND (YZ2=10 OR YZ2=17) THEN XZ2=OXZ2:YZ2=OYZ2
7199 RETURN
7200 IF (XZ2=10 OR XZ2=30) AND YZ2>6 AND YZ2<17 THEN XZ2=OXZ2:YZ2=OYZ2
7201 RETURN
7300 IF XZ2>12 AND XZ2<28 AND (YZ2=6 OR YZ2=12 OR YZ2=18) THEN XZ2=OXZ2:YZ2=OYZ2
7301 RETURN
7400 IF (XZ2=10 OR XZ2=20 OR XZ2=30) AND YZ2>6 AND YZ2<19 THEN XZ2=OXZ2:YZ2=OYZ2
7401 RETURN
7500 IF (XZ2=10 OR XZ2=30) AND YZ2>5 AND YZ2<18  THEN XZ2=OXZ2:YZ2=OYZ2
7501 IF XZ2>9 AND XZ2<31 AND YZ2=6 THEN XZ2=OXZ2:YZ2=OYZ2
7502 RETURN
7600 IF XZ2>12 AND XZ2<28 AND (YZ2=6 OR YZ2=12 OR YZ2=18) THEN XZ2=OXZ2:YZ2=OYZ2
7601 IF (XZ2=10 OR XZ2=20 OR XZ2=30) AND YZ2>6 AND YZ2<19 THEN XZ2=OXZ2:YZ2=OYZ2
7605 RETURN
7700 IF XZ2<12 OR XZ2>29 OR YZ2<15 THEN XZ2=OXZ2:YZ2=OYZ2
7701 IF XZ2=15 AND YZ2=18 THEN XZ2=OXZ2:YZ2=OYZ2
7702 IF XZ2=15 AND YZ2=22 THEN XZ2=OXZ2:YZ2=OYZ2
7703 IF XZ2=26 AND YZ2=18 THEN XZ2=OXZ2:YZ2=OYZ2
7704 IF XZ2=26 AND YZ2=22 THEN XZ2=OXZ2:YZ2=OYZ2
7720 RETURN
8000 CLS:MODE 2:PEN 1:LOCATE 3,19:PRINT"YOU SAVED YOURSELF BUT YOU DID NOT COLLECT THE HEARTS": LOCATE 3,21:PRINT"PRESS SPACE TO TRY AGAIN FROM THE PREVIOUS LEVEL"
8005 LOCATE 3,23:PRINT"+1 EXTRA LIFE!"
8007 SOUND 1,60,8,14:SOUND 1,95,9,14:SOUND 1,119,8,14
8010 F$=INKEY$
8020 IF F$=" " THEN GOTO 8040
8030 GOTO 8010
8040 DIFF=9:score=0:LIVES=LIVES+1:GOTO 150
8100 LIVES=10:KRYFO=1:MODE 1:LOCATE 9,15:PRINT"YOU UNLOCKED 10 LIVES!!":LOCATE 9,17:PRINT"PRESS SPACE TO CONTINUE" 
8105 SOUND 1,119,8,14:SOUND 1,95,8,14:SOUND 1,60,8,14
8110 F$=INKEY$
8115 IF F$=" " THEN MODE 1:RETURN
8120 GOTO 8110
8200 SOUND 1,119,10,14:SOUND 1,106,10,14:SOUND 1,95,10,14:SOUND 1,89,10,14:SOUND 1,80,10,14:SOUND 1,71,10,14:SOUND 1,67,10,14:SOUND 1,63,10,14:SOUND 1,60,20,14:RETURN
8300 SOUND 1,60,10,15:SOUND 1,63,10,15:SOUND 1,71,10,15:SOUND 1,80,10,15:SOUND 1,89,10,15:SOUND 1,95,10,15:SOUND 1,106,10,15:SOUND 1,119,10,15 
8310 SOUND 1,179,10,15:SOUND 1,190,10,15:SOUND 1,213,10,15:SOUND 1,239,10,15:SOUND 1,253,10,15:SOUND 1,284,10,15:SOUND 1,319,10,15:SOUND 1,358,10,15   
8320 SOUND 1,478,10,15:SOUND 1,506,10,15:SOUND 1,568,10,15:SOUND 1,638,10,15:SOUND 1,716,10,15:SOUND 1,758,10,15:SOUND 1,851,10,15:SOUND 1,956,50,15
8330 RETURN