10 REM HEART CHASER 3! COPYRIGHT BY SAKIS KAFFESAKIS 2020.
12 GOSUB 9800
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=10   
25 IF KRYFO=1 THEN LIVES=99
30 LOCATE 7,2:PRINT "Welcome to..." 
40 LOCATE 13,8:PEN 2:SPEED INK 40,40:INK 2,19,24:PRINT "HEART CHASER 3!" 
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 
265 REM
280 PISTA=DIFF-3
285 ON PISTA GOSUB 4000,4100,4200,4300,4400,4500,4600,9100,9200,9300
290 ON PISTA GOSUB 4700,4720,4740,4760,4780,4800,4820,9550,9600,9650: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 31,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=13 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,9550,9600,9650
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=14 THEN GOTO 950
625 IF LO=1 THEN CLS:LOCATE 17,11:GOSUB 9950:GOSUB 1496:CLS:GOTO 150
900 WEND
950 MODE 1:GOSUB 9778:GOSUB 1495:GOSUB 9700:LOCATE 10,18:PRINT"PRESS SPACE TO RESTART":GOSUB 8200:GOSUB 9990: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)
1020  REM
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):TUF$=CHR$(143)
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=4:YZ1=4:XZ2=37:YZ2=21:X=20:Y=11
1902 IF DIFF=5 THEN XZ1=8:YZ1=4:XZ2=33:YZ2=22:X=20:Y=13
1904 IF DIFF=6 THEN XZ1=20:YZ1=9:XZ2=20:YZ2=13:X=20:Y=22
1906 IF DIFF=7 THEN XZ1=11:YZ1=8:XZ2=26:YZ2=13:X=21:Y=17
1908 IF DIFF=8 THEN XZ1=9:YZ1=11:XZ2=29:YZ2=18:X=21:Y=24
1910 IF DIFF=9 THEN XZ1=5:YZ1=4:XZ2=36:YZ2=23:X=18:Y=13
1912 IF DIFF=10 THEN XZ1=23:YZ1=4:XZ2=17:YZ2=8:X=21:Y=22
1914 IF DIFF=11 THEN XZ1=16:YZ1=12:XZ2=27:YZ2=12:X=21:Y=24
1916 IF DIFF=12 THEN XZ1=16:YZ1=12:XZ2=27:YZ2=12:X=21:Y=24
1918 IF DIFF=13 THEN XZ1=11:YZ1=8:XZ2=29:YZ2=8:X=20:Y=18
1999 RETURN
2000 MODE 2:PEN 1:INK 1,19:LOCATE 1,1:PRINT"In this game, you have to collect the hearts, and avoid the angry enemies.":LOCATE 1,3:PRINT"You have to collect six hearts for each level."
2010 LOCATE 1,6:PRINT"There are 10 levels, and the enemies' intelligence increases in each level.":LOCATE 1,8:PRINT"You have only 10 lives!"
2015 LOCATE 1,11:PRINT"In the final stage (level 10) you can enable <save yourself> feature,":LOCATE 1,13:PRINT"by pressing <Y> or joystick fire button quickly, if you are in a great danger."
2016 LOCATE 1,15:PRINT"Then, you will start from the previous level again but with 3 extra lives!"
2017 LOCATE 1,18:PRINT"In the two last Levels the enemies have an additional extra skill." 
2018 LOCATE 1,20:PRINT"Pls note that the SAD ENEMY CAN NEVER move to the bottom line (if of course":LOCATE 1,22:PRINT"bottom line is included in the stage)."  
2020 LOCATE 36,25: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 REM PISTA 1
4002 FOR BL=0 TO 19:LOCATE 3,3+BL:PRINT TUF$:LOCATE 38,3+BL:PRINT TUF$:NEXT BL:TU8$=STRING$(8,143):LOCATE 3,3:PRINT TU8$:LOCATE 3,22:PRINT TU8$:LOCATE 31,3:PRINT TU8$:LOCATE 31,22:PRINT TU8$
4003 TU22$=STRING$(22,206):LOCATE 10,9:PRINT TU22$:LOCATE 10,16:PRINT TU22$
4004 FOR BL=0 TO 6:LOCATE 10,3+BL:PRINT TUF$:LOCATE 31,3+BL:PRINT TUF$:NEXT BL
4006 FOR BL=0 TO 6:LOCATE 10,16+BL:PRINT TUF$:LOCATE 31,16+BL:PRINT TUF$:NEXT BL
4099 RETURN
4100 REM PISTA 2
4102 TU28$=STRING$(28,143):LOCATE 7,3:PRINT TU28$:LOCATE 7,23:PRINT TU28$
4104 FOR BL=0 TO 6:LOCATE 7,3+BL:PRINT TUF$:LOCATE 34,3+BL:PRINT TUF$:NEXT BL
4106 FOR BL=0 TO 6:LOCATE 7,17+BL:PRINT TUF$:LOCATE 34,17+BL:PRINT TUF$:NEXT BL
4108 FOR BL=0 TO 8:LOCATE 16,9+BL:PRINT TUX$:LOCATE 25,9+BL:PRINT TUX$:NEXT BL
4110 TU10$=STRING$(10,143):LOCATE 7,9:PRINT TU10$:LOCATE 7,17:PRINT TU10$:LOCATE 25,9:PRINT TU10$:LOCATE 25,17:PRINT TU10$
4199 RETURN
4200 REM PISTA 3
4201 TU23$=STRING$(23,206):LOCATE 9,16:PRINT TU23$:TU11$=STRING$(11,203):LOCATE 15,10:PRINT TU11$:TU13$=STRING$(13,127):LOCATE 14,12:PRINT TU13$:TU5$=STRING$(5,207):LOCATE 18,5:PRINT TU5$
4202 FOR BL=0 TO 5:LOCATE 7+BL,15-BL:PRINT TU$:NEXT BL
4203 FOR BL=0 TO 7:LOCATE 27,8+BL:PRINT TUU$:NEXT BL
4299 RETURN
4300 REM PISTA 4
4302 TU20$=STRING$(20,143):LOCATE 11,6:PRINT TU20$:TU7$=STRING$(7,253):LOCATE 13,12:PRINT TU7$:LOCATE 22,12:PRINT TU7$
4304 FOR BL=0 TO 12:LOCATE 9,6+BL:PRINT TUF$:LOCATE 32,6+BL:PRINT TUF$:NEXT BL
4306 FOR BL=0 TO 6:LOCATE 11,9+BL:PRINT TUU$:LOCATE 30,9+BL:PRINT TUU$:NEXT BL
4399 RETURN
4400 REM PISTA 5
4402 TU26$=STRING$(26,143):LOCATE 8,10:PRINT TU26$:TU8$=STRING$(8,206):LOCATE 11,13:PRINT TU8$:LOCATE 23,13:PRINT TU8$
4404 FOR BL=0 TO 14:LOCATE 8,10+BL:PRINT TUF$:LOCATE 33,10+BL:PRINT TUF$:NEXT BL
4406 FOR BL=0 TO 9:LOCATE 11,13+BL:PRINT TUX$:LOCATE 30,13+BL:PRINT TUX$:NEXT BL
4499 RETURN
4500 REM PISTA 6
4502 TU29$=STRING$(29,143):LOCATE 4,15:PRINT TU29$:LOCATE 9,12:PRINT TU29$
4504 TU6$=STRING$(6,143):LOCATE 4,3:PRINT TU6$:LOCATE 32,24:PRINT TU6$
4506 FOR BL=0 TO 12:LOCATE 4,3+BL:PRINT TUF$:LOCATE 37,12+BL:PRINT TUF$:NEXT BL
4508 FOR BL=0 TO 9:LOCATE 9,3+BL:PRINT TUF$:LOCATE 32,15+BL:PRINT TUF$:NEXT BL
4510 TUE1$=TUX$+TUD$+TU$+TUX$:LOCATE 19,12:PRINT TUE1$:LOCATE 19,15:PRINT TUE1$
4511 FOR EX=4 TO 8:FOR BL=0 TO 15:LOCATE 15+BL,EX:PRINT TU$:NEXT BL:NEXT EX
4512 LOCATE 16,6:PRINT"TRY TO ESCAPE!"
4599 RETURN
4600 REM PISTA 7 (DIFF MAX!)
4602 FOR BL=0 TO 21:LOCATE 15,3+BL:PRINT TUX$:LOCATE 27,3+BL:PRINT TUX$:NEXT BL
4604 TUGRA$=" "+TUF$+" "+TUF$+" "+TUF$+" "+TUF$+" "
4605 TUGRB$=TUF$+" "+TUF$+" "+TUF$+" "+TUF$+" "+TUF$
4606 LOCATE 17,3:PRINT TUGRA$:LOCATE 17,7:PRINT TUGRA$:LOCATE 17,5:PRINT TUGRB$:LOCATE 17,9:PRINT TUGRB$
4699 RETURN
4700 REM OBJX=INT(RND*37)+2:OBJY=INT(RND*21)+3: REM RESTRICTIONS OF HEART APPEARRING (EVERY 20 FOR FIRST 7)
4701 OBJX=INT(RND*34)+4:OBJY=INT(RND*18)+4
4702 IF (OBJX>9 AND OBJX<32) AND (OBJY<10 OR OBJY>15) THEN GOTO 4701
4719 RETURN
4720 REM PISTA 2
4721 OBJX=INT(RND*26)+8:OBJY=INT(RND*19)+4
4723 IF (OBJX<17 OR OBJX>24) AND (OBJY>8 AND OBJY<18) THEN GOTO 4721
4739 RETURN
4740 REM PISTA 3
4741 OBJX=INT(RND*24)+7:OBJY=INT(RND*13)+6
4742 IF OBJX>17 AND OBJX<23 AND OBJY=5 THEN GOTO 4741 
4743 IF OBJX>14 AND OBJX<26 AND OBJY=10 THEN GOTO 4741
4744 IF OBJX>13 AND OBJX<27 AND OBJY=12 THEN GOTO 4741
4745 IF OBJX>8 AND OBJX<32  AND OBJY=16 THEN GOTO 4741
4746 IF (OBJX=7 AND OBJY=15) OR (OBJX=8 AND OBJY=14) OR (OBJX=9 AND OBJY=13) OR (OBJX=10 AND OBJY=12) OR (OBJX=11 AND OBJY=11) OR (OBJX=12 AND OBJY=10) THEN GOTO 4741
4747 IF OBJX=27 AND OBJY>7 AND OBJY<16 THEN GOTO 4741
4759 RETURN
4760 REM PISTA 4
4761 OBJX=INT(RND*28)+7:OBJY=INT(RND*14)+5
4762 IF OBJX<31 AND OBJX>10 AND OBJY=6 THEN GOTO 4761
4763 IF (OBJX=9 OR OBJX=32) AND (OBJY>5 AND OBJY<19) THEN GOTO 4761
4764 IF (OBJX=11 OR OBJX=30) AND (OBJY>8 AND OBJY<16) THEN GOTO 4761
4765 IF (OBJX>12 AND OBJX<20) AND OBJY=12 THEN GOTO 4761
4766 IF (OBJX>21 AND OBJX<29) AND OBJY=12 THEN GOTO 4761
4779 RETURN
4780 REM PISTA 5
4781 OBJX=INT(RND*24)+9:OBJY=INT(RND*13)+11
4782 IF OBJX<9 OR OBJX>32 OR OBJY<11 THEN GOTO 4781
4783 IF (OBJX=11 OR OBJX=30) AND (OBJY>12 AND OBJY<23) THEN GOTO 4781
4787 IF (OBJX>10 AND OBJX<19) AND OBJY=13 THEN GOTO 4781
4788 IF (OBJX>22 AND OBJX<31) AND OBJY=13 THEN GOTO 4781
4799 RETURN
4800 REM PISTA 6
4801 OBJX=INT(RND*36)+3:OBJY=INT(RND*5)+13
4802 IF OBJX=4 AND OBJY<16 THEN GOTO 4801
4803 IF OBJX=37 AND OBJY>11 THEN GOTO 4801
4804 IF OBJX=9 AND OBJY<13 THEN GOTO 4801
4805 IF OBJX=32 AND OBJY>14 THEN GOTO 4801
4806 IF OBJX>3 AND OBJX<10 AND OBJY=3 THEN GOTO 4801
4807 IF OBJX>31 AND OBJX<38 AND OBJY=24 THEN GOTO 4801
4808 IF OBJX>3 AND OBJX<21 AND OBJY=15 THEN GOTO 4801
4809 IF OBJX>21 AND OBJX<33 AND OBJY=15 THEN GOTO 4801
4810 IF OBJX>8 AND OBJX<39 AND OBJY=12 THEN GOTO 4801 
4811 IF OBJX>36 THEN GOTO 4801
4819 RETURN
4820 REM PISTA 7
4821 OBJX=INT(RND*11)+16:OBJY=INT(RND*9)+3
4822 IF OBJY=3 AND (OBJX=18 OR OBJX=20 OR OBJX=22 OR OBJX=24) THEN GOTO 4821
4823 IF OBJY=7 AND (OBJX=18 OR OBJX=20 OR OBJX=22 OR OBJX=24) THEN GOTO 4821
4824 IF OBJY=5 AND (OBJX=17 OR OBJX=19 OR OBJX=21 OR OBJX=23 OR OBJX=25) THEN GOTO 4821 
4825 IF OBJY=9 AND (OBJX=17 OR OBJX=19 OR OBJX=21 OR OBJX=23 OR OBJX=25) THEN GOTO 4821 
4839 RETURN
5000 REM PAIXTIS RESTRICTION MOVING
5010 ON PISTA GOSUB 5100,5200,5300,5400,5500,5600,5700,5800,5860,5920
5020 RETURN 
5100 REM PISTA 1
5101 IF X<4 OR X>37 THEN GOSUB 5990
5102 IF Y<4 OR Y>21 THEN GOSUB 5990
5104 IF X>9 AND X<32 AND (Y=9 OR Y=16) THEN GOSUB 5990
5106 IF (X=10 OR X=31) AND (Y<10 OR Y>15) THEN GOSUB 5990
5199 RETURN
5200 REM PISTA 2
5201 IF X<8 OR X>33 THEN GOSUB 5990
5202 IF Y<4 OR Y>22 THEN GOSUB 5990
5204 IF (X<17 OR  X>24) AND (Y=9 OR Y=17) THEN GOSUB 5990
5206 IF (X=16 OR X=25) AND (Y>8 AND Y<18) THEN GOSUB 5990 
5299 RETURN
5300 REM PISTA 3
5301 IF X>17 AND X<23 AND Y=5 THEN GOSUB 5990
5302 IF X>14 AND X<26 AND Y=10 THEN GOSUB 5990
5303 IF X>13 AND X<27 AND Y=12 THEN GOSUB 5990
5304 IF X>8 AND X<32  AND Y=16 THEN GOSUB 5990
5306 IF (X=7 AND Y=15) OR (X=8 AND Y=14) THEN GOSUB 5990
5307 IF (X=9 AND Y=13) OR (X=10 AND Y=12) THEN GOSUB 5990
5308 IF (X=11 AND Y=11) OR (X=12 AND Y=10) THEN GOSUB 5990 
5309 IF X=27 AND Y<16 AND Y>7 THEN GOSUB 5990
5399 RETURN
5400 REM PISTA 4
5401 IF X<31 AND X>10 AND Y=6 THEN GOSUB 5990
5402 IF (X=9 OR X=32) AND (Y>5 AND Y<19) THEN GOSUB 5990
5403 IF (X=11 OR X=30) AND (Y>8 AND Y<16) THEN GOSUB 5990
5404 IF (X>12 AND X<20) AND Y=12 THEN GOSUB 5990
5405 IF (X>21 AND X<29) AND Y=12 THEN GOSUB 5990
5499 RETURN
5500 REM PISTA 5
5501 IF X<9 OR X>32 OR Y<11 THEN GOSUB 5990
5502 IF (X=11 OR X=30) AND (Y>12 AND Y<23) THEN GOSUB 5990
5503 IF (X>10 AND X<19) AND Y=13 THEN GOSUB 5990
5504 IF (X>22 AND X<31) AND Y=13 THEN GOSUB 5990
5599 RETURN
5600 REM PISTA 6
5602 IF X=4 AND Y<16 THEN GOSUB 5990
5603 IF X=37 AND Y>11 THEN GOSUB 5990
5604 IF X=9 AND Y<13 THEN GOSUB 5990
5605 IF X=32 AND Y>14 THEN GOSUB 5990
5606 IF X>3 AND X<10 AND Y=3 THEN GOSUB 5990
5607 IF X>31 AND X<38 AND Y=24 THEN GOSUB 5990
5608 IF X>3 AND X<21 AND Y=15 THEN GOSUB 5990 
5609 IF X>21 AND X<33 AND Y=15 THEN GOSUB 5990
5610 IF X>8 AND X<39 AND Y=12 THEN GOSUB 5990
5699 RETURN
5700 REM PISTA 7
5702 IF X<16 OR X>26 THEN GOSUB 5990
5704 IF Y=3 AND (X=18 OR X=20 OR X=22 OR X=24) THEN GOSUB 5990
5706 IF Y=7 AND (X=18 OR X=20 OR X=22 OR X=24) THEN GOSUB 5990
5708 IF Y=5 AND (X=17 OR X=19 OR X=21 OR X=23 OR X=25) THEN GOSUB 5990 
5710 IF Y=9 AND (X=17 OR X=19 OR X=21 OR X=23 OR X=25) THEN GOSUB 5990
5799 RETURN
5800 REM PISTA 8
5801 IF X<9 OR X>33 OR Y<11 THEN GOSUB 5990
5802 IF Y=13 AND (X<16 OR X>26) THEN GOSUB 5990
5803 IF Y=13 AND (X<23 AND X>19) THEN GOSUB 5990
5804 IF (X=11 OR X=31) AND (Y>12 AND Y<23) THEN GOSUB 5990
5805 IF X=21 AND (Y>17 AND Y<23) THEN GOSUB 5990 
5859 RETURN
5860 REM PISTA 9
5861 IF X<9 OR X>33 OR Y<11 THEN GOSUB 5990
5862 IF Y=13 AND (X<16 OR X>26) THEN GOSUB 5990
5863 IF Y=13 AND (X<23 AND X>19) THEN GOSUB 5990
5864 IF X=11  AND (Y>14 AND Y<23) THEN GOSUB 5990
5865 IF X=21 AND (Y>17 AND Y<23) THEN GOSUB 5990 
5866 IF X=31 AND (Y>13 AND Y<23) THEN GOSUB 5990 
5919 RETURN
5920 REM PISTA 10
5921 IF X<11 OR X>29 OR Y<8 OR Y>18 THEN GOSUB 5990
5922 IF Y=15 AND X<15 THEN GOSUB 5990
5924 IF Y=12 AND X<16 AND X>13 THEN GOSUB 5990
5925 IF Y=13 AND X<24 AND X>14 THEN GOSUB 5990
5926 IF X=16 AND (Y>14 AND Y<18) THEN GOSUB 5990
5927 IF X=23 AND Y<12 AND Y>8 THEN GOSUB 5990
5928 IF X=27 AND (Y<13 AND Y>9) THEN GOSUB 5990
5929 IF Y=9 AND (X>15 AND X<22) THEN GOSUB 5990
5930 IF Y=16 AND (X>19 AND X<27) THEN GOSUB 5990
5931 IF X=28 AND Y>14 AND Y<17 THEN GOSUB 5990
5989 RETURN
5990 REM STANDARD
5991 X=OX:Y=OY
5999 RETURN
6000 REM ANTIPALOS 1 RESTRICTION MOVING
6010 ON PISTA GOSUB 6100,6200,6300,6400,6500,6600,6700,6800,6860,6920
6020 RETURN
6100 REM PISTA 1
6101 IF XZ1<4 OR XZ1>37 THEN GOSUB 6990
6102 IF YZ1<4 OR YZ1>21 THEN GOSUB 6990
6104 IF XZ1>9 AND XZ1<32 AND (YZ1=9 OR YZ1=16) THEN GOSUB 6990
6106 IF (XZ1=10 OR XZ1=31) AND (YZ1<10 OR YZ1>15) THEN GOSUB 6990
6199 RETURN
6200 REM PISTA 2
6201 IF XZ1<8 OR XZ1>33 THEN GOSUB 6990
6202 IF YZ1<4 OR YZ1>22 THEN GOSUB 6990
6204 IF (XZ1<17 OR  XZ1>24) AND (YZ1=9 OR YZ1=17) THEN GOSUB 6990
6206 IF (XZ1=16 OR XZ1=25) AND (YZ1>8 AND YZ1<18) THEN GOSUB 6990
6299 RETURN
6300 REM PISTA 3
6301 IF XZ1>17 AND XZ1<23 AND YZ1=5 THEN GOSUB 6990
6302 IF XZ1>14 AND XZ1<26 AND YZ1=10 THEN GOSUB 6990 
6303 IF XZ1>13 AND XZ1<27 AND YZ1=12 THEN GOSUB 6990
6304 IF XZ1>8 AND XZ1<32  AND YZ1=16 THEN GOSUB 6990
6306 IF (XZ1=7 AND YZ1=15) OR (XZ1=8 AND YZ1=14) THEN GOSUB 6990
6307 IF (XZ1=9 AND YZ1=13) OR (XZ1=10 AND YZ1=12) THEN GOSUB 6990
6308 IF (XZ1=11 AND YZ1=11) OR (XZ1=12 AND YZ1=10) THEN GOSUB 6990
6309 IF XZ1=27 AND YZ1<16 AND YZ1>7 THEN GOSUB 6990 
6399 RETURN
6400 REM PISTA 4
6401 IF XZ1<31 AND XZ1>10 AND YZ1=6 THEN GOSUB 6990
6402 IF (XZ1=9 OR XZ1=32) AND (YZ1>5 AND YZ1<19) THEN GOSUB 6990
6403 IF (XZ1=11 OR XZ1=30) AND (YZ1>8 AND YZ1<16) THEN GOSUB 6990
6404 IF (XZ1>12 AND XZ1<20) AND YZ1=12 THEN GOSUB 6990
6405 IF (XZ1>21 AND XZ1<29) AND YZ1=12 THEN GOSUB 6990
6499 RETURN
6500 REM PISTA 5
6501 IF XZ1<9 OR XZ1>32 OR YZ1<11 THEN GOSUB 6990
6502 IF (XZ1=11 OR XZ1=30) AND (YZ1>12 AND YZ1<23) THEN GOSUB 6990
6503 IF (XZ1>10 AND XZ1<19) AND YZ1=13 THEN GOSUB 6990
6504 IF (XZ1>22 AND XZ1<31) AND YZ1=13 THEN GOSUB 6990
6599 RETURN
6600 REM PISTA 6
6602 IF XZ1=4 AND YZ1<16 THEN GOSUB 6990
6603 IF XZ1=37 AND YZ1>11 THEN GOSUB 6990
6604 IF XZ1=9 AND YZ1<13 THEN GOSUB 6990
6605 IF XZ1=32 AND YZ1>14 THEN GOSUB 6990
6606 IF XZ1>3 AND XZ1<10 AND YZ1=3 THEN GOSUB 6990
6607 IF XZ1>31 AND XZ1<38 AND YZ1=24 THEN GOSUB 6990
6608 IF XZ1>3 AND XZ1<21 AND YZ1=15 THEN GOSUB 6990 
6609 IF XZ1>21 AND XZ1<33 AND YZ1=15 THEN GOSUB 6990
6610 IF XZ1>8 AND XZ1<39 AND YZ1=12 THEN GOSUB 6990 
6699 RETURN
6700 REM PISTA 7
6702 IF XZ1<16 OR XZ1>26 THEN GOSUB 6990
6704 IF YZ1=3 AND (XZ1=18 OR XZ1=20 OR XZ1=22 OR XZ1=24) THEN GOSUB 6990
6706 IF YZ1=7 AND (XZ1=18 OR XZ1=20 OR XZ1=22 OR XZ1=24) THEN GOSUB 6990 
6708 IF YZ1=5 AND (XZ1=17 OR XZ1=19 OR XZ1=21 OR XZ1=23 OR XZ1=25) THEN GOSUB 6990
6710 IF YZ1=9 AND (XZ1=17 OR XZ1=19 OR XZ1=21 OR XZ1=23 OR XZ1=25) THEN GOSUB 6990 
6799 RETURN
6800 REM PISTA 8
6801 IF XZ1<9 OR XZ1>33 OR YZ1<11 THEN GOSUB 6990
6802 IF YZ1=13 AND (XZ1<16 OR XZ1>26) THEN GOSUB 6990
6803 IF YZ1=13 AND (XZ1<23 AND XZ1>19) THEN GOSUB 6990
6804 IF (XZ1=11 OR XZ1=31) AND (YZ1>12 AND YZ1<23) THEN GOSUB 6990
6805 IF XZ1=21 AND (YZ1>17 AND YZ1<23) THEN GOSUB 6990
6859 RETURN
6860 REM PISTA 9
6861 IF XZ1<9 OR XZ1>33 OR YZ1<11 THEN GOSUB 6990
6865 IF XZ1=21 AND (YZ1>17 AND YZ1<23) THEN GOSUB 6990
6919 RETURN
6920 REM PISTA 10
6921 IF XZ1<11 OR XZ1>29 OR YZ1<8 OR YZ1>18 THEN GOSUB 6990
6922 IF YZ1=9 AND (XZ1>15 AND XZ1<22) THEN GOSUB 6990
6923 IF YZ1=16 AND (XZ1>19 AND XZ1<27) THEN GOSUB 6990 
6926 IF XZ1=16 AND (YZ1>14 AND YZ1<18) THEN GOSUB 6990
6927 IF XZ1=15 AND YZ1=12 THEN GOSUB 6990
6989 RETURN
6990 REM STANDARD 
6991 XZ1=OXZ1:YZ1=OYZ1
6999 RETURN
7000 REM ANTIPALOS 2 RESTRICTION MOVING
7010 ON PISTA GOSUB 7100,7200,7300,7400,7500,7600,7700,7800,7860,7920
7020 RETURN
7100 REM PISTA 1
7101 IF XZ2<4 OR XZ2>37 THEN GOSUB 7990
7102 IF YZ2<4 OR YZ2>21 THEN GOSUB 7990 
7104 IF XZ2>9 AND XZ2<32 AND (YZ2=9 OR YZ2=16) THEN GOSUB 7990 
7106 IF (XZ2=10 OR XZ2=31) AND (YZ2<10 OR YZ2>15) THEN GOSUB 7990
7199 RETURN
7200 REM PISTA 2
7201 IF XZ2<8 OR XZ2>33 THEN GOSUB 7990
7202 IF YZ2<4 OR YZ2>22 THEN GOSUB 7990
7204 IF (XZ2<17 OR  XZ2>24) AND (YZ2=9 OR YZ2=17) THEN GOSUB 7990 
7206 IF (XZ2=16 OR XZ2=25) AND (YZ2>8 AND YZ2<18) THEN GOSUB 7990
7299 RETURN
7300 REM PISTA 3
7301 IF XZ2>17 AND XZ2<23 AND YZ2=5 THEN GOSUB 7990
7302 IF XZ2>14 AND XZ2<26 AND YZ2=10 THEN GOSUB 7990
7303 IF XZ2>13 AND XZ2<27 AND YZ2=12 THEN GOSUB 7990 
7304 IF XZ2>8 AND XZ2<32  AND YZ2=16 THEN GOSUB 7990
7306 IF (XZ2=7 AND YZ2=15) OR (XZ2=8 AND YZ2=14) THEN GOSUB 7990
7307 IF (XZ2=9 AND YZ2=13) OR (XZ2=10 AND YZ2=12) THEN GOSUB 7990
7308 IF (XZ2=11 AND YZ2=11) OR (XZ2=12 AND YZ2=10) THEN GOSUB 7990
7309 IF XZ2=27 AND YZ2<16 AND YZ2>7 THEN GOSUB 7990
7399 RETURN
7400 REM PISTA 4
7401 IF XZ2<31 AND XZ2>10 AND YZ2=6 THEN GOSUB 7990
7402 IF (XZ2=9 OR XZ2=32) AND (YZ2>5 AND YZ2<19) THEN GOSUB 7990
7403 IF (XZ2=11 OR XZ2=30) AND (YZ2>8 AND YZ2<16) THEN GOSUB 7990
7404 IF (XZ2>12 AND XZ2<20) AND YZ2=12 THEN GOSUB 7990
7405 IF (XZ2>21 AND XZ2<29) AND YZ2=12 THEN GOSUB 7990  
7499 RETURN
7500 REM PISTA 5
7501 IF XZ2<9 OR XZ2>32 OR YZ2<11 THEN GOSUB 7990 
7502 IF (XZ2=11 OR XZ2=30) AND (YZ2>12 AND YZ2<23) THEN GOSUB 7990
7503 IF (XZ2>10 AND XZ2<19) AND YZ2=13 THEN GOSUB 7990 
7504 IF (XZ2>22 AND XZ2<31) AND YZ2=13 THEN GOSUB 7990
7599 RETURN
7600 REM PISTA 6
7602 IF XZ2=4 AND YZ2<16 THEN GOSUB 7990
7603 IF XZ2=37 AND YZ2>11 THEN GOSUB 7990
7604 IF XZ2=9 AND YZ2<13 THEN GOSUB 7990
7605 IF XZ2=32 AND YZ2>14 THEN GOSUB 7990
7606 IF XZ2>3 AND XZ2<10 AND YZ2=3 THEN GOSUB 7990
7607 IF XZ2>31 AND XZ2<38 AND YZ2=24 THEN GOSUB 7990
7608 IF XZ2>3 AND XZ2<21 AND YZ2=15 THEN GOSUB 7990
7609 IF XZ2>21 AND XZ2<33 AND YZ2=15 THEN GOSUB 7990
7610 IF XZ2>8 AND XZ2<39 AND YZ2=12 THEN GOSUB 7990
7699 RETURN
7700 REM PISTA 7
7702 IF XZ2<16 OR XZ2>26 THEN GOSUB 7990 
7704 IF YZ2=3 AND (XZ2=18 OR XZ2=20 OR XZ2=22 OR XZ2=24) THEN GOSUB 7990 
7706 IF YZ2=7 AND (XZ2=18 OR XZ2=20 OR XZ2=22 OR XZ2=24) THEN GOSUB 7990 
7708 IF YZ2=5 AND (XZ2=17 OR XZ2=19 OR XZ2=21 OR XZ2=23 OR XZ2=25) THEN GOSUB 7990
7710 IF YZ2=9 AND (XZ2=17 OR XZ2=19 OR XZ2=21 OR XZ2=23 OR XZ2=25) THEN GOSUB 7990  
7799 RETURN
7800 REM PISTA 8
7801 IF XZ2<9 OR XZ2>33 OR YZ2<11 THEN GOSUB 7990
7802 IF YZ2=13 AND (XZ2<16 OR XZ2>26) THEN GOSUB 7990
7803 IF YZ2=13 AND (XZ2<23 AND XZ2>19) THEN GOSUB 7990 
7804 IF (XZ2=11 OR XZ2=31) AND (YZ2>12 AND YZ2<23) THEN GOSUB 7990
7805 IF XZ2=21 AND (YZ2>17 AND YZ2<23) THEN GOSUB 7990 
7859 RETURN
7860 REM PISTA 9
7861 IF XZ2<9 OR XZ2>33 OR YZ2<11 THEN GOSUB 7990
7862 IF YZ2=13 AND (XZ2<16 OR XZ2>26) THEN GOSUB 7990
7863 IF YZ2=13 AND (XZ2<23 AND XZ2>19) THEN GOSUB 7990
7864 IF XZ2=31 AND (YZ2>12 AND YZ2<23) THEN GOSUB 7990
7865 IF XZ2=21 AND (YZ2>17 AND YZ2<23) THEN GOSUB 7990 
7866 IF XZ2=11 AND (YZ2>14 AND YZ2<23) THEN GOSUB 7990 
7919 RETURN
7920 REM PISTA 10
7921 IF XZ2<11 OR XZ2>29 OR YZ2<8 OR YZ2>18 THEN GOSUB 7990
7922 IF YZ2=9 AND (XZ2>15 AND XZ2<22) THEN GOSUB 7990
7923 IF YZ2=16 AND (XZ2>19 AND XZ2<27) THEN GOSUB 7990
7926 IF XZ2=16 AND (YZ2>14 AND YZ2<18) THEN GOSUB 7990
7927 IF XZ2=15 AND YZ2=12 THEN GOSUB 7990
7989 RETURN 
7990 REM STANDARD
7991 XZ2=OXZ2:YZ2=OYZ2
7999 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"+3 EXTRA LIVES!"
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=12:score=0:LIVES=LIVES+3:GOTO 150
8100 LIVES=99:KRYFO=1:MODE 1:LOCATE 9,15:PRINT"YOU UNLOCKED 99 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:REM WIN SOUND!!!!!!!
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:REM LOSE SOUND!!!!!!! 
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
9100 REM PISTA DESIGNS! PISTA 8
9102 TU27$=STRING$(27,143):LOCATE 8,10:PRINT TU27$:TU7$=STRING$(7,143):LOCATE 9,13:PRINT TU7$:LOCATE 27,13:PRINT TU7$:TU3$=STRING$(3,206):LOCATE 20,13:PRINT TU3$
9104 FOR BL=0 TO 14:LOCATE 8,10+BL:PRINT TUF$:LOCATE 34,10+BL:PRINT TUF$:NEXT BL
9106 FOR BL=0 TO 9:LOCATE 11,13+BL:PRINT TUF$:LOCATE 31,13+BL:PRINT TUF$:NEXT BL
9108 FOR BL=0 TO 4:LOCATE 21,18+BL:PRINT CHR$(203):NEXT BL
9199 RETURN
9200 REM PISTA 9
9202 TU27$=STRING$(27,143):LOCATE 8,10:PEN 3:PRINT TU27$:TU7$=STRING$(7,143):PEN 1:LOCATE 9,13:PRINT TU7$:LOCATE 27,13:PRINT TU7$:TU3$=STRING$(3,206):LOCATE 20,13:PRINT TU3$
9204 FOR BL=0 TO 14:LOCATE 8,10+BL:PEN 3:PRINT TUF$:LOCATE 34,10+BL:PRINT TUF$:PEN 1:NEXT BL
9205 FOR BL=0 TO 8:LOCATE 31,14+BL:PRINT TUF$:NEXT BL
9206 FOR BL=0 TO 7:LOCATE 11,15+BL:PRINT TUF$:NEXT BL
9208 FOR BL=0 TO 4:LOCATE 21,18+BL:PEN 3:PRINT TUF$:NEXT BL:PEN 1
9299 RETURN
9300 REM PISTA 10 FINAL
9302 TU21$=STRING$(21,143):LOCATE 10,7:PEN 3:PRINT TU21$:LOCATE 10,19:PRINT TU21$:PEN 1 
9304 FOR BL=0 TO 12:LOCATE 10,7+BL:PEN 3:PRINT TUF$:LOCATE 30,7+BL:PRINT TUF$:NEXT BL:PEN 1 
9306 TU6$=STRING$(6,143):LOCATE 16,9:PEN 3:PRINT TU6$:TU7$=STRING$(7,143):LOCATE 20,16:PRINT TU7$:PEN 1
9308 TU4$=STRING$(4,143):LOCATE 11,15:PRINT TU4$
9310 TU1$=STRING$(1,143):LOCATE 14,12:PRINT TU1$:LOCATE 15,12:PEN 3:PRINT TUF$:PEN 1:TU9$=STRING$(9,143):LOCATE 15,13:PRINT TU9$
9312 FOR BL=0 TO 2:PEN 3:LOCATE 16,15+BL:PRINT TUF$:PEN 1:NEXT BL:FOR BL=0 TO 1:LOCATE 28,15+BL:PRINT TUF$:NEXT BL
9314 FOR BL=0 TO 2:LOCATE 23,9+BL:PRINT TUF$:LOCATE 27,10+BL:PRINT TUF$:NEXT BL
9316 LOCATE 23,6:PEN 2:PRINT CHR$(241):LOCATE 27,6:PRINT CHR$(241):LOCATE 28,20:PRINT CHR$(240):LOCATE 9,12:PRINT CHR$(243):LOCATE 9,13:PRINT CHR$(243):LOCATE 9,15:PRINT CHR$(243):LOCATE 31,13:PRINT CHR$(242)
9320 PEN 1:FOR EX=22 TO 24:FOR BL=0 TO 30:LOCATE 5+BL,EX:PRINT TU$:NEXT BL:NEXT EX: 
9321 LOCATE 6,23:PRINT"www.amstradsakis.blogspot.com"
9399 RETURN
9500 REM RESTRICTIONS HEART APPEARING LAST 3 STAGES
9550 REM PISTA 8
9551 OBJX=INT(RND*25)+9:OBJY=INT(RND*13)+11
9552 IF OBJY=13 AND (OBJX<16 OR OBJX>26) THEN GOTO 9551
9553 IF OBJY=13 AND (OBJX<23 AND OBJX>19) THEN GOTO 9551
9554 IF (OBJX=11 OR OBJX=31) AND (OBJY>12 AND OBJY<23) THEN GOTO 9551
9555 IF OBJX=21 AND (OBJY>17 AND OBJY<23) THEN GOTO 9551
9556 IF (OBJY=11 OR OBJY=12) AND (OBJX<14 OR OBJX>28) THEN GOTO 9551
9599 RETURN
9600 REM PISTA 9
9601 OBJX=INT(RND*25)+9:OBJY=INT(RND*13)+11
9602 IF OBJY=13 AND (OBJX<16 OR OBJX>26) THEN GOTO 9601
9603 IF OBJY=13 AND (OBJX<23 AND OBJX>19) THEN GOTO 9601
9604 IF OBJX=31 AND (OBJY>12 AND OBJY<23) THEN GOTO 9601
9605 IF OBJX=21 AND (OBJY>17 AND OBJY<23) THEN GOTO 9601
9606 IF (OBJY=11 OR OBJY=12) AND (OBJX<14 OR OBJX>28) THEN GOTO 9601
9607 IF OBJY=14 AND OBJX=31 THEN GOTO 9601
9608 IF OBJX=11 AND (OBJY>14 AND OBJY<23) THEN GOTO 9601
9649 RETURN
9650 REM PISTA 10
9651 OBJX=INT(RND*19)+11:OBJY=INT(RND*11)+8
9652 IF OBJY=15 AND OBJX<15 THEN GOTO 9651
9654 IF OBJY=12 AND OBJX<16 AND OBJX>13 THEN GOTO 9651
9655 IF OBJY=13 AND OBJX<24 AND OBJX>14 THEN GOTO 9651
9656 IF OBJX=16 AND (OBJY>14 AND OBJY<18) THEN GOTO 9651
9657 IF OBJX=23 AND OBJY<12 AND OBJY>8 THEN GOTO 9651
9658 IF OBJX=27 AND (OBJY<13 AND OBJY>9) THEN GOTO 9651
9659 IF OBJY=9 AND (OBJX>15 AND OBJX<22) THEN GOTO 9651
9660 IF OBJY=16 AND (OBJX>19 AND OBJX<27) THEN GOTO 9651 
9661 IF OBJX=28 AND (OBJY>14 AND OBJY<17) THEN GOTO 9651
9699 RETURN
9700 REM FINAL 
9701 MODE 1:PEN 1
9710 TUF$=CHR$(143):FOR BL=0 TO 3:LOCATE 4,7+BL:PRINT TUF$:LOCATE 8,6+BL:PRINT TUF$:LOCATE 11,6+BL:PRINT TUF$:LOCATE 38,5+BL:PRINT TUF$:NEXT BL
9715 FOR BL=0 TO 4:LOCATE 13,5+BL:PRINT TUF$:LOCATE 16,5+BL:PRINT TUF$:NEXT BL
9720 FOR BL=0 TO 5:LOCATE 20,5+BL:PRINT TUF$:LOCATE 26,5+BL:PRINT TUF$:LOCATE 28,5+BL:PRINT TUF$:LOCATE 30,5+BL:PRINT TUF$:LOCATE 35,5+BL:PRINT TUF$:NEXT BL
9725 LOCATE 38,10:PRINT TUF$:TU2$=STRING$(2,143):LOCATE 9,5:PRINT TU2$:LOCATE 9,10:PRINT TU2$:LOCATE 14,10:PRINT TU2$
9735 LOCATE 3,7:PRINT TUF$:LOCATE 5,7:PRINT TUF$
9740 LOCATE 3,5:PRINT CHR$(133):LOCATE 3,6:PRINT CHR$(133):LOCATE 6,5:PRINT CHR$(133):LOCATE 6,6:PRINT CHR$(133)
9745 LOCATE 2,5:PRINT CHR$(138):LOCATE 2,6:PRINT CHR$(138):LOCATE 5,5:PRINT CHR$(138):LOCATE 5,6:PRINT CHR$(138)
9746 PA$=CHR$(212):PD$=CHR$(213):KD$=CHR$(214):KA$=CHR$(215):LOCATE 8,5:PRINT KD$:LOCATE 11,5:PRINT KA$:LOCATE 8,10:PRINT PD$:LOCATE 11,10:PRINT PA$:LOCATE 13,10:PRINT PD$:LOCATE 16,10:PRINT PA$
9747 LOCATE 2,7:PRINT CHR$(130):LOCATE 6,7:PRINT CHR$(129)
9750 FOR PX=0 TO 15:MOVE 480,320+PX:DRAW 544,240+PX:NEXT PX
9755 FOR PX=0 TO 15:MOVE 320,240+PX:DRAW 357,270+PX:NEXT PX:FOR PX=0 TO 15:MOVE 357,270+PX:DRAW 398,240+PX:NEXT PX
9756 LOCATE 1,15
9758 PEN 3
9759 RETURN
9778 REM ENDING
9779 GOSUB 9300::
9780  PEN 2:FOR H=8 TO 18:FOR M=11 TO 29:LOCATE M,H:PRINT CHR$(228):NEXT M:NEXT H:
9781 PEN 1:FOR BL=0 TO 6:LOCATE 13,10+BL:PRINT TUF$:LOCATE 18,10+BL:PRINT TUF$:LOCATE 22,10+BL:PRINT TUF$:LOCATE 24,10+BL:PRINT TUF$:NEXT BL
9782 FOR BL=0 TO 4:LOCATE 27,11+BL:PRINT TUF$:NEXT BL
9783 TU4$=STRING$(4,143):TU3$=STRING$(3,143):KA$=CHR$(215):PA$=CHR$(212):LOCATE 13,10:PRINT TU4$:LOCATE 13,13:PRINT TU4$:LOCATE 13,16:PRINT TU4$:LOCATE 24,10:PRINT TU3$:LOCATE 24,16:PRINT TU3$:LOCATE 27,10:PRINT KA$:LOCATE 27,16:PRINT PA$
9785 FOR PX=0 TO 25:PLOT 287,255-PX:DRAW 335,169-PX:NEXT PX
9786 GOSUB 9999:FOR del=1 TO 1500:NEXT DEL:GOSUB 1495
9787 W$=INKEY$
9788 IF W$=" " THEN GOTO 9799
9789 GOTO 9787
9799 RETURN
9800 REM INTRO
9801 MODE 1:PEN 1:INK 0,0:INK 1,19:BORDER 11:PEN 2:INK 2,6:PEN 3:INK 3,24:PEN 1
9802 TU3$=STRING$(3,143):TU4$=STRING$(4,143):TU5$=STRING$(5,143):KD$=CHR$(214):KA$=CHR$(215)
9803 LOCATE 7,5:PRINT TU4$:LOCATE 12,2:PRINT TU4$:LOCATE 12,5:PRINT TU4$:LOCATE 12,8:PRINT TU4$:LOCATE 18,2:PRINT TU3$:LOCATE 17,6:PRINT TU5$:LOCATE 23,2:PRINT TU4$:LOCATE 23,5:PRINT TU4$:LOCATE 29,2:PRINT TU5$:TUF$=CHR$(143)
9805 FOR BL=0 TO 6:LOCATE 7,2+BL:PRINT TUF$:LOCATE 10,2+BL:PRINT TUF$:LOCATE 12,2+BL:PRINT TUF$:LOCATE 23,2+BL:PRINT TUF$:LOCATE 31,2+BL:PRINT TUF$:NEXT BL
9810 FOR BL=0 TO 4:LOCATE 17,4+BL:PRINT TUF$:LOCATE 21,4+BL:PRINT TUF$:NEXT BL:FOR BL=0 TO 2:LOCATE 26,2+BL:PRINT TUF$:NEXT BL
9815 LOCATE 17,3:PRINT TUF$:LOCATE 21,3:PRINT TUF$:LOCATE 17,2:PRINT KD$:LOCATE 21,2:PRINT KA$
9825 FOR PX=0 TO 15:PLOT 365,330-PX:DRAW 418,285-PX:NEXT PX
9830 LOCATE 6,11:PRINT TU3$:LOCATE 6,17:PRINT TU3$:LOCATE 10,14:PRINT TU4$:LOCATE 16,11:PRINT TU3$:LOCATE 15,15:PRINT TU5$:LOCATE 21,11:PRINT TU5$:LOCATE 21,14:PRINT TU5$:LOCATE 21,17:PRINT TU5$:LOCATE 27,11:PRINT TU4$:LOCATE 27,14:PRINT TU4$
9835 LOCATE 27,17:PRINT TU4$:LOCATE 32,11:PRINT TU4$:LOCATE 32,14:PRINT TU4$
9840 FOR BL=0 TO 4:LOCATE 5,12+BL:PRINT TUF$:LOCATE 15,13+BL:PRINT TUF$:LOCATE 19,13+BL:PRINT TUF$:NEXT BL
9842 FOR BL=0 TO 6:LOCATE 10,11+BL:PRINT TUF$:LOCATE 13,11+BL:PRINT TUF$:LOCATE 27,11+BL:PRINT TUF$:LOCATE 32,11+BL:PRINT TUF$:NEXT BL
9843 LOCATE 15,12:PRINT TUF$:LOCATE 19,12:PRINT TUF$:LOCATE 15,11:PRINT KD$:LOCATE 19,11:PRINT KA$
9844 FOR BL=0 TO 2:LOCATE 21,11+BL:PRINT TUF$:LOCATE 25,14+BL:PRINT TUF$:LOCATE 35,11+BL:PRINT TUF$:NEXT BL
9846 PD$=CHR$(213):LOCATE 5,11:PRINT KD$:LOCATE 5,17:PRINT PD$
9848 FOR PX=0 TO 15:PLOT 505,190-PX:DRAW 563,140-PX:NEXT PX
9850 PEN 2:FOR BL=0 TO 2:LOCATE 17,21+BL:PRINT TUF$:LOCATE 20,21+BL:PRINT TUF$:LOCATE 23,21+BL:PRINT TUF$:LOCATE 17,24:TU7$=STRING$(7,143):PRINT TU7$:NEXT BL
9851 SOUND 1,800,28,15,,,15
9855 FOR DEL=1 TO 1000:NEXT DEL
9860 GOSUB 3500
9870 TU0$=CHR$(128):FOR BL=0 TO 2:LOCATE 17,21+BL:PRINT TU0$:LOCATE 20,21+BL:PRINT TU0$:LOCATE 23,21+BL:PRINT TU0$:NEXT BL:PRINT TU0$:LOCATE 17,24:PRINT SPC(7):
9871 LOCATE 18,19:PRINT TU4$:LOCATE 18,22:PRINT TU4$:LOCATE 18,25:PRINT TU4$:
9872 FOR BL=0 TO 6:LOCATE 21,19+BL:PRINT TUF$:NEXT BL:FOR BL=0 TO 4:LOCATE 23,19+BL:PRINT TUF$:LOCATE 23,25:PRINT TUF$:NEXT BL
9890 PEN 3:LOCATE 30,24:PRINT "by SAKIS":PLOT 590,12:DRAW 460,12
9891 GOSUB 1495
9892 W$=INKEY$
9893 IF W$<>"" THEN GOTO 9899
9894 GOTO 9892
9899 RETURN
9950 REM PRINT FINAL LEVELS
9951 IF DIFF<>12 AND DIFF<>13 THEN PRINT "LEVEL";DIFF-3:RETURN
9952 IF DIFF=12 THEN MODE 2:LOCATE 36,11:PRINT "LEVEL";DIFF-3:LOCATE 1,14:PRINT"In this Level, the SAD ENEMY can move through the GREEN walls,":LOCATE 1,16:PRINT"but not through the YELLOW walls."
9954 IF DIFF=12 THEN LOCATE 1,18:PRINT"If the SAD ENEMY passes through a wall, the wall becomes invisible, but you":LOCATE 1,20:PRINT"CANNOT PASS from that point, so try to REMEMBER the walls' location."
9955 IF DIFF=13 THEN MODE 2:LOCATE 36,11:PRINT "LEVEL";DIFF-3:LOCATE 1,14:PRINT"In this FINAL Level, BOTH ENEMIES can move through the GREEN walls,":LOCATE 1,16:PRINT"but not through the YELLOW walls." 
9957 IF DIFF=13 THEN LOCATE 1,18:PRINT"The arrows try to show you the lines and columns that include green walls,":LOCATE 1,20:PRINT"as some of them may will be made invisible by the enemies' passing by."
9958 IF DIFF=13 THEN LOCATE 1,22:PRINT"You can use <Save yourself> button by pressing <Y> or Joystick fire keys."
9959 IF DIFF=13 THEN LOCATE 29,25:PRINT"PREPARE FOR FINAL BATTLE!"
9969 RETURN
9990 LOCATE 12,21:PRINT "99 LIVES UNLOCKED!":LOCATE 12,23:PRINT"PRESS <L> IN MENU!":RETURN
9999 SOUND 1,60,20,15:SOUND 1,80,5,15:SOUND 1,0,5:SOUND 1,80,10,15:SOUND 1,71,20,15:SOUND 1,80,10,15:SOUND 1,0,30:SOUND 1,63,20,15:SOUND 1,60,40,15:RETURN