1 :'****  SKYCAPERS  ****
2 :'** BY DAVID MCLEAN **
3 :'****      &     ****
4 :'**  ALAN  GORTON  **
5 KEY 139,"mode 2:pen 3:paper 0:cls:list"+CHR$(13):KEY 138,CHR$(140)
6 IF flag=0 THEN GOSUB 5000:flag=1
8 GOSUB 8000
9 ll%=0:IF i=1 THEN GOSUB 10000
10 MODE 1
15 screen%=1:doll%=100:poun%=200
20 lives%=3:man%=15:sc%=0
30 x%=INT(1+29*RND(1)):y%=6:dx%=1:dy%=1
50 GOSUB 6000
60 PEN 3
62 LOCATE man%,23:PRINT top$:PEN 0:LOCATE man%,24:PRINT bottom$
65 :'**** Main Loop ****
70 GOSUB 1000
80 j=JOY(0):IF j=0 THEN FOR t=1 TO 43:NEXT
85 IF j=4 AND man%-1>0 THEN GOSUB 2010
90 IF j=8 AND man%+1<29 THEN GOSUB 2040
100 IF scf%=1 THEN GOSUB 4500:scf%=0
110 IF ll%=1 THEN GOSUB 4000
998 GOTO 70
999 :'**** Move Suicide Merchant ****
1000 IF z%<>1 THEN LOCATE x%,y%:PRINT CHR$(32); ELSE z%=0
1010 x%=x%+dx%:IF x%=30 OR x%=1 THEN dx%=-dx%:SOUND 1,200,15,5
1020 y%=y%+dy%:IF y%=6 THEN SOUND 1,200,15,5:GOSUB 3000
1022 IF y%<>23 THEN 1030
1025 IF y%=23 AND x%<>man%+1 AND x%<>man%+2 THEN ll%=1 ELSE dy%=-dy%:SOUND 1,200,15,5
1030 FOR t=1 TO screen%:IF y%=cloudy(t) AND x%>=cloudx(t) AND  x%<cloudx(t)+3 THEN dy%=-dy%:z%=1:SOUND 1,200,15,5
1035 NEXT
1037 IF z%=1 THEN GOTO 1060
1040 LOCATE x%,y%
1050 PRINT CHR$(INT(193+4*RND(1)))
1060 b=b+1:IF b=3 THEN GOSUB 1500:b=0
1499 RETURN
1500 :'**** Move Bailiff ****
1510 bailiff=bailiff+1:IF bailiff=30 THEN LOCATE bailiff,6:PRINT CHR$(32);CHR$(32);CHR$(11);CHR$(8);CHR$(32):bailiff=1
1520 LOCATE bailiff,6:PRINT bailiff$
1530 PEN 3:LOCATE bailiff+2,6:PRINT head$
1540 PEN 0
1550 poun%=poun%-1:PEN 2:LOCATE 2,3:PRINT"#";poun%:SOUND 2,1,5,15
1560 IF poun%<1 THEN GOTO 4000
1570 PEN 0:b=0
1599 RETURN
2000 :'**** Move Stretcher Team ****
2010 LOCATE man%,23:PRINT CHR$(32);CHR$(9);CHR$(9);CHR$(32);CHR$(10);CHR$(8);CHR$(32):man%=man%-1
2020 LOCATE man%,23:PEN 3:PRINT top$
2030 LOCATE man%,24:PEN 0:PRINT bottom$
2035 RETURN
2040 LOCATE man%,23:PRINT CHR$(32);CHR$(8);CHR$(10);CHR$(32);CHR$(11);CHR$(9);CHR$(9);CHR$(32):man%=man%+1
2060 LOCATE man%,23:PEN 3:PRINT top$
2070 LOCATE man%,24:PEN 0:PRINT bottom$
2999 RETURN
3000 :'**** Collisions? ****
3010 IF x%>=bailiff AND x%<bailiff+3 THEN scf%=1:SOUND 2,16,20,15,1,10
3020 dy%=-dy%
3999 RETURN
4000 :'**** Lose A Life ****
4010 lives%=lives%-1:IF lives%<1 THEN GOTO 9000
4015 PEN 2:LOCATE 18,2:PRINT"MEN";lives%
4020 PEN 2:LOCATE 15,12:PRINT"AAARGH !":SOUND 1,1500,15,15,5,5,12
4030 FOR t=1 TO 400:NEXT
4100 ll%=0:poun%=200:man%=15
4110 GOTO 30
4500 :'**** Score ****
4505 sc%=sc%+poun%
4510 PEN 3
4520 LOCATE 2,2:PRINT"1UP ";sc%
4530 doll%=100:poun%=200
4535 PEN 2:LOCATE 2,3:PRINT"#";poun%:LOCATE 30,3:PRINT"$";doll%
4540 screen%=screen%+1
4590 RETURN
5000 :'*** Characters ****
5010 SYMBOL AFTER 139
5020 SYMBOL 193,2,5,10,140,80,36,216,192
5030 SYMBOL 194,192,220,32,80,142,144,24
5040 SYMBOL 195,130,68,36,28,42,75,83,0
5050 SYMBOL 196,6,230,24,23,48,72,140,0
5060 SYMBOL 140,238,0,187,0,238,0,187,0
5070 SYMBOL 197,63,127,127,255,255,127,63,14
5080 SYMBOL 198,12,190,191,223,255,255,251,112
5090 SYMBOL 199,56,124,126,254,252,248,112
5095 SYMBOL 207,0,0,0,0,60,126,126,255
5100 SYMBOL 200,62,88,170,95,182,120,60,24
5120 SYMBOL 202,60,94,33,221,247,15,126,60
5125 SYMBOL 203,126,118,247,251,60,118,102,119
5130 SYMBOL 204,0,0,0,255,127,128,0,0
5140 SYMBOL 205,126,110,239,223,60,110,102,238
5145 SYMBOL 206,0,0,0,255,254,1,0,0
5150 SYMBOL 208,62,88,170,95,178,110,56,128
5160 SYMBOL 209,252,42,21,255,255,143,4,7
5170 :'**** Set character strings ****
5180 bottom$=CHR$(203)+CHR$(9)+CHR$(9)+CHR$(205)
5190 top$=CHR$(200)+CHR$(10)+CHR$(204)+CHR$(206)+CHR$(11)+CHR$(202)
5200 cloud$=CHR$(197)+CHR$(198)+CHR$(199)
5210 bailiff$=CHR$(32)+CHR$(209)+CHR$(11)+CHR$(8)+CHR$(32)+CHR$(207)
5220 head$=CHR$(208)
5999 RETURN
6000 :'*** Set Screen Up ****
6020 BORDER 11:PAPER 1:CLS
6030 a$(1)="    "
6040 a$(2)=""
6045 PEN 2:PAPER 0
6050 FOR t=5 TO 25:LOCATE 32,t:PRINT a$(1);:NEXT
6060 FOR t=5 TO 25 STEP 4:LOCATE 32,t:PRINT a$(2);:NEXT
6070 PLOT 1,340,0:DRAW 636,340,0:DRAW 636,399,0:DRAW 1,399,0:DRAW 1,340,0
6080 PAPER 1:LOCATE 2,2:PEN 3:PRINT"1UP";sc%:LOCATE 30,2:PRINT"HI";hi%:PEN 2:LOCATE 2,3:PRINT"#";poun%:LOCATE 30,3:PRINT"$";doll%  :LOCATE 18,2:PRINT"MEN";lives%
6090 PEN 3:FOR t=1 TO screen%:cloudx(t)=INT(1+26*RND(1)):cloudy(t)=INT(8+5*RND(0)):LOCATE cloudx(t),cloudy(t):PRINT cloud$:NEXT
6999 RETURN
8000 :'**** Title Screen ****
8005 INK 1,11:INK 2,6:INK 0,0:INK 3,26:MODE 1:PAPER 1:CLS
8010 t$="S Y A E S":b$=" K C P R ":yc=2
8020 IF yc=1 THEN yc=2:cy=1 ELSE yc=1:cy=2
8030 PEN 0:LOCATE 4,7:PRINT"The Cast":PEN 2:LOCATE 4,8:PRINT"--- ----"
8040 PEN 3:LOCATE 4,10:PRINT top$:PEN 0:LOCATE 4,11:PRINT bottom$;"   ..... Fred & Bill"
8050 LOCATE 5,13:PRINT bailiff$:PEN 3:LOCATE 7,13:PRINT head$;:PEN 0:PRINT"   ..... Super Bailiff"
8060 LOCATE 6,15:PRINT CHR$(196);"    ..... The Debtter"
8070 PEN 3:LOCATE 5,17:PRINT cloud$;:PEN 0:PRINT"   ..... The Cloud"
8080 PEN 2:LOCATE 10,20:PRINT"Press i for instructions":LOCATE 10,22:PRINT"Press any key to play"
8085 PEN 3:LOCATE 16,yc:PRINT t$:PEN 0:LOCATE 16,cy:PRINT b$
8090 c$=INKEY$:IF c$="" THEN 8020
8100 IF c$="i" OR c$="I" THEN i=1
8999 RETURN
9000 :'**** Game over ****
9010 a$="GAME OVER"
9020 PEN 2:LOCATE 18,2:PRINT"MEN";lives%
9035 PEN 0
9040 IF sc%>hi% THEN hi%=sc%
9050 FOR t=1 TO 9:l$=MID$(a$,t,1):LOCATE t+14,12:PRINT l$;:FOR s=1 TO 200:NEXT
9060 NEXT
9999 GOTO 8
10000 :'Instructions
10010 MODE 1:PEN 0:PAPER 1:CLS:LOCATE 14,1:PRINT"Instructions"
10020 LOCATE 14,2:PRINT"------------"
10030 PRINT:PRINT"Once upon a time in the city of London acertain female politician who will      remain unamed, became Prime Minister of jolly old England.
10040 PRINT "Suddenly jolly old England became not sojolly as the # went down aginst the $.
10050 PRINT"As this happened the people of England  became bankrupt and started commiting   suicide."
10060 PRINT:PRINT"You guide Fred & Bill the tax collectorsleft & right with your joystick  to try to bounce the people uP to SUPER BAILIFFat the top of the screen."
10070 PRINT"If you do this you get the tax the      person owes you if you don't before the #  reaches 0 then you lose a life."
10080 PRINT:PRINT:PRINT:PRINT"        Press a key to start"
10090 c$=INKEY$:IF c$="" THEN 10090
10100 RETURN