  100 PROGRAM "BombPlus.bas"
  110 ENVELOPE NUMBER3;0,63,63,1;0,-63,-63,50
  120 ENVELOPE NUMBER1;0,63,63,1;RELEASE;-45,-53,-53,300
  130 CLEAR SOUND
  140 SOUND ENVELOPE3,PITCH79.5
  150 SOUND ENVELOPE3,PITCH79.5
  160 SOUND ENVELOPE3,PITCH79.5
  170 SOUND ENVELOPE1,PITCH79.5
  180 CALL STORY
  190 CALL DEFCHAR
  200 ENVELOPE NUMBER0;0,63,63,1;RELEASE;-20,-33,-53,40
  210 ENVELOPE NUMBER4;0,63,63,2;RELEASE;-20,-53,-33,40
  220 ENVELOPE NUMBER2;0,63,63,1;0,-63,0,50;0,0,-63,110
  230 DIM HEIGHT(22)
  240 NUMERIC SCO,MINPONT,LEVEL,BIAS2,CHRS
  250 NUMERIC RNDCOL(1TO17),FIXCOL(1TO17),F(1TO7),DAYBIAS(1TO15),NIGHTBIAS(1TO8)
  260 STRING *3PLANE$
  270 STRING *15N$(1TO9)
  280 RANDOMIZE 
  290 SET KEYCLICKOFF:SET STATUSOFF
  300 OUT 191,12
  310 CALL DEFAULT_HITS
  320 CALL MENU_INI
  330 CALL LOAD_SCORE
  340 PRINT #102,AT23,5:"PRESS SPACE OR FIRE TO CONTINUE";
  350 CALL FIREPRESS
  360 TEXT 
  370 DO 
  380   CALL MENU
  390   CALL VAR_INI
  400   CALL INI
  410   DO 
  420     CLEAR SOUND
  430     CALL SETUP
  440     LET BOMBX=0:LET BOMBY=0
  450     LET I=1:LET J=1:LET LOST=0
  460     DO 
  470       DO 
  480         SOUND DURATION100,SOURCE1,LEFT63-J*1.7,RIGHTJ*1.7,INTERRUPT,PITCH55,STYLE32,SOURCE1
  490         LET OLDI=I:LET OLDJ=J
  500         IF HEIGHT(J/2+1)<=ITHEN
  510           LET PLANE$=" "&CHR$(133)&CHR$(134)
  520           LET LOST=NOTLOST
  530           SOUND SOURCE1,DURATION200,LEFT63,RIGHT63,INTERRUPT,STYLE48,PITCH65
  540           SOUND SOURCE2,DURATION200,LEFT63,RIGHT63,INTERRUPT,STYLE48,PITCH60
  550           SOUND SOURCE3,ENVELOPE2,DURATION160,STYLE8
  560         END IF 
  570         IF JOY(0)>15ANDBOMBY=0ORJOY(1)>15ANDBOMBY=0THEN
  580           LET BOMBX=J+1:LET BOMBY=I
  590           SOUND PITCH69,LEFT63-J*1.7,RIGHTJ*1.7,ENVELOPE1,SOURCE2,DURATION1,SYNC1
  600           SOUND PITCH69.6,LEFT63-J*1.7,RIGHTJ*1.7,ENVELOPE1,SOURCE0,DURATION1,SYNC1,STYLE128
  610         END IF 
  620         IF BOMBY>0THENCALL BOMB
  630         PRINT #1,ATI,J:PLANE$;
  640         LET J=J+1
  650         IF INKEY$=CHR$(27)THENCALL HOLD
  660       LOOP UNTILJ=37ORLOST
  670       LET J=1
  680       PRINT #1,ATI,37:"  ";
  690       LET I=I+2
  700     LOOP UNTILI>=24ORLOST
  710     IF LOSTTHEN
  720       CALL FAIL
  730     ELSE 
  740       CALL SUCCESS
  750     END IF 
  760   LOOP UNTILLOST
  770   CLEAR #1
  780   IF SCO>=MINPONTTHENCALL HISC
  790   CLOSE #1
  800   CLOSE #10
  810 LOOP 
  820 DEF INI
  830   TEXT 
  840   SET BORDER0
  850   SET VIDEOY4:SET VIDEOMODE15
  860   OPEN #10:"video:"
  870   SET #10:PALETTE34,RND(255),RND(255),232,RND(255),RND(255),RND(255),RND(255) !34,87,79,232,89,28,21,45
  880   LET BIAS2=208
  890   SET #10:BIASBIAS2
  900   FOR A=1TO39STEP3
  910     FOR B=1TO2
  920       LET C=RND(7)
  930       IF C=1THENSET #10:INK39-(A/2):PRINT #10,ATB,A+B:"øæ";
  940       IF C=2THENSET #10:INK39-A:PRINT #10,ATB,A+B:"éÇ";
  950       IF C=4THENSET #10:INK40-A:PRINT #10,ATB,A+B:"ÆÇ";
  960       IF C=3THENSET #10:INKRND(16)+1:PRINT #10,ATB,A+B:"è§";
  970     NEXT 
  980   NEXT 
  990   SET #10:INK3:PRINT #10,AT3,1:"☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀";
 1000   SET #10:INK11:PRINT #10,AT4,9:"SCORE:         LEVEL:";
 1010   SET #10:INK15:PRINT #10,AT4,15:STR$(SCO);
 1020   DISPLAY #10:FROM1TO4AT24
 1030   SET VIDEOMODE15:SET VIDEOY24:SET VIDEOX40
 1040   OPEN #1:"video:"
 1050   DISPLAY #1:AT1FROM1TO23
 1060   SET #1:PALETTE4,55,250,25,27,29,22,46
 1070 END DEF 
 1080 DEF SETUP
 1090   CLEAR #1
 1100   SET #1:INK1
 1110   IF LEVEL=3ORLEVEL=4ORLEVEL=7ORLEVEL=8ORLEVEL=11ORLEVEL=12ORLEVEL>15THEN
 1120     LET BIAS2=NIGHTBIAS(RND(8)+1)
 1130     SET #1:COLOR0,0
 1140     IF LEVEL=4ORLEVEL=8ORLEVEL=12ORLEVEL>16THEN
 1150       PRINT #1,AT23,24:"IT IS NIGHT!"
 1160       SET CHARACTER128,0,0,28,28,28,0,28,28,28
 1170       SET CHARACTER129,0,0,56,56,56,0,56,56,56
 1180     END IF 
 1190     IF LEVEL=3ORLEVEL=7ORLEVEL=11ORLEVEL=15THEN
 1200       PRINT #1,AT23,24:"IT IS EVENING!"
 1210       SET CHARACTER128,127,127,99,99,99,127,99,99,99
 1220       SET CHARACTER129,254,254,198,198,198,254,198,198,198
 1230     END IF 
 1240   ELSE 
 1250     LET BIAS2=DAYBIAS(RND(15)+1)
 1260     SET #1:COLOR0,4
 1270     SET CHARACTER128,127,127,99,99,99,127,99,99,99
 1280     SET CHARACTER129,254,254,198,198,198,254,198,198,198
 1290     IF LEVEL=1ORLEVEL=5ORLEVEL=9ORLEVEL=13THENPRINT #1,AT23,23:"IT IS MORNING."
 1300     IF LEVEL=2ORLEVEL=6ORLEVEL=10ORLEVEL=14THENPRINT #1,AT23,22:"IT IS AFTERNOON."
 1310   END IF 
 1320   SET #1:BIASBIAS2
 1330   PRINT #10,AT4,30:STR$(LEVEL);
 1340   POKE 56,201
 1350   FOR J=1TO15
 1360     LET FIXCOL(J)=J
 1370   NEXT J
 1380   LET FIXCOL(16)=RND(15)+1:LET FIXCOL(17)=RND(15)+1
 1390   FOR J=1TO17
 1400     LET A=RND(17)+1
 1410     IF FIXCOL(A)=0THENGOTO  1400
 1420     LET RNDCOL(J)=FIXCOL(A):LET FIXCOL(A)=0
 1430   NEXT J
 1440   FOR J=2TO18
 1450     SET #1:INKRNDCOL(J-1)
 1460     LET REAL_LEVEL=LEVEL-3
 1470     IF REAL_LEVEL>9THENLET REAL_LEVEL=9
 1480     LET HEIGHT(J)=20-(RND(10)+REAL_LEVEL)
 1490     IF LEVEL=4ORLEVEL=8ORLEVEL=12ORLEVEL>15THEN
 1495       LET A=0
 1500       FOR I=23TOHEIGHT(J)STEP-1
 1510         IF LEVEL<>4THENLET A=RND(3)
 1520         IF A=0THENPRINT #1,ATI,J*2:"©#";:GOTO  1550
 1530         IF A=1THENPRINT #1,ATI,J*2:" #";:GOTO  1550
 1540         IF A=2THENPRINT #1,ATI,J*2:"© ";
 1550       NEXT I
 1560     ELSE 
 1570       FOR I=23TOHEIGHT(J)STEP-1
 1580         PRINT #1,ATI,J*2:"©#";
 1590       NEXT I
 1600       LET A=RND(4)
 1610       IF A=0THENPRINT #1,ATI+1,J*2:"üå";
 1620       IF A=1THENPRINT #1,ATI+1,J*2:"μ■";
 1630       IF A=2THENPRINT #1,ATI+1,J*2:"↓←";
 1635       IF A=3THENPRINT #1,ATI+1,J*2:"Ω▮";
 1640     END IF 
 1650   NEXT J
 1660   POKE 56,245
 1670   SET #1:INK1
 1680   LET HEIGHT(1)=25
 1690   FOR J=19TO22
 1700     LET HEIGHT(J)=25
 1701   NEXT J
 1702   IF LEVEL=3ORLEVEL=5ORLEVEL=7ORLEVEL=9ORLEVEL=11ORLEVEL=13ORLEVEL=15THENLET CHRS=CHRS*(-1)
 1703   IF CHRS=1THEN
 1704     SET CHARACTER130,0,128,193,255,255,124,63,0,0
 1705     SET CHARACTER131,0,0,240,253,255,29,248,0,0
 1706     SET CHARACTER132,0,66,36,24,60,60,60,60,24
 1707   ELSE 
 1708     SET CHARACTER130,0,48,56,60,63,127,127,7,7
 1709     SET CHARACTER131,0,0,0,56,230,255,248,128,0
 1710     SET CHARACTER132,34,42,62,28,28,28,28,8,8
 1715   END IF 
 1720   LET PLANE$=" ÄÖ"
 1730 END DEF 
 1740 DEF BOMB
 1750   PRINT #1,ATBOMBY,BOMBX:" ";
 1760   LET BOMBY=BOMBY+1
 1770   IF BOMBY<23THENPRINT #1,ATBOMBY,BOMBX:"Ü";
 1780   IF BOMBY>23THENLET BOMBY=0
 1790   IF BOMBY>=HEIGHT(BOMBX/2)THEN
 1800     PRINT #1,ATI,J:PLANE$;
 1810     SOUND PITCH50+HEIGHT(BOMBX/2),ENVELOPE0,LEFT112-BOMBX*3,RIGHTBOMBX*3,STYLE48,SOURCE2,DURATION30,SYNC1
 1820     SOUND PITCH51+HEIGHT(BOMBX/2),ENVELOPE4,LEFT112-BOMBX*3,RIGHTBOMBX*3,STYLE128,DURATION30,SYNC1
 1830     LET K=HEIGHT(BOMBX/2)
 1840     IF LEVEL<3ANDRND(2)=1THENLET M=24:GOTO  1920
 1850     IF K<10THENLET M=K+(RND(4)+2):GOTO  1920
 1860     IF K<21ANDLEVEL>6THENLET M=(24+K)/2:GOTO  1920 !m=k+2
 1870     IF K<24THEN
 1880       LET M=24-RND(24-K)
 1890     ELSE 
 1900       LET M=25
 1910     END IF 
 1920     FOR L=KTOM
 1930       PRINT #1,ATL,2*INT(BOMBX/2):"  ";
 1940       LET HEIGHT(BOMBX/2)=L+1
 1950     NEXT L
 1960     IF M<23THEN
 1970       IF LEVEL=4ORLEVEL=8ORLEVEL=12ORLEVEL>15THENGOTO  2010
 1980       SET #1:INKRNDCOL(INT(BOMBX/2)-1)
 1990       PRINT #1,ATL,2*INT(BOMBX/2):"à↑";
 2000       SET #1:INK1
 2010     END IF 
 2020     LET BOMBY=0
 2030     LET SCO=INT(SCO+M)
 2040     PRINT #10,AT4,15:STR$(SCO);
 2050   END IF 
 2060 END DEF 
 2070 DEF DEFCHAR
 2080   SET CHARACTER128,127,127,99,99,99,127,99,99,99
 2090   SET CHARACTER129,254,254,198,198,198,254,198,198,198
 2130   SET CHARACTER133,0,64,0,18,32,9,74,16,2
 2140   SET CHARACTER134,0,128,64,16,32,74,36,72,146
 2150   SET CHARACTER138,2,55,43,99,97,111,115,97,99
 2160   SET CHARACTER139,80,248,206,198,134,158,230,198,198
 2170   SET CHARACTER140,0,0,60,126,219,219,255,129,231
 2180   SET CHARACTER141,0,1,3,7,14,30,63,127,255
 2190   SET CHARACTER142,0,128,192,224,112,120,252,254,255
 2200   SET CHARACTER144,1,1,7,7,1,1,7,3,1
 2210   SET CHARACTER145,128,128,224,224,128,128,224,192,128
 2220   SET CHARACTER146,0,56,248,63,31,15,7,1,3
 2230   SET CHARACTER147,0,0,0,252,240,224,192,0,0
 2240   SET CHARACTER150,15,17,17,127,255,255,255,56,16
 2250   SET CHARACTER151,224,16,8,252,254,255,255,28,8
 2260   SET CHARACTER152,0,10,4,4,7,56,88,72,48
 2270   SET CHARACTER153,0,0,32,112,240,12,26,18,12
 2280   SET CHARACTER154,0,24,255,24,24,24,255,24,0
 2290   SET CHARACTER135,0,63,107,107,127,127,127,28,8
 2300   SET CHARACTER136,0,0,0,0,0,255,255,60,24
 2310   SET CHARACTER137,0,252,254,242,254,254,254,120,48
 2320   SET CHARACTER148,7,15,31,63,127,99,99,99,127
 2330   SET CHARACTER149,224,240,248,252,254,198,198,198,254
 2340   SET CHARACTER155,1,0,0,0,15,31,51,115,127
 2350   SET CHARACTER156,224,192,192,192,240,248,204,206,254
 2360   SET CHARACTER157,3,7,5,5,5,15,31,57,113
 2370   SET CHARACTER159,192,224,160,160,160,240,248,156,142
 2380 END DEF 
 2390 DEF SUCCESS
 2400   SET #1:INKRND(15)+1
 2410   PRINT #1,AT8,16:"WELL DONE!";
 2420   CLEAR SOUND
 2430   RESTORE  2500
 2440   FOR A=1TO18
 2450     READ W
 2460     SOUND PITCHW,DURATION10,LEFT92,RIGHT16
 2470     SOUND PITCHW+.2,DURATION10,LEFT56,RIGHT62,SOURCE1
 2480     SOUND PITCHW+12,DURATION10,SOURCE2,LEFT16,RIGHT74
 2490   NEXT A
 2500   DATA 37,42,46,42,37,41,44,41,37,41,42,44,41,44,49,49,49,49
 2510   WAIT 4
 2520   LET LEVEL=LEVEL+1
 2530 END DEF 
 2540 DEF FAIL
 2550   SET #1:INKRND(14)+1
 2560   PRINT #1,AT8,11:"BETTER LUCK NEXT TIME";
 2570   LET SHA=SPEEK(255,16372)+SPEEK(255,16373)*256
 2580   FOR SHAX=0TO200
 2590     SPOKE 255,SHA,244+RND(6)
 2600   NEXT SHAX
 2610   SPOKE 255,SHA,247
 2620 END DEF 
 2630 DEF HISC
 2640   CLEAR #1
 2650   CLEAR SOUND
 2660   SET #1:INK5
 2670   PRINT #1,AT3,15:"WELL DONE !":PRINT #1,AT5,9:"YOU'VE GOT A HIGH SCORE":PRINT #1,AT7,9:"PLEASE ENTER YOUR NAME!"
 2680   SET #1:INK6
 2690   FOR ZENE=65TO90
 2700     PRINT #1,AT23,ZENE-59:CHR$(ZENE);
 2710   NEXT 
 2720   PRINT #1:" ←!"
 2730   LET Y=10:LET NAME$=""
 2740   PRINT #1,AT14,Y-1:"ÄÖ";
 2750   SELECT CASEJOY(0),JOY(1)
 2760   CASE 1
 2770     IF Y=34THENGOTO  2810
 2780     SOUND DURATION40,SOURCE1,LEFT63-Y*1.7,RIGHTY*1.7,INTERRUPT,PITCH55,STYLE32,SOURCE1
 2790     LET Y=Y+1
 2800     PRINT #1,AT14,Y-2:" ÄÖ";
 2810   CASE 2
 2820     IF Y=6THENGOTO  2860
 2830     SOUND DURATION30,SOURCE1,LEFT63-Y*1.7,RIGHTY*1.7,INTERRUPT,PITCH55,STYLE32,SOURCE1
 2840     LET Y=Y-1
 2850     PRINT #1,AT14,Y-1:"ÄÖ ";
 2860   CASE 16,17,18
 2870     FOR A=15TO22
 2880       PRINT #1,ATA-1,Y:" ";
 2890       PRINT #1,AT14,Y:"Ö";
 2900       PRINT #1,ATA,Y:"Ü";
 2910     NEXT A
 2920     PRINT #1,ATA-1,Y:" ";
 2930     IF Y=34THENGOTO  3080 !kesz
 2940     IF Y=33THEN !visszatorles
 2950       IF NAME$=""THENGOTO  3050
 2960       IF LEN(NAME$)=1THENLET NAME$="":GOTO  3030
 2970       LET NAME$=NAME$(1:LEN(NAME$)-1):GOTO  3030
 2980     END IF 
 2990     LET AZ$=CHR$(59+Y)
 3000     IF Y=32THENLET AZ$="."
 3010     IF LEN(NAME$)=10THENGOTO  3050
 3020     LET NAME$=NAME$&AZ$
 3030     PRINT #1,AT12,16:NAME$&" "
 3040     SOUND SOURCE1,ENVELOPE3,PITCHY+33,INTERRUPT,SOURCE2,LEFT112-Y*3,RIGHTY*3
 3050   CASE ELSE
 3060   END SELECT 
 3070   GOTO  2750
 3080   LET N$(9)=NAME$
 3090   SOUND ENVELOPE2,PITCH69,LEFT63,RIGHT63
 3100   IF LEN(N$(9))<10THENLET N$(9)=N$(9)&".":GOTO  3100
 3110   LET N$(9)=STR$(SCO)&N$(9)
 3120   IF LEN(N$(9))<15THENLET N$(9)="0"&N$(9):GOTO  3120
 3130   !rendez
 3140   LET VEG=9
 3150   FOR X=1TO9
 3160     LET MAX$="99999AAAAAAAAAA"
 3170     FOR Y=1TOVEG
 3180       IF N$(Y)<MAX$THENLET MAX$=N$(Y)
 3190       IF N$(Y)=MAX$THENLET SZAM=Y
 3200     NEXT Y
 3210     LET VALT$=N$(VEG)
 3220     LET N$(VEG)=MAX$
 3230     LET N$(SZAM)=VALT$
 3240     LET VEG=VEG-1
 3250   NEXT X
 3260   LET MINPONT=VAL(N$(9))
 3270   CALL SAVE_SCORE
 3280 END DEF 
 3290 DEF DEFAULT_HITS
 3300   RESTORE  3350
 3310   FOR X=1TO9
 3320     READ A$
 3330     LET N$(X)=A$
 3340   NEXT X
 3350   DATA "00100LEZUHANOV."
 3360   DATA "00090BOMBALINO."
 3370   DATA "00080ROMBOLOV.."
 3380   DATA "00070ROMBULUS.."
 3390   DATA "00060AIRWULF..."
 3400   DATA "00050BETONOV..."
 3410   DATA "00040BOMBERONE."
 3420   DATA "00030BOMBASTIC."
 3430   DATA "00020ROBBANOV.."
 3440 END DEF 
 3450 DEF VAR_INI
 3460   LET SCO=0:LET LEVEL=1:LET MINPONT=VAL(N$(9)(1:5)):LET CHRS=1
 3465   IF RND(2)=1THENLET CHRS=-1
 3470 END DEF 
 3480 DEF LOAD_SCORE
 3490   LET HIBA=0
 3500   WHEN EXCEPTIONUSEGOND
 3510     GOTO  3520
 3520     OPEN #50:"SCORES.BOM"ACCESSINPUT
 3530   END WHEN 
 3540   IF HIBA>0THENGOTO  3590
 3550   FOR X=1TO9
 3560     INPUT #50:N$(X)
 3570   NEXT X
 3580   CLOSE #50
 3590 END DEF 
 3600 DEF SAVE_SCORE
 3610   OPEN #50:"SCORES.BOM"ACCESSOUTPUT
 3620   FOR X=1TO9
 3630     PRINT #50:N$(X)
 3640   NEXT X
 3650   CLOSE #50
 3660 END DEF 
 3670 DEF MENU_INI
 3680   SET VIDEOMODE15:SET VIDEOY27:SET VIDEOX42
 3690   OPEN #20:"video:"
 3700   LET F(1)=RGB(1,1,0):LET F(2)=RGB(1,.8,0):LET F(3)=RGB(.7,.7,0):LET F(4)=RGB(.5,.5,0)
 3710   LET F(5)=RGB(.6,.5,0):LET F(6)=RGB(.5,.3,0):LET F(7)=RGB(.3,.3,0)
 3720   SET #20:PALETTE4,F(1),F(2),F(3),F(4),F(5),F(6),F(7)
 3730   SET #20:BIAS210
 3740   SET #20:INK1
 3750   PRINT #20:"©#©#     ©#   ©#    ©# ©#©#   ©#©#ÅØ#©#"
 3760   SET #20:INK2
 3770   PRINT #20:"©#  ©# ©#  ©# ©#©  #©# ©#  ©# ©#   ©#  ©#"
 3780   SET #20:INK3
 3790   PRINT #20:"©#  ©# ©#  ©# ©# ©# ©# ©#  ©# ©#   ©#  ©#"
 3800   PRINT #20:"©#©#   ©#  ©# ©#    ©# ©#©#   ©#©  ©#©#"
 3810   SET #20:INK4
 3820   PRINT #20:"©#  ©# ©#  ©# ©#    ©# ©#  ©# ©#   ©#  ©#"
 3830   SET #20:INK3
 3840   PRINT #20:"©#  ©# ©#  ©# ©#    ©# ©#  ©# ©#   ©#  ©#"
 3850   SET #20:INK3
 3860   PRINT #20:"©#  ©# ©#  ©# ©#    ©# ©#  ©# ©#   ©#  ©#"
 3870   SET #20:INK2
 3880   PRINT #20:"©#  ©# ©#  ©# ©#    ©# ©#  ©# ©#   ©#  ©#"
 3890   SET #20:INK1
 3900   PRINT #20:"©#©#     ©#   ©#PLUS©# ©#©#   ©#©# ©#  ©#"
 3910   SET #20:INK14
 3920   PRINT #20,AT11,6:"©#©#©#©#©#©#©#©#©#©#©#©#©#©#©#©#"
 3930   PRINT #20,AT23,6:"©#©#©#©#©#©#©#©#©#©#©#©#©#©#©#©#"
 3940   FOR A=12TO22
 3950     PRINT #20,ATA,6:"©#":PRINT #20,ATA,36:"©#"
 3960   NEXT A
 3970   SET #20:INK13
 3980   PRINT #20,AT25,8:"PRESS SPACE OR FIRE TO START"
 3990   RESTORE  4060
 4000   FOR J=1TO15
 4010     READ DAYBIAS(J)
 4020   NEXT 
 4030   FOR J=1TO8
 4040     READ NIGHTBIAS(J)
 4050   NEXT 
 4060   DATA 16,24,48,56,80,88,120,208,144,152,176,184,216,240,248
 4070   DATA 40,72,104,136,168,200,208,232
 4080 END DEF 
 4090 DEF MENU
 4100   SET #20:INK7
 4110   PRINT #20,AT13,14:N$(1)(6:15)&"."&N$(1)(1:5);
 4120   PRINT #20,AT14,14:N$(2)(6:15)&"."&N$(2)(1:5);
 4130   PRINT #20,AT21,14:N$(9)(6:15)&"."&N$(9)(1:5);
 4140   SET #20:INK1
 4150   PRINT #20,AT15,14:N$(3)(6:15)&"."&N$(3)(1:5);
 4160   SET #20:INK2
 4170   PRINT #20,AT16,14:N$(4)(6:15)&"."&N$(4)(1:5);
 4180   SET #20:INK3
 4190   PRINT #20,AT17,14:N$(5)(6:15)&"."&N$(5)(1:5);
 4200   SET #20:INK4
 4210   PRINT #20,AT18,14:N$(6)(6:15)&"."&N$(6)(1:5);
 4220   SET #20:INK5
 4230   PRINT #20,AT19,14:N$(7)(6:15)&"."&N$(7)(1:5);
 4240   SET #20:INK6
 4250   PRINT #20,AT20,14:N$(8)(6:15)&"."&N$(8)(1:5);
 4260   DISPLAY #20:AT1FROM1TO27
 4270   SET BORDER4
 4280   DO 
 4290     SET #20:PALETTE4,F(1),F(2),F(3),F(4),F(5),F(6),F(7)
 4300     SET #20:PALETTE4,F(7),F(1),F(2),F(3),F(4),F(5),F(6)
 4310     IF JOY(0)>15ORJOY(1)>15THENEXIT DO
 4320     SET #20:PALETTE4,F(6),F(7),F(1),F(2),F(3),F(4),F(5)
 4330     SET #20:PALETTE4,F(5),F(6),F(7),F(1),F(2),F(3),F(4)
 4340     IF JOY(0)>15ORJOY(1)>15THENEXIT DO
 4350     SET #20:PALETTE4,F(4),F(5),F(6),F(7),F(1),F(2),F(3)
 4360     SET #20:PALETTE4,F(3),F(4),F(5),F(6),F(7),F(1),F(2)
 4370     IF JOY(0)>15ORJOY(1)>15THENEXIT DO
 4380     SET #20:PALETTE4,F(2),F(3),F(4),F(5),F(6),F(7),F(1)
 4390   LOOP UNTILJOY(0)>15ORJOY(1)>15
 4400   SET BORDER0
 4410   DISPLAY #102:AT24FROM1TO4
 4420 END DEF 
 4430 HANDLER GOND
 4440   LET HIBA=1
 4450 END HANDLER 
 4460 DEF STORY
 4470   TEXT 40
 4480   PRINT #102:"The local government of a South Americancity charged you to demolish some groupsof skyscrapers. ";
 4490   PRINT #102:" As the buildings are inan awful condition the best choice is topull them down. ";
 4500   PRINT #102:"You have an airplane forthis task. However the airplane has beenfuelled with less fuel than needed  - soit  will be  lowering  its height ";
 4510   PRINT #102:" whileflying. You have  special bombs  to pullthe buildings down. Thus you cannot dropmore than one bomb  at the same time  as";
 4520   PRINT #102:"the bombs are extremely powerful and twoof them would cause a heavy curvature inspace-time."
 4530   PRINT #102::PRINT #102:"On the whole:":PRINT #102:"BE CALM,  NO PEOPLE  ARE  STAYING IN THEBUILDINGS."
 4540   PRINT #102,AT23,5:"Please wait.";
 4550 END DEF 
 4560 DEF FIREPRESS
 4570   DO 
 4580   LOOP UNTILJOY(0)>15ORJOY(1)>15
 4590 END DEF 
 4600 DEF HOLD
 4610   LET A$=INKEY$
 4620   IF A$="a"THENSET CHARACTER130,255,3,127,63,255,63,127,3,255:SET CHARACTER131,0,192,224,248,255,248,224,192,0:PRINT #1,ATI,J:"ÄÖ";
 4630   IF A$="b"THENSET CHARACTER130,0,96,144,255,255,127,63,31,0:SET CHARACTER131,120,164,164,252,255,252,252,248,0:PRINT #1,ATI,J:"ÄÖ";
 4640   IF A$="c"THENSET CHARACTER130,6,7,7,127,255,127,7,7,6:SET CHARACTER131,0,0,192,252,231,252,192,0,0:PRINT #1,ATI,J:"ÄÖ";
 4650   IF A$="d"THENSET CHARACTER130,248,8,127,255,255,255,127,8,248:SET CHARACTER131,0,126,255,153,219,255,129,129,195:PRINT #1,ATI,J:"ÄÖ";
 4660   IF A$="e"THENSET CHARACTER130,0,192,39,31,31,63,36,36,36:SET CHARACTER131,254,16,144,254,246,252,136,136,136:PRINT #1,ATI,J:"ÄÖ";
 4670   IF A$="f"THENSET CHARACTER130,204,34,63,127,207,127,63,34,204:SET CHARACTER131,60,126,153,219,255,153,195,126,60:PRINT #1,ATI,J:"ÄÖ";
 4680   IF A$="g"THENSET CHARACTER130,0,31,127,225,225,255,255,128,128:SET CHARACTER131,0,248,254,135,135,255,255,1,1:PRINT #1,ATI,J:"ÄÖ";
 4690   IF A$=" "THEN
 4700     SET CHARACTER130,0,128,193,255,255,124,63,0,0:SET CHARACTER131,0,0,240,253,255,29,248,0,0:PRINT #1,ATI,J:"ÄÖ";
 4710     SET CHARACTER132,0,66,36,24,60,60,60,60,24
 4720   END IF 
 4730   IF A$="h"THEN
 4740     SET CHARACTER130,1,3,7,7,255,63,15,3,1:SET CHARACTER131,0,28,23,252,248,240,224,128,192
 4750     SET CHARACTER132,0,24,60,126,126,126,126,126,60:PRINT #1,ATI,J:"ÄÖ";
 4760     !SET CHARACTER 133,0,0,0,0,7,15,31,19,17
 4770     !SET CHARACTER 134,0,5,0,252,255,245,231,130,194
 4780   END IF 
 4790   IF A$="1"ANDBIAS2>0THENLET BIAS2=BIAS2-8:SET #1:BIASBIAS2
 4800   IF A$="2"ANDBIAS2<248THENLET BIAS2=BIAS2+8:SET #1:BIASBIAS2
 4810   IF A$=CHR$(13)THEN
 4820     TEXT 
 4830     END 
 4840   END IF 
 4850   IF A$=CHR$(27)THENPRINT #10,AT4,33:"        ";:GOTO  4880
 4860   PRINT #10,AT4,33:"BIAS:"&STR$(BIAS2)&" ";
 4870   GOTO  4610
 4880 END DEF 

