1 REM ******************************************
    2 REM                  Leakage
    4 REM Developed by Tim Surtell and David Edwards
    5 REM ******************************************
    6 REM NC200 Version 1 : 11/96
    7 REM Downloaded from Tim's NC Users' Site
    8 REM http://www.ncus.org.uk
   40 REM Created by Timothy Surtell and David Edwards
   60 REM
   70 ONERRORREPORT:PRINT" at line ";ERL:OSCLI("ESCON"):END
   80 OSCLI("ESCOFF")
   90 DIMicon(17,9),cvrd(17,9),leadnom$(6),leadscr(6),level(100),wx(4),wy(4),wgx(4),wgy(4),wdx(4),wdy(4)
  100 CLS
  110 PROCborder(0,1,479,127)
  120 PRINTTAB(35,3)CHR$17"L e a k a g e"CHR$18
  130 PROClogo(170,84)
  140 PROCborder(100,10,380,60)
  150 PRINTTAB(18,10)"Created by Timothy Surtell and David Edwards"TAB(25,12)"Programming by Timothy Surtell"
  160 FORI=1TO27
  170   READnote,length
  180   SOUND1,0,note*4+96,length*16
  190 NEXT
  200 PROCdrip(188,95)
  210 PROCborder(190,50,290,68):PRINTTAB(33,8)"Please wait..."
  220 K=OPENIN("LEVELS.PIP")
  230 pntr=1:REPEAT:INPUT#K,level(pntr):pntr=pntr+1:UNTILEOF#K
  240 CLOSE#0
  250 K=OPENIN("HISCORE.PIP")
  260 FORI=1TO5:INPUT#K,leadnom$(I),leadscr(I):NEXT
  270 CLOSE#0
  280 CLS
  290 PROCborder(0,1,479,127):PROClogo(100,84)
  300 PROCborder(20,60,160,75):PROCborder(170,44,310,59):PROCborder(320,28,460,43)
  310 PRINTTAB(33,3)"---Options---"TAB(8,7)CHR$17"S"CHR$18"tart the game"TAB(29,9)CHR$17"V"CHR$18"iew the league table"TAB(58,11)CHR$17"Q"CHR$18"uit the game"
  320 REPEAT:G$=GET$:UNTILG$="S"ORG$="Q"ORG$="V"ORG$=CHR$17
  330 IFG$="S"PROCgame:GOTO280
  340 IFG$="Q"PROCquit:GOTO280
  350 IFG$="V"PROCleague:GOTO280
  360 IFG$=CHR$17 OSCLI("ESCON"):END
  370 DEF PROCgame
  380 level=1:score=0:pscore=0:pntr=1
  390 CLS
  400 PROCborder(0,1,479,127)
  410 FORX=1TO17:FORY=1TO9:PLOT69,RND(471)+4,RND(119)+4:icon(X,Y)=0:cvrd(X,Y)=0:NEXT:NEXT
  420 water=1:CX=9:CY=5:GX=240:GY=64:sandleft=10:start=FALSE:rand=RND(7):FORI=1 TO 4:wdx(I)=1:wdy(I)=0:NEXT:eflag=1:k=1
  430 num=level(pntr):pntr=pntr+1:numstrt=level(pntr):pntr=pntr+1
  440 IFnum=0level=0:PROClose:ENDPROC
  450 PROCborder(125,5,355,123)
  460 FORX=1TO238STEP14:MOVEX+127,8:PLOT21,X+127,120:NEXT:FORY=1TO120STEP14:MOVE128,Y+7:PLOT21,351,Y+7:NEXT
  470 FORI=1TOnum
  480   REPEAT:X=RND(14)+1:Y=RND(6)+1:UNTILicon(X-1,Y)=0ANDicon(X+1,Y)=0ANDicon(X,Y-1)=0ANDicon(X,Y+1)=0ANDicon(X,Y)=0ANDX<>9ANDX<>5
  490   icon(X,Y)=level(pntr):pntr=pntr+1
  500   PROCstarticons(X*14+114,Y*14-6,icon(X,Y)):cvrd(X,Y)=1
  510   IFicon(X,Y)=8wx(water)=X:wy(water)=Y:wgx(water)=X*14+122:wgy(water)=Y*14+1:water=water+1
  520 NEXT
  530 water=1:fin=numstrt:delay=30DIVnumstrt
  540 PROCborder(9,5,118,60):PRINTTAB(3,10)"Level : ";level TAB(3,11)"Score : ";score:MOVE13,27:DRAW114,27:MOVE93,27:DRAW93,56
  550 PROCeggicon(95,30)
  560 PROCicon(CX,CY,rand)
  570 G=INKEY(1)
  580 IFG>-1ANDstart=FALSE start=TRUE:TIME=0
  590 IFstart=TRUE ANDsandleft>0ANDTIME>100PROCeggcount(95,30,sandleft):TIME=0:sandleft=sandleft-1
  600 IFsandleft=0AND TIME>delay PROCadvance:TIME=0:IFdelay=0score=score+1:PRINTTAB(11,11);score
  610 IFG>139ANDG<244ANDcvrd(CX,CY)=0PROCicon(GX,GY,icon(CX,CY))
  620 IFG=240ANDCY<8CY=CY+1:GY=GY+14
  630 IFG=241ANDCY>1CY=CY-1:GY=GY-14
  640 IFG=242ANDCX>1CX=CX-1:GX=GX-14
  650 IFG=243ANDCX<16CX=CX+1:GX=GX+14
  660 IFG>139ANDG<244ANDcvrd(CX,CY)=0PROCicon(GX,GY,rand)
  670 IFG=32ANDcvrd(CX,CY)=0icon(CX,CY)=rand:PROCedges(CX,CY):rand=RND(7):PROCicon(CX,CY,rand)
  680 IFG=14level=level+1:GOTO390
  690 IFG=17ENDPROC
  700 IFG=65PRINTTAB(5,13)"*Accelerate*":delay=0
  710 IFeflag=TRUE GOTO390
  720 IFeflag=FALSE ENDPROC
  730 GOTO570
  740 END
  750 DEF PROCborder(x1,y1,x2,y2)
  760 MOVEx1-1,y1-1:PLOT103,x2+1,y2+1
  770 MOVEx1,y1:DRAWx1,y2:DRAWx2,y2:DRAWx2,y1:DRAWx1,y1:MOVEx1+2,y1+2:DRAWx1+2,y2-2:DRAWx2-2,y2-2:DRAWx2-2,y1+2:DRAWx1+2,y1+2
  780 MOVEx1+1,y1+1:PLOT21,x1+1,y2-1:PLOT21,x2-1,y2-1:PLOT21,x2-1,y1+1:PLOT21,x1+1,y1+1
  790 ENDPROC
  800 DEF PROClogo(X,Y)
  810 MOVEX+1,Y+40:DRAWX+1,Y+3:DRAWX+3,Y+1:DRAWX+12,Y+1:DRAWX+14,Y+3:DRAWX+14,Y+14:DRAWX+15,Y+14:DRAWX+15,Y+19:DRAWX+16,Y+20:DRAWX+18,Y+20:DRAWX+19,Y+19
  820 MOVEX+5,Y+40:DRAWX+5,Y+6:DRAWX+6,Y+5:DRAWX+9,Y+5:DRAWX+10,Y+6:DRAWX+10,Y+14:DRAWX+9,Y+14:DRAWX+9,Y+24:DRAWX+11,Y+26:DRAWX+13,Y+26:DRAWX+15,Y+24:DRAWX+15,Y+23:DRAWX+16,Y+22:DRAWX+19,Y+22:DRAWX+21,Y+20:DRAWX+21,Y+19
  830 MOVEX+11,Y+14:DRAWX+13,Y+14:MOVEX+10,Y+28:DRAWX+9,Y+28:DRAWX+8,Y+29:DRAWX+9,Y+30:DRAWX+10,Y+30:DRAWX+12,Y+28:DRAWX+14,Y+30:DRAWX+15,Y+30:DRAWX+16,Y+29:DRAWX+15,Y+28:DRAWX+14,Y+28:PLOT69,X+12,Y+27
  840 ENDPROC
  850 DEF PROCdrip(X,Y)
  860 SY=Y:end=FALSE
  870 PLOT69,X+2,Y+7:G=INKEY(8):PLOT69,X+2,Y+6:G=INKEY(7):MOVEX+1,Y+5:DRAWX+3,Y+5:G=INKEY(6):MOVEX+1,Y+4:DRAWX+3,Y+4:G=INKEY(5):MOVEX,Y+3:DRAWX+4,Y+3:G=INKEY(4):MOVEX,Y+2:DRAWX+4,Y+2:G=INKEY(3):MOVEX+1,Y+1:DRAWX+3,Y+1:G=INKEY(2):PLOT69,X+2,Y
  880 REPEAT
  890   MOVEX+2,Y:DRAWX+2,Y+7:MOVEX+1,Y+1:PLOT101,X+3,Y+5:MOVEX,Y+2:PLOT101,X+4,Y+3
  900   G=INKEY(2):IFG>-1 end=TRUE
  910   MOVEX+2,Y:PLOT7,X+2,Y+7:MOVEX+1,Y+1:PLOT103,X+3,Y+5:MOVEX,Y+2:PLOT103,X+4,Y+3
  920   Y=Y-2
  930 UNTILPOINT(X+2,Y+1)=1ORend=TRUE
  940 PLOT69,X-2,Y+3:G=INKEY(5):PLOT69,X+5,Y+2:G=INKEY(5):PLOT69,X-4,Y+3:G=INKEY(5):PLOT69,X+7,Y+4:G=INKEY(8)
  950 MOVEX-4,Y+2:PLOT103,X+7,Y+4
  960 TIME=0:REPEAT:G=INKEY(1)
  970   IFG>-1end=TRUE
  980 UNTILTIME>50ORend=TRUE
  990 IFend=TRUE ENDPROC
 1000 Y=SY:GOTO870
 1010 DEF PROCicon(X,Y,n)
 1020 MOVEGX+1,GY+1:PLOT103,GX+13,GY+13
 1030 IFn=1MOVEGX+1,GY+1:PLOT101,GX+13,GY+5:MOVEGX+1,GY+9:PLOT101,GX+13,GY+13
 1040 IFn=2MOVEGX+1,GY+1:PLOT101,GX+5,GY+13:MOVEGX+9,GY+1:PLOT101,GX+13,GY+13
 1050 IFn=3MOVEGX+9,GY+1:PLOT101,GX+13,GY+13:MOVEGX+1,GY+1:PLOT101,GX+13,GY+5:MOVEGX+1,GY+9:PLOT101,GX+5,GY+13:PLOT69,GX+8,GY+6:PLOT71,GX+5,GY+9
 1060 IFn=4MOVEGX+1,GY+1:PLOT101,GX+5,GY+13:MOVEGX+1,GY+1:PLOT101,GX+13,GY+5:MOVEGX+9,GY+9:PLOT101,GX+13,GY+13:PLOT69,GX+6,GY+6:PLOT71,GX+9,GY+9
 1070 IFn=5MOVEGX+1,GY+9:PLOT101,GX+13,GY+13:MOVEGX+9,GY+1:PLOT101,GX+13,GY+13:MOVEGX+1,GY+1:PLOT101,GX+5,GY+5:PLOT69,GX+8,GY+8:PLOT71,GX+5,GY+5
 1080 IFn=6MOVEGX+1,GY+1:PLOT101,GX+5,GY+13:MOVEGX+1,GY+9:PLOT101,GX+13,GY+13:MOVEGX+9,GY+1:PLOT101,GX+13,GY+5:PLOT69,GX+6,GY+8:PLOT71,GX+9,GY+5
 1090 IFn=7MOVEGX+1,GY+1:PLOT101,GX+13,GY+5:MOVEGX+1,GY+9:PLOT101,GX+13,GY+13:MOVEGX+6,GY+1:PLOT103,GX+8,GY+4:MOVEGX+6,GY+10:PLOT103,GX+8,GY+13
 1100 ENDPROC
 1110 DEF PROCedges(X,Y)
 1120 C=icon(X,Y)
 1130 IFicon(X-1,Y)>0L=TRUE ELSEL=FALSE
 1140 IFicon(X+1,Y)>0R=TRUE ELSER=FALSE
 1150 IFicon(X,Y+1)>0U=TRUE ELSEU=FALSE
 1160 IFicon(X,Y-1)>0D=TRUE ELSED=FALSE
 1170 IF(C=1ORC=3ORC=5ORC=7)ANDL MOVEGX,GY+1:DRAWGX,GY+13:MOVEGX,GY+6:PLOT7,GX,GY+8
 1180 IF(C=1ORC=4ORC=6ORC=7)ANDR MOVEGX+14,GY+1:DRAWGX+14,GY+13:MOVEGX+14,GY+6:PLOT7,GX+14,GY+8
 1190 IF(C=1ORC=5ORC=6)ANDU MOVEGX+1,GY+14:DRAWGX+13,GY+14
 1200 IF(C=1ORC=3ORC=4)ANDD MOVEGX+1,GY:DRAWGX+13,GY
 1210 IF(C=2ORC=4ORC=6)ANDL MOVEGX,GY+1:DRAWGX,GY+13
 1220 IF(C=2ORC=3ORC=5)ANDR MOVEGX+14,GY+1:DRAWGX+14,GY+13
 1230 IF(C=2ORC=3ORC=4ORC=7)ANDU MOVEGX+1,GY+14:DRAWGX+13,GY+14:MOVEGX+6,GY+14:PLOT7,GX+8,GY+14
 1240 IF(C=2ORC=5ORC=6ORC=7)ANDD MOVEGX+1,GY:DRAWGX+13,GY:MOVEGX+6,GY:PLOT7,GX+8,GY
 1250 ENDPROC
 1260 DEF PROCstarticons(X,Y,n)
 1270 MOVEX+1,Y+1:PLOT103,X+13,Y+13
 1280 IFn=8MOVEX+1,Y+1:PLOT101,X+13,Y+4:MOVEX+7,Y+9:PLOT101,X+13,Y+13:MOVEX+7,Y+5:DRAWX+13,Y+5:MOVEX+7,Y+6:PLOT101,X+8,Y+8:PLOT71,X+8,Y+7
 1290 IFn=8PLOT69,X+1,Y+5:PLOT69,X+1,Y+13:PLOT69,X+6,Y+5:PLOT69,X+6,Y+13:MOVEX+2,Y+7:DRAWX+3,Y+6:DRAWX+4,Y+6:DRAWX+5,Y+7:DRAWX+5,Y+8:DRAWX+4,Y+9:DRAWX+3,Y+9:DRAWX+2,Y+10:DRAWX+2,Y+11:DRAWX+3,Y+12:DRAWX+4,Y+12:DRAWX+5,Y+11
 1300 IFn=9MOVEX+1,Y+1:PLOT101,X+13,Y+4:MOVEX+1,Y+9:PLOT101,X+7,Y+13:MOVEX+11,Y+5:PLOT101,X+13,Y+7:MOVEX+6,Y+6:PLOT101,X+7,Y+8:PLOT71,X+6,Y+7
 1310 IFn=9MOVEX+1,Y+5:DRAWX+7,Y+5:MOVEX+9,Y+6:DRAWX+9,Y+12:DRAWX+12,Y+12:MOVEX+9,Y+9:DRAWX+12,Y+9
 1320 IFn=10MOVEX+1,Y+1:PLOT101,X+13,Y+13:MOVEX+1,Y+6:PLOT103,X+13,Y+8:MOVEX+2,Y+4:PLOT7,X+2,Y+2:PLOT7,X+12,Y+2:PLOT7,X+12,Y+4:MOVEX+2,Y+10:PLOT7,X+2,Y+12:PLOT7,X+12,Y+12:PLOT7,X+12,Y+10
 1330 IFn=13MOVEX+6,Y+2:DRAWX+8,Y+2:DRAWX+9,Y+3:DRAWX+10,Y+3:DRAWX+11,Y+4:DRAWX+11,Y+5:DRAWX+12,Y+6:DRAWX+12,Y+8:DRAWX+11,Y+9:DRAWX+11,Y+10:DRAWX+10,Y+11:DRAWX+9,Y+11:MOVEX,Y:DRAWX+14,Y:DRAWX+14,Y+14:DRAWX,Y+14:DRAWX,Y
 1340 IFn=13MOVEX+8,Y+12:DRAWX+6,Y+12:DRAWX+5,Y+11:DRAWX+4,Y+11:DRAWX+3,Y+10:DRAWX+3,Y+9:DRAWX+2,Y+8:DRAWX+2,Y+6:DRAWX+3,Y+5:DRAWX+3,Y+4:DRAWX+4,Y+3:DRAWX+5,Y+3:MOVEX+4,Y+7:DRAWX+5,Y+8:DRAWX+7,Y+6:DRAWX+9,Y+8:DRAWX+10,Y+7
 1350 IFn=14MOVEX+1,Y+1:PLOT101,X+13,Y+13:MOVEX+1,Y+6:PLOT103,X+13,Y+8:MOVEX+3,Y+11:PLOT7,X+11,Y+11:MOVEX+10,Y+10:PLOT7,X+10,Y+12:MOVEX+3,Y+3:PLOT7,X+11,Y+3:MOVEX+10,Y+2:PLOT7,X+10,Y+4
 1360 IFn=15MOVEX+1,Y+1:PLOT101,X+13,Y+13:MOVEX+1,Y+6:PLOT103,X+13,Y+8:MOVEX+3,Y+11:PLOT7,X+11,Y+11:MOVEX+4,Y+10:PLOT7,X+4,Y+12:MOVEX+3,Y+3:PLOT7,X+11,Y+3:MOVEX+4,Y+2:PLOT7,X+4,Y+4
 1370 ENDPROC
 1380 DEF PROCeggicon(X,Y)
 1390 MOVEX+1,Y:DRAWX+18,Y:MOVEX+1,Y+24:DRAWX+18,Y+24:MOVEX+3,Y:DRAWX+3,Y+24:MOVEX+16,Y:DRAWX+16,Y+24
 1400 MOVEX+8,Y+1:DRAWX+11,Y+1:DRAWX+14,Y+5:DRAWX+14,Y+6:DRAWX+12,Y+10:DRAWX+10,Y+12:DRAWX+9,Y+12:DRAWX+7,Y+14:DRAWX+5,Y+19:DRAWX+7,Y+22
 1410 MOVEX+8,Y+23:DRAWX+11,Y+23:DRAWX+14,Y+19:DRAWX+12,Y+14:DRAWX+10,Y+12:DRAWX+9,Y+12:DRAWX+7,Y+10:DRAWX+5,Y+5:DRAWX+6,Y+3:DRAWX+7,Y+2
 1420 MOVEX+6,Y+18:DRAWX+6,Y+19:MOVEX+7,Y+16:DRAWX+7,Y+22:MOVEX+8,Y+14:DRAWX+8,Y+22:MOVEX+9,Y+13:DRAWX+9,Y+22:MOVEX+10,Y+13:DRAWX+10,Y+22:MOVEX+11,Y+14:DRAWX+11,Y+22:MOVEX+12,Y+16:DRAWX+12,Y+22:MOVEX+13,Y+18:DRAWX+13,Y+19
 1430 ENDPROC
 1440 DEF PROCeggcount(X,Y,n)
 1450 IFn<=10MOVEX+8,Y+22:PLOT7,X+11,Y+22:MOVEX+8,Y+2:DRAWX+11,Y+2
 1460 IFn<=9MOVEX+7,Y+21:PLOT7,X+12,Y+21:MOVEX+7,Y+3:DRAWX+12,Y+3
 1470 IFn<=8MOVEX+7,Y+20:PLOT7,X+12,Y+20:MOVEX+7,Y+4:DRAWX+12,Y+4
 1480 IFn<=7MOVEX+6,Y+19:PLOT7,X+13,Y+19:MOVEX+6,Y+5:DRAWX+13,Y+5
 1490 IFn<=6MOVEX+6,Y+18:PLOT7,X+13,Y+18:MOVEX+6,Y+6:DRAWX+13,Y+6
 1500 IFn<=5MOVEX+7,Y+17:PLOT7,X+12,Y+17:MOVEX+7,Y+7:DRAWX+12,Y+7
 1510 IFn<=4MOVEX+7,Y+16:PLOT7,X+12,Y+16:MOVEX+7,Y+8:DRAWX+12,Y+8
 1520 IFn<=3MOVEX+8,Y+15:PLOT7,X+11,Y+15:MOVEX+8,Y+9:DRAWX+11,Y+9
 1530 IFn<=2MOVEX+8,Y+14:PLOT7,X+11,Y+14:MOVEX+8,Y+10:DRAWX+11,Y+10
 1540 IFn<=1MOVEX+9,Y+13:PLOT7,X+10,Y+13:MOVEX+9,Y+11:DRAWX+10,Y+11
 1550 ENDPROC
 1560 DEF PROCadvance
 1570 n=icon(wx(water),wy(water)):cvrd(wx(water),wy(water))=1
 1580 IFn=10cvrd(wx(water),wy(water))=2
 1590 IFn=14ANDwdx(water)=1cvrd(wx(water),wy(water))=3
 1600 IFn=15ANDwdx(water)=-1cvrd(wx(water),wy(water))=4
 1610 IFwx(water)=0score=score-1:GOTO1690
 1620 IFn=0PROClose:ENDPROC
 1630 IFwdy(water)=0MOVEwgx(water),wgy(water)-k-1:PLOT21,wgx(water),wgy(water)+2
 1640 IFn=7ANDwdx(water)=0AND(wgy(water)<wy(water)*14-1ORwgy(water)>wy(water)*14+3)MOVEwgx(water)-k-1,wgy(water):PLOT21,wgx(water)+2,wgy(water):GOTO1660
 1650 IFwdx(water)=0ANDn<>7MOVEwgx(water)-k-1,wgy(water):PLOT21,wgx(water)+2,wgy(water)
 1660 wgx(water)=wgx(water)+wdx(water):wgy(water)=wgy(water)+wdy(water)
 1670 wx(water)=(wgx(water)-114)DIV14:wy(water)=(wgy(water)+6)DIV14
 1680 IFPOINT(wgx(water),wgy(water))=1PROCdirection
 1690 IFwater<numstrt water=water+1ELSEwater=1:k=1MODk
 1700 ENDPROC
 1710 DEF PROCdirection
 1720 IFwdx(water)=1ANDn=3wdx(water)=0:wdy(water)=1:wgx(water)=wgx(water)-2:wgy(water)=wgy(water)+2:ENDPROC
 1730 IFwdx(water)=-1ANDn=4wdx(water)=0:wdy(water)=1:wgx(water)=wgx(water)+2:wgy(water)=wgy(water)+2:ENDPROC
 1740 IFwdx(water)=1ANDn=5wdx(water)=0:wdy(water)=-1:wgx(water)=wgx(water)-2:wgy(water)=wgy(water)-2:ENDPROC
 1750 IFwdx(water)=-1ANDn=6wdx(water)=0:wdy(water)=-1:wgx(water)=wgx(water)+2:wgy(water)=wgy(water)-2:ENDPROC
 1760 IFwdy(water)=-1ANDn=3wdx(water)=-1:wdy(water)=0:wgx(water)=wgx(water)-2:wgy(water)=wgy(water)+2:ENDPROC
 1770 IFwdy(water)=-1ANDn=4wdx(water)=1:wdy(water)=0:wgx(water)=wgx(water)+2:wgy(water)=wgy(water)+2:ENDPROC
 1780 IFwdy(water)=1ANDn=5wdx(water)=-1:wdy(water)=0:wgx(water)=wgx(water)-2:wgy(water)=wgy(water)-2:ENDPROC
 1790 IFwdy(water)=1ANDn=6wdx(water)=1:wdy(water)=0:wgx(water)=wgx(water)+2:wgy(water)=wgy(water)-2:ENDPROC
 1800 IFn=9fin=fin-1:wx(water)=0
 1810 IFn<>9ANDn<>7PROClose
 1820 IFfin=0PROCwin
 1830 ENDPROC
 1840 DEF PROCwin
 1850 pass=TRUE
 1860 FORX=1TO16:FORY=1TO8
 1870     IFicon(X,Y)=10ANDcvrd(X,Y)=0pass=FALSE:X=16:Y=8
 1880     IF(icon(X,Y)=14ORicon(X,Y)=15)ANDcvrd(X,Y)=0pass=FALSE:X=16:Y=8
 1890   NEXT:NEXT
 1900 IFpass=FALSE PROClose:ENDPROC
 1910 PROCborder(100,50,380,78):pscore=score
 1920 eflag=TRUE:level=level+1:PRINTTAB(18,7)"Well done! -- You have completed the level."TAB(18,8)"Press any key to move onto level ";level;"...":G=GET
 1930 ENDPROC
 1940 DEF PROClose
 1950 PROCborder(90,50,390,78)
 1960 IFlevel=0PRINTTAB(16,7)"You have completed the game so far...":GOTO1980
 1970 eflag=FALSE:PRINTTAB(16,7)"Bad luck! You have lost the game.":score=pscore
 1980 pos=0
 1990 FORI=1TO5
 2000   IFscore>leadscr(I)pos=I:I=5
 2010 NEXT
 2020 IFpos=0PRINTTAB(16,8)"Press any key to exit...":G=GET:ENDPROC ELSEPRINTTAB(16,8)"Please type in your name :":INPUTTAB(43,8)name$
 2030 FORA=5TOpos STEP-1:leadnom$(A+1)=leadnom$(A):leadscr(A+1)=leadscr(A):NEXT
 2040 leadnom$(pos)=name$:leadscr(pos)=score
 2050 PROCborder(190,50,290,68):PRINTTAB(33,8)"Please wait..."
 2060 K=OPENOUT("HISCORE.PIP")
 2070 FORI=1TO5:PRINT#K,leadnom$(I),leadscr(I):NEXT
 2080 CLOSE#0
 2090 ENDPROC
 2100 DEF PROCleague
 2110 PROCborder(140,20,340,108)
 2120 PRINTTAB(31,4)"---League Table---"TAB(26,12)"Press any key..."
 2130 FORI=1TO5
 2140   IFI MOD2=1VDU17ELSEVDU18
 2150   PRINTTAB(26,I+5)leadnom$(I)TAB(49,I+5);leadscr(I)
 2160 NEXT:VDU18:G=GET
 2170 ENDPROC
 2180 DEF PROCquit
 2190 PROCborder(100,50,380,78):PRINTTAB(18,7)"Are you sure you want to quit? (Y/N)":REPEAT:G$=GET$:UNTILG$="Y"ORG$="N"ORG$=CHR$27
 2200 IFG$="N"ORG$=CHR$27 ENDPROC
 2210 OSCLI("QUIT")
 2220 
DATA10,.5,15,.33,17,.33,20,.33,22,1,20,.5,17,1,15,.5,13,.5,15,1,17,.25
,15,.25,13,.5,15,1,17,.5,8,1,10,.33,8,.33,10,.33,13,.33,10,.33,13,.33,
15,.33,13,.33,15,.33,17,1,22,1