'K2.BAS: Creates graphics files for KONG.BAS, -chained by K1.BAS
'---------------------------------------------------------------
DEFINT A-Z
DECLARE SUB SaveINSTR (FileNAME$)
DECLARE SUB HighLIGHT (x1%, y1%, x2%, y2%, Colr%)
DECLARE SUB PrintSTRING (x, y, Prnt$)
DECLARE SUB SaveBUILDING (x, UpSET, Building)

DIM SHARED Box(1 TO 26000)
DIM SHARED FontBOX(5000)
SCREEN 12
GOSUB Instructions
GOSUB Buildings
GOSUB TitleBAR
GOSUB WinBOXES
GOSUB ControlPANEL
GOSUB DrawSCREEN

CLS
OUT &H3C8, 7
OUT &H3C9, 63
OUT &H3C9, 32
OUT &H3C9, 0
LINE (5, 5)-(634, 474), 6, B
LINE (8, 8)-(631, 471), 6, B
LINE (200, 180)-(439, 290), 6, B
LINE (197, 177)-(442, 293), 6, B
PrintSTRING 254, 212, "The graphics files for KONG"
PrintSTRING 243, 226, "have been successfully created."
PrintSTRING 246, 250, "You can now run the program."

a$ = INPUT$(1)
END

TitleBAR:
LINE (0, 300)-(639, 340), 1, BF
FOR x = -6 TO 660 STEP 21
    LINE (x, 309)-(x + 18, 331), 2, BF
NEXT x
FOR x = -1 TO 660 STEP 7
    LINE (x, 302)-(x + 2, 306), 10, BF
    LINE (x, 306)-(x + 2, 306), 2
    LINE (x, 334)-(x + 2, 338), 10, BF
    LINE (x, 338)-(x + 2, 338), 2
NEXT x
LINE (0, 300)-(639, 300), 2
LINE (0, 340)-(639, 340), 10
FOR x = 140 TO 498
    FOR y = 0 TO 18
        IF POINT(x, y) <> 0 THEN
            IF y > 9 THEN Colr = 8 ELSE Colr = 15
            PSET (x, y + 314), 10
            PSET (x, y + 311), Colr
        END IF
    NEXT y
NEXT x
PrintSTRING 20, 216, "Instructions"
PrintSTRING 595, 216, "EXIT"
FOR x = 20 TO 620
    FOR y = 216 TO 230
        IF y > 222 THEN Colr = 8 ELSE Colr = 15
        IF POINT(x, y) <> 0 THEN PSET (x, y + 100), Colr
        PSET (x, y), 0
    NEXT y
NEXT x
RETURN

ControlPANEL:
LINE (0, 446)-(639, 479), 7, BF
LINE (0, 446)-(639, 446), 9
PSET (115, 446), 7
DRAW "U10 E4 R399 F4 D10 L407 BE6 P7,7"
PSET (115, 446), 9
DRAW "U10 c15 E4 c9R399 C6 F4 D10"
PSET (0, 435), 7
DRAW "R52 F4 D10 L56 BE4 P7,7"
PSET (0, 435), 9
DRAW "R52 c6 F4 D6"
PSET (639, 435), 7
DRAW "L52 G4 D10 R56 BH4 P7,7"
PSET (639, 435), 9
DRAW "L52 c15 G4 c9 D6"
PSET (215, 432), 7
DRAW "U10 E4 R199 F4 D10 L207 BE5 P7,7"
PSET (215, 432), 9
DRAW "U10 c15 E4 R199 c6 F4 D10"
PSET (5, 440), 4
DRAW "R42 F3 D8 R70 U11 E3 R97 U11 E3 R191"
DRAW "F3 D11 R97 F3 D11 R70 U8 E3 R42 D20 L628 U20 bF4 P4,4"
FOR y = 424 TO 460 STEP 5
    FOR x = 5 TO 634
        IF POINT(x, y) = 4 THEN PSET (x, y), 8
        IF POINT(x, y - 1) = 4 THEN PSET (x, y - 1), 6
    NEXT x
NEXT y
FOR y = 424 TO 460
    FOR x = 4 TO 634
        IF POINT(x, y) = 4 THEN PSET (x, y), 7
    NEXT x
NEXT y
'Banana Button
LINE (305, 424)-(334, 450), 7, BF
LINE (305, 424)-(334, 451), 9, B
LINE (334, 424)-(334, 450), 6
LINE (309, 428)-(330, 446), 1, BF
LINE (309, 428)-(330, 446), 2, B
LINE (309, 446)-(330, 446), 10
LINE (330, 428)-(330, 446), 10
LINE (305, 451)-(334, 451), 10
LINE (305, 425)-(305, 451), 8
FOR x = 0 TO 16
    FOR y = 0 TO 16
        IF POINT(x, y) <> 0 THEN
            PSET (x + 312, y + 432), 10
            PSET (x + 312, y + 430), POINT(x, y)
        END IF
    NEXT y
NEXT x
'Transfer KONG
FOR x = 198 TO 256
    FOR y = 0 TO 18
        IF y > 9 THEN Colr = 8 ELSE Colr = 15
        IF POINT(x, y) <> 0 THEN
            PSET (x - 141, y + 452), 10
            PSET (x - 141, y + 450), Colr
        END IF
    NEXT y
NEXT x
'Transfer YOUNG
FOR x = 424 TO 500
    FOR y = 0 TO 18
        IF y > 9 THEN Colr = 8 ELSE Colr = 15
        IF POINT(x, y) <> 0 THEN
            PSET (x + 92, y + 452), 10
            PSET (x + 92, y + 450), Colr
        END IF
    NEXT y
NEXT x
'Player LED's
LINE (70, 470)-(100, 477), 8, B
LINE (70, 470)-(70, 477), 6
LINE (70, 470)-(100, 470), 6
LINE (72, 472)-(98, 475), 10, B
LINE (98, 472)-(98, 475), 8
LINE (72, 475)-(98, 475), 8
GET (70, 470)-(100, 477), Box()
PUT (537, 470), Box(), PSET
'Slider grooves
LINE (359, 469)-(489, 475), 7, BF
LINE (359, 472)-(489, 472), 10
LINE (359, 471)-(489, 473), 9, B
LINE (359, 471)-(359, 473), 6
LINE (359, 471)-(489, 471), 6
'Get/place slider grooves
GET (354, 462)-(494, 479), Box()
LINE (354, 462)-(494, 479), 7, BF
PUT (135, 442), Box(), PSET
PUT (364, 442), Box(), PSET
GET (245, 442)-(274, 456), Box()
PUT (227, 442), Box(), PSET
LINE (256, 442)-(272, 456), 7, BF
PrintSTRING 185, 462, "Force"
PrintSTRING 436, 462, "Angle"
FOR x = 140 TO 500
    FOR y = 462 TO 478
        IF y > 468 THEN Colr = 9 ELSE Colr = 15
        IF POINT(x, y) <> 7 THEN PSET (x, y), Colr
    NEXT y
NEXT x
FOR x = 146 TO 246 STEP 5
    LINE (x, 446)-(x, 449), 8
    LINE (x, 456)-(x, 459), 8
NEXT x
GET (365, 440)-(380, 460), Box()
LINE (365, 440)-(395, 460), 7, BF
PUT (394, 440), Box(), PSET
FOR x = 404 TO 494 STEP 5
    LINE (x, 446)-(x, 449), 8
    LINE (x, 456)-(x, 459), 8
NEXT x
LINE (255, 442)-(278, 460), 7, BF
LINE (255, 442)-(276, 460), 10, BF
LINE (255, 442)-(276, 460), 9, B
LINE (255, 442)-(276, 442), 6
LINE (255, 442)-(255, 460), 6
PrintSTRING 260, 446, "00"
LINE (362, 442)-(385, 460), 7, BF
LINE (364, 442)-(385, 460), 10, BF
LINE (364, 442)-(385, 460), 9, B
LINE (364, 442)-(364, 460), 6
LINE (364, 442)-(385, 442), 6
PrintSTRING 369, 446, "00"
'Transfer Cupola
FOR x = 61 TO 95
    FOR y = 48 TO 74
        IF POINT(x, y) <> 0 THEN
            PSET (x - 52, y + 360), POINT(x, y)
            PSET (690 - x, y + 360), POINT(x, y)
        END IF
    NEXT y
NEXT x
CIRCLE (123, 440), 5, 4
PAINT STEP(0, 0), 4
CIRCLE STEP(0, 0), 5, 9
PAINT STEP(0, 0), 7, 9
CIRCLE STEP(0, 0), 5, 6, 3.1, 0
CIRCLE (513, 440), 5, 4
PAINT STEP(0, 0), 4
CIRCLE STEP(0, 0), 5, 9
PAINT STEP(0, 0), 7, 9
CIRCLE STEP(0, 0), 5, 6, 3.1, 0
CIRCLE (223, 426), 5, 4
PAINT STEP(0, 0), 4
CIRCLE STEP(0, 0), 5, 9
PAINT STEP(0, 0), 7, 9
CIRCLE STEP(0, 0), 5, 6, 3.1, 0
CIRCLE (413, 426), 5, 4
PAINT STEP(0, 0), 4
CIRCLE STEP(0, 0), 5, 9
PAINT STEP(0, 0), 7, 9
CIRCLE STEP(0, 0), 5, 6, 3.1, 0
LINE (290, 461)-(350, 477), 9, B
LINE (350, 461)-(350, 477), 6
LINE (290, 477)-(350, 477), 6
LINE (290, 478)-(350, 478), 10
LINE (290, 461)-(290, 477), 8
'Score boxes
LINE (12, 444)-(42, 474), 0, BF
LINE (12, 444)-(42, 474), 9, B
LINE (12, 444)-(12, 474), 6
LINE (12, 444)-(42, 444), 6
LINE (597, 444)-(627, 474), 0, BF
LINE (597, 444)-(627, 474), 9, B
LINE (597, 444)-(597, 474), 6
LINE (597, 444)-(627, 444), 6
GET (438, 20)-(452, 38), Box()
PUT (19, 450), Box()
PUT (604, 450), Box()
FOR x = 0 TO 639
    FOR y = 362 TO 404
        IF POINT(x, y) = 0 THEN PSET (x, y), 12
    NEXT y
NEXT x
PrintSTRING 298, 464, "NO WIND"
FOR x = 298 TO 342
    FOR y = 465 TO 473
        IF y > 469 THEN Colr = 9 ELSE Colr = 15
        IF POINT(x, y) <> 7 THEN PSET (x, y), Colr
    NEXT y
NEXT x
GET (298, 465)-(342, 473), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "KongWIND.BSV", VARPTR(Box(1)), 240
DEF SEG
DIM SliderBOX(1 TO 440)
DEF SEG = VARSEG(SliderBOX(1))
BLOAD "KongSLDR.BSV", VARPTR(SliderBOX(1))
DEF SEG
GET (141, 443)-(151, 461), SliderBOX(281)
GET (489, 443)-(499, 461), SliderBOX(361)
DEF SEG = VARSEG(SliderBOX(1))
BSAVE "KongSLDR.BSV", VARPTR(SliderBOX(1)), 880
DEF SEG
RETURN

DrawSCREEN:
GET (16, 47)-(56, 87), Box(25000)
GET (0, 300)-(639, 340), Box()
LINE (0, 0)-(639, 350), 0, BF
LINE (0, 0)-(639, 43), 7, BF
LINE (0, 44)-(639, 44), 10
PUT (0, 1), Box(), PSET
PUT (299, 70), Box(25000), PSET
PrintSTRING 2, 46, "Freeware - Copyright 2005 by Bob Seguin"
PrintSTRING 497, 46, "email: BOBSEG@sympatico.ca"
FOR x = 0 TO 639
    FOR y = 46 TO 58
        IF POINT(x, y) <> 0 THEN PSET (x, y), 2
    NEXT y
NEXT x

PSET (0, 154), 12
DRAW "r7 U24 R35 NU20 R30 F20 D20 R30 F20 D30 R5 U50 R20 NU20 R20 D60"
DRAW "R5 U30 R5 U4 R20 NU20 R20 D4 R5 D20 R4 U30 R3 U40 R3"
DRAW "U3ru3ru3ru3ru3ru3r2Nu20R2D3rd3rd3rd3rd3rd3r3d40r3d20R4"
DRAW "U30 R30d20r3U60r3u4r25nu12r25d4r3d80r5U30r15Nu12r15d30r5u50r30d40"
DRAW "r5U30 r6U2r34nu12r34d2r6d30r4u20r20d20r5U30e12r20U18e23r"
DRAW "r12nu12r22d108L639U81bfp12,12"
LINE (0, 235)-(639, 400), 12, BF
CIRCLE (605, 198), 200, 12, 2.8, 3.2
CIRCLE (235, 198), 200, 12, 0, .34
LINE (416, 123)-(424, 136), 12, BF
LINE (419, 100)-(421, 125), 12, BF
LINE (420, 80)-(420, 100), 12
PAINT STEP(0, 40), 12

PSET (0, 390), 10
DRAW "R10 U10 R100 D5 R10 U10 R80 D30 R20 U20 R60 U8rd8r62 D10"
DRAW "R80 U20 LU10R20 U6lu2r16d2ld6r60d10ld10r118d26L639"
DRAW "U14 BF4 P10,10"
FOR y = 401 TO 440
    FOR x = 0 TO 639
        IF POINT(x, y) = 0 THEN PSET (x, y), 10
    NEXT x
NEXT y
PAINT (60, 396), 10
PAINT (460, 396), 10
GET (80, 340)-(539, 400), Box()
PUT (80, 345), Box(), PSET
RANDOMIZE 123
FOR Reps = 1 TO 48
    x = FIX(RND * 640)
    y = FIX(RND * 60) + 45
    IF POINT(x, y) = 0 THEN PSET (x, y), 7
NEXT Reps
FOR x = 0 TO 639
    FOR y = 362 TO 404
        IF POINT(x, y) <> 10 THEN PSET (x, y), 0
    NEXT y
NEXT x
GET (0, 362)-(639, 404), Box() '7000
FOR x = 0 TO 639
    FOR y = 362 TO 404
        IF POINT(x, y) = 0 THEN PSET (x, y), 15 ELSE PSET (x, y), 0
    NEXT y
NEXT x
FOR x = 45 TO 595
    FOR y = 430 TO 460
        IF POINT(x, y) = 0 THEN PSET (x, y), 10
    NEXT y
NEXT x
GET (0, 362)-(639, 404), Box(7000) 'Get foreground building mask
PUT (0, 362), Box(), PSET
LINE (80, 410)-(88, 422), 5, BF
LINE (80, 410)-(88, 418), 3, BF
LINE (180, 410)-(188, 422), 0, BF
LINE (480, 390)-(488, 402), 5, BF
LINE (480, 390)-(488, 394), 3, BF
LINE (460, 390)-(468, 402), 0, BF
LINE (440, 412)-(448, 424), 0, BF
GET (0, 362)-(639, 404), Box() '7000 'Get/Save foreground buildings
DEF SEG = VARSEG(Box(1))
BSAVE "KongFBLD.BSV", VARPTR(Box(1)), 28000
DEF SEG
LINE (0, 340)-(639, 404), 12, BF
PUT (0, 362), Box(7000), AND
PUT (0, 362), Box()

'Get/Save main screen
FileCOUNT = 0
DEF SEG = VARSEG(Box(1))
FOR y = 0 TO 320 STEP 160
    GET (0, y)-(639, y + 159), Box()
    FileCOUNT = FileCOUNT + 1
    FileNAME$ = "KONGSCR" + LTRIM$(STR$(FileCOUNT)) + ".BSV"
    BSAVE FileNAME$, VARPTR(Box(1)), 52000
NEXT y
DEF SEG
RETURN

Buildings:
'Government building?
PSET (97, 200), 11
DRAW "E16 R33 F16 L65 R32 BU2 P11,11"
FOR x = 102 TO 159 STEP 4
    FOR y = 184 TO 200
        IF POINT(x, y) = 11 THEN PSET (x, y), 3
    NEXT y
NEXT x
PSET (97, 200), 3
DRAW "E16 R33 U3 L33 D3 BE P11,3 BG C3 R33 F16 L67 D3 R69 U3 L30 BD P11,3"
LINE (90, 204)-(169, 208), 7, BF
LINE (90, 204)-(169, 204), 8
LINE (60, 200)-(68, 212), 3, B
LINE (61, 201)-(67, 211), 1, BF
LINE (61, 201)-(67, 211), 7, B
LINE (61, 206)-(67, 206), 7
GET (60, 200)-(68, 212), Box()
PUT (60, 200), Box()
FOR x = 112 TO 140 STEP 14
    PUT (x, 191), Box(), PSET
NEXT x
PSET (130, 180), 7
DRAW "U20 C15 d"
FOR x = 114 TO 146 STEP 2
    LINE (x, 177)-(x, 180), 6
    PSET (x, 177), 8
    IF x < 146 THEN PSET (x + 1, 179), 6
NEXT x
FlagDATA:
DATA 1,2,3,2,2,2,3,4,5,4,3,2
RESTORE FlagDATA
FOR x = 129 TO 119 STEP -1
    READ Down
    LINE (x, 162 + Down)-(x, 168 + Down), 4
NEXT x
LINE (90, 210)-(169, 479), 7, BF
FOR y = 210 TO 470 STEP 2
    LINE (95, y)-(164, y), 6
NEXT y
RANDOMIZE 145678
FOR y = 220 TO 420 STEP 20
    FOR x = 99 TO 157 STEP 11
        LINE (x - 1, y)-(x + 7, y + 12), 7, BF
        IF FIX(RND * 12) = 0 THEN
            Colr1 = 3: Colr2 = 5
        ELSE
            Colr1 = 1: Colr2 = 2
        END IF
        LINE (x + 1, y + 1)-(x + 5, y + 12), Colr1, BF
        LINE (x + 1, y + 3)-(x + 5, y + 12), Colr2, BF
        LINE (x, y + 13)-(x + 6, y + 13), 8
        LINE (x, y + 7)-(x + 5, y + 7), 7
    NEXT x
NEXT y
GET (80, 150)-(180, 479), Box()
PUT (80, 146), Box(), PSET
SaveBUILDING 90, 24, 1

'Modern building
LINE (300, 200)-(379, 204), 6, BF
LINE (300, 205)-(379, 479), 7, BF
PSET (321, 195), 2
DRAW "E4 R30 F4 L38 R10 BU P2,2"
PSET (321, 195), 8
DRAW "E4 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 F4 L38"
LINE (321, 195)-(359, 199), 8, BF
CIRCLE (308, 200), 6, 6, 0, 3.14
PAINT STEP(0, -1), 6
PSET STEP(0, -4), 8
CIRCLE (372, 200), 6, 6, 0, 3.14
PAINT STEP(0, -1), 6
PSET STEP(0, -4), 8
FOR x = 300 TO 379
    FOR y = 194 TO 197
        IF POINT(x, y) = 6 THEN PSET (x, y), 2
    NEXT y
NEXT x
LINE (300, 200)-(379, 204), 7, BF
LINE (300, 200)-(379, 200), 8
LINE (300, 205)-(379, 206), 10, B
LINE (317, 184)-(317, 199), 7
PSET STEP(0, -15), 8
LINE (363, 184)-(363, 199), 7
PSET STEP(0, -15), 8
FOR y = 210 TO 440 STEP 16
    LINE (300, y)-(379, y + 8), 2, BF
    LINE (300, y)-(379, y + 3), 1, BF
    LINE (300, y + 8)-(379, y + 8), 8
    FOR x = 305 TO 379 STEP 14
        LINE (x, y)-(x, y + 8), 7
    NEXT x
NEXT y
SaveBUILDING 300, 0, 2 '*************************************************

'Hotel --------------------------------------------------------------------
LINE (400, 200)-(479, 479), 3, BF
LINE (420, 195)-(459, 199), 6, BF
LINE (420, 195)-(459, 195), 7
LINE (460, 174)-(460, 199), 7
LINE (454, 176)-(464, 176), 7
LINE (457, 177)-(467, 177), 7
PSET (454, 176), 9
LINE (410, 192)-(414, 199), 6, BF
LINE (410, 192)-(414, 192), 7
LINE (465, 192)-(469, 199), 6, BF
LINE (465, 192)-(469, 192), 7
FOR x = 421 TO 454 STEP 4
    FOR y = 186 TO 193 STEP 3
        LINE (x, y)-(x + 4, y + 3), 6, B
    NEXT y
NEXT x
PrintSTRING 425, 162, "HOTEL"
FOR x = 425 TO 500
    FOR y = 162 TO 174
        IF POINT(x, y) <> 0 THEN PSET (x, y + 20), 4
        PSET (x, y), 0
    NEXT y
NEXT x
GET (100, 50)-(111, 76), Box()
FOR x = 404 TO 468 STEP 15
    PUT (x, 215), Box(), PSET
NEXT x
GET (100, 54)-(111, 76), Box()
FOR x = 404 TO 464 STEP 15
    PUT (x, 248), Box(), PSET
    IF x = 419 THEN
        FOR xx = x TO x + 12
            FOR yy = 248 TO 267
                IF POINT(xx, yy) = 2 THEN PSET (xx, yy), 5
            NEXT yy
        NEXT xx
    END IF
NEXT x
FOR x = 404 TO 464 STEP 15
    FOR y = 290 TO 479 STEP 32
        PUT (x, y), Box(), PSET
        IF FIX(RND * 12) = 2 THEN
            LINE (x + 2, y + 8)-(x + 9, y + 15), 1, BF
            LINE (x + 2, y + 16)-(x + 9, y + 16), 7
            LINE (x + 2, y + 17)-(x + 9, y + 17), 10
        END IF
        IF FIX(RND * 15) = 0 THEN
            FOR xx = x TO x + 12
                FOR yy = y TO y + 19
                    IF POINT(xx, yy) = 2 THEN PSET (xx, yy), 5
                NEXT yy
            NEXT xx
        END IF
    NEXT y
NEXT x
GET (88, 84)-(93, 91), Box()
FOR x = 401 TO 480 STEP 5
    PUT (x, 200), Box(), PSET
    PUT (x, 276), Box(), PSET
NEXT x
LINE (480, 200)-(484, 310), 0, BF
LINE (395, 200)-(399, 310), 0, BF
FOR y = 202 TO 479 STEP 2
    FOR x = 400 TO 480
        IF POINT(x, y) = 3 THEN PSET (x, y), 1
    NEXT x
NEXT y
GET (478, 200)-(478, 210), Box()
PUT (479, 200), Box(), PSET
PUT (400, 200), Box(), PSET
PUT (479, 276), Box(), PSET
PUT (400, 276), Box(), PSET
SaveBUILDING 400, 0, 3 '*************************************************

'Buff Apartment Block -------------------------------------------------------
GET (608, 44)-(619, 67), Box()
GET (621, 44)-(632, 67), Box(500)
LINE (500, 200)-(579, 479), 11, BF
FOR x = 504 TO 574 STEP 15
    FOR y = 216 TO 460 STEP 32
        IF FIX(RND * 6) = 0 THEN
            PUT (x, y), Box(500), PSET
        ELSE
            PUT (x, y), Box(), PSET
        END IF
        LINE (500, y + 27)-(579, y + 27), 9
        LINE (500, y + 28)-(579, y + 28), 8
    NEXT y
NEXT x
LINE (500, 200)-(579, 204), 7, BF
LINE (500, 200)-(579, 200), 9
LINE (500, 205)-(579, 205), 10
LINE (520, 189)-(559, 199), 11, BF
LINE (520, 189)-(559, 192), 7, BF
LINE (520, 189)-(559, 189), 9
LINE (520, 193)-(559, 193), 6
PSET (539, 188), 8
DRAW "U16 C14 D"
SaveBUILDING 500, 0, 4 '*************************************************

'Factory --------------------------------------------------------------------
LINE (0, 150)-(639, 479), 0, BF
LINE (100, 200)-(179, 479), 3, BF
CIRCLE (120, 220), 10, 15, , , .85
CIRCLE (120, 219), 12, 15, , , .83
LINE (105, 222)-(135, 240), 3, BF
GET (120, 206)-(150, 230), Box()
PUT (119, 206), Box(), PSET
PSET (110, 217), 3
PSET (129, 217), 3
LINE (129, 220)-(129, 228), 15
LINE (110, 220)-(110, 228), 15
DRAW "R19"
LINE (110, 236)-(129, 252), 15, B
PSET (108, 220), 15
DRAW "D34 R23 U34"
PAINT (119, 220), 2, 15
PAINT (119, 244), 2, 15
FOR x = 100 TO 140
    FOR y = 200 TO 260
        IF POINT(x, y) = 15 THEN PSET (x, y), 1
    NEXT y
NEXT x
FOR x = 120 TO 140
    FOR y = 216 TO 260
        IF POINT(x, y) = 1 THEN PSET (x, y), 11
    NEXT y
NEXT x
LINE (111, 228)-(120, 228), 11
LINE (111, 236)-(129, 236), 1
LINE (111, 252)-(129, 252), 11
LINE (109, 254)-(129, 254), 11
LINE (124, 213)-(124, 227), 1
LINE (115, 213)-(115, 227), 1
LINE (111, 219)-(129, 219), 1
LINE (115, 236)-(115, 251), 1
LINE (124, 236)-(124, 251), 1
LINE (111, 244)-(129, 244), 1

GET (120, 205)-(133, 256), Box()
PUT (118, 205), Box(), PSET
GET (106, 229)-(131, 253), Box()
FOR y = 254 TO 450 STEP 25
    PUT (106, y), Box(), PSET
NEXT y
GET (106, 202)-(132, 470), Box()
LINE (106, 202)-(132, 470), 3, BF
FOR x = 102 TO 158 STEP 25
    PUT (x, 202), Box(), PSET
NEXT x
FOR y = 255 TO 455 STEP 50
    LINE (100, y)-(179, y + 3), 3, BF
    LINE (100, y)-(179, y), 11
    LINE (100, y + 3)-(179, y + 3), 1
NEXT y
LINE (100, 230)-(104, 234), 3, BF
LINE (100, 230)-(104, 230), 11
LINE (100, 234)-(104, 234), 1
GET (100, 230)-(104, 234), Box()
FOR x = 100 TO 175 STEP 25
    FOR y = 230 TO 430 STEP 50
        PUT (x, y), Box(), PSET
    NEXT y
NEXT x
LINE (120, 190)-(159, 199), 3, BF
LINE (120, 190)-(159, 193), 6, BF
LINE (120, 190)-(159, 190), 7
LINE (120, 194)-(159, 194), 10
LINE (100, 200)-(179, 204), 6, BF
LINE (100, 200)-(179, 200), 7
LINE (100, 205)-(179, 205), 10

FOR y = 180 TO 479 STEP 2
    FOR x = 100 TO 179
        IF POINT(x, y) = 3 THEN PSET (x, y), 6
    NEXT x
NEXT y

FOR Reps = 1 TO 30
    x = FIX(RND * 80) + 100
    y = FIX(RND * 280) + 200
    Colr = FIX(RND * 3)
    SELECT CASE Colr
        CASE 0: Colr = 6
        CASE 1: Colr = 7
        CASE 2: Colr = 8
    END SELECT
    FOR xx = x - 6 TO x + 6
        FOR yy = y - 6 TO y + 6
            IF POINT(xx, yy) = 2 THEN PSET (xx, yy), Colr
        NEXT yy
    NEXT xx
NEXT Reps
PrintSTRING 212, 184, "B-Bomb Mfg"
FOR x = 204 TO 280
    FOR y = 184 TO 196
        IF POINT(x, y) <> 0 THEN PSET (x - 100, y), 4
        PSET (x, y), 0
    NEXT y
NEXT x
FOR x = 208 TO 270 STEP 5
    FOR y = 185 TO 194 STEP 3
        LINE (x, y)-(x + 5, y + 4), 2, B
    NEXT y
NEXT x
FOR x = 208 TO 275
    FOR y = 178 TO 200
        IF POINT(x, y) <> 0 THEN
            IF POINT(x - 101, y + 1) <> 4 THEN PSET (x - 101, y + 1), 6
            PSET (x, y), 0
        END IF
    NEXT y
NEXT x
SaveBUILDING 100, 0, 5 '*************************************************

'Apescape building -------------------------------------------------------------
LINE (200, 200)-(279, 479), 8, BF
LINE (210, 180)-(269, 299), 8, BF
LINE (220, 180)-(259, 180), 9
LINE (207, 200)-(272, 200), 9
CIRCLE (209, 209), 10, 0, 3.14159 * .5, 3.14159
PAINT (201, 201), 0
CIRCLE (270, 209), 10, 0, 0, 3.14159 * .5
PAINT (278, 201), 0
CIRCLE (219, 190), 10, 0, 3.14159 * .5, 3.14159
PAINT (211, 181), 0
CIRCLE (260, 190), 10, 0, 0, 3.14159 * .5
PAINT (268, 181), 0
FOR x = 203 TO 277 STEP 4
    FOR y = 180 TO 479
        IF POINT(x, y) = 8 THEN PSET (x, y), 7
        IF POINT(x + 1, y) = 8 THEN PSET (x + 1, y), 7
    NEXT y
NEXT x
FOR x = 206 TO 270 STEP 10
    FOR y = 220 TO 460 STEP 36
        LINE (x, y)-(x + 7, y + 26), 8, BF
        LINE (x + 1, y + 1)-(x + 6, y + 22), 2, BF
        LINE (x + 1, y + 1)-(x + 6, y + 6), 1, BF
    NEXT y
NEXT x
LINE (239, 158)-(239, 179), 8
PSET (236, 162), 4
PSET (242, 162), 4
FOR x = 217 TO 260 STEP 8
    LINE (x, 190)-(x + 4, 198), 2, BF
    LINE (x, 190)-(x + 4, 193), 1, BF
NEXT x
PSET (200, 205), 6
PSET (205, 200), 6
PSET (210, 186), 6
PSET (215, 181), 6
PSET (219, 180), 8
PSET (218, 180), 7

PSET (279, 205), 6
PSET (274, 200), 6
PSET (269, 186), 6
PSET (264, 181), 6

PSET (260, 180), 8
PSET (261, 180), 7

GET (200, 180)-(279, 214), Box()
PUT (200, 176), Box(), PSET
GET (200, 180)-(279, 214), Box()
PUT (200, 175), Box(), PSET
LINE (206, 200)-(273, 200), 9
LINE (206, 193)-(206, 200), 6
LINE (273, 193)-(273, 200), 6
LINE (214, 175)-(265, 175), 9
LINE (212, 203)-(267, 216), 8, BF
LINE (212, 217)-(267, 217), 6
LINE (212, 203)-(267, 203), 9
PrintSTRING 217, 203, "apescape"
FOR x = 217 TO 267
    FOR y = 203 TO 217
        IF POINT(x, y) = 15 THEN PSET (x, y), 1
    NEXT y
NEXT x
SaveBUILDING 200, 26, 6

'Tenement building ---------------------------------------------------------
LINE (200, 150)-(279, 479), 0, BF
RANDOMIZE 4
CIRCLE (220, 198), 10, 2, 0, 3.14159
CIRCLE (259, 198), 10, 2, 0, 3.14159
CIRCLE (220, 198), 7, 2, 0, 3.14159
CIRCLE (259, 198), 7, 2, 0, 3.14159
LINE (207, 198)-(210, 198), 2: DRAW "bl3D3r6u3"
LINE (230, 198)-(233, 198), 2: DRAW "D3l6u3"
LINE (246, 198)-(249, 198), 2: DRAW "bl3D3r6u3"
LINE (269, 198)-(272, 198), 2: DRAW "D3l6u3"
CIRCLE (182, 166), 35, 2, 5.3, 6
CIRCLE (297, 166), 35, 2, 3.42, 4.16
LINE (215, 176)-(264, 176), 2
PSET (200, 195), 2
DRAW "D4 R7 BR26 R12 BR27 R7 U4 l10 Bl20 l18 Bl20 l11"
PAINT (240, 190), 1, 2
PAINT (240, 197), 1, 2
PAINT (202, 197), 1, 2
PAINT (277, 197), 1, 2
FOR y = 168 TO 195 STEP 2
    FOR x = 200 TO 279
        IF POINT(x, y) = 1 THEN PSET (x, y), 2
    NEXT x
NEXT y
PAINT (220, 190), 1, 2
PAINT (259, 190), 1, 2
LINE (215, 176)-(264, 176), 7
CIRCLE (220, 198), 10, 7, .5, 2.64159
CIRCLE (259, 198), 10, 7, .5, 2.64159
PSET (200, 195), 7
DRAW "bD4 bR7 BR26 bR12 bBR27 bR7 bU4 l9 Bl22 l17 Bl22 l9"
FOR x = 215 TO 263 STEP 2
    PSET (x, 174), 7
    PSET (x, 175), 6
NEXT x
LINE (213, 198)-(227, 198), 2
PAINT (220, 197), 1, 2
CIRCLE (220, 195), 1, 8
LINE (215, 198)-(225, 217), 2, B
LINE (216, 199)-(224, 216), 1, BF
LINE (216, 199)-(224, 216), 6, B
LINE (220, 199)-(220, 211), 6: DRAW "nL3nR3"
PAINT (220, 215), 10, 6
CIRCLE (220, 199), 7, 10, .14, 3, 1.1
LINE (217, 200)-(219, 201), 10, B
LINE (221, 200)-(223, 201), 10, B
LINE (214, 218)-(226, 218), 7
GET (210, 190)-(230, 220), Box()
PUT (249, 190), Box(), PSET
PSET (200, 200), 10: DRAW "R6 D2 R6 BR16 R6 U2 R11 D2 R6 BR16 R6 U2 R6"
FOR x = 200 TO 279
    FOR y = 200 TO 479 STEP 2
        IF POINT(x, y) = 0 THEN PSET (x, y), 3
        IF POINT(x, y + 1) = 0 THEN PSET (x, y + 1), 1
    NEXT y
NEXT x
LINE (236, 202)-(243, 212), 2, B
PAINT (238, 210), 7, 2
LINE (237, 203)-(242, 211), 6, B
LINE (237, 207)-(242, 207), 6
PAINT (238, 206), 3, 6
PAINT (238, 208), 5, 6
LINE (235, 213)-(244, 213), 7
LINE (238, 204)-(241, 204), 10
LINE (202, 230)-(220, 234), 10, BF
LINE (218, 230)-(220, 254), 10, BF
LINE (259, 230)-(279, 234), 10, BF
LINE (200, 228)-(279, 229), 2, B
LINE (200, 229)-(201, 254), 2, B
LINE (278, 229)-(279, 254), 2, B
LINE (207, 232)-(212, 242), 6, B
LINE (208, 233)-(211, 233), 10
LINE (200, 245)-(220, 254), 2, B
PAINT (210, 235), 7, 6
PAINT (210, 235), 3, 6
LINE (207, 237)-(212, 237), 6
PAINT (210, 238), 5, 6
LINE (208, 233)-(211, 233), 10
LINE (200, 244)-(220, 254), 2, B
LINE (202, 244)-(220, 244), 7
LINE (202, 252)-(218, 253), 10, BF
FOR x = 202 TO 218 STEP 2
    LINE (x, 245)-(x, 254), 2
NEXT x
LINE (226, 232)-(236, 246), 1, BF
LINE (226, 232)-(236, 246), 6, B
LINE (226, 239)-(236, 239), 6
LINE (225, 247)-(237, 247), 7
FOR x = 200 TO 239
    FOR y = 200 TO 279
        PSET (479 - x, y), POINT(x, y)
    NEXT y
NEXT x
GET (200, 228)-(279, 258), Box()
FOR y = 224 TO 450 STEP 32
    PUT (200, y), Box(), PSET
    IF FIX(RND * 12) = 0 THEN
        PAINT (230, y + 6), 3, 6
        PAINT (230, y + 14), 5, 6
    END IF
    IF FIX(RND * 2) = 0 THEN
        PAINT (249, y + 6), 3, 6
        PAINT (249, y + 14), 5, 6
    END IF
    IF FIX(RND * 5) = 0 THEN
        PAINT (210, y + 8), 1, 6
        PAINT (210, y + 11), 7, 6
    END IF
    IF FIX(RND * 2) = 0 THEN
        PAINT (269, y + 8), 1, 6
        PAINT (269, y + 11), 7, 6
    END IF
    LINE (227, y + 5)-(235, y + 5), 10
    LINE (244, y + 5)-(252, y + 5), 10
    LINE (268, y + 5)-(271, y + 5), 10
    LINE (208, y + 5)-(211, y + 5), 10
NEXT y
SaveBUILDING 200, 25, 7

'Balcony Apartment ----------------------------------------------------------
LINE (0, 150)-(400, 479), 0, BF
GET (118, 50)-(133, 76), Box()
PUT (118, 250), Box()
LINE (300, 200)-(379, 479), 4, BF
GET (118, 240)-(133, 260), Box()
PUT (118, 246), Box(), PSET
GET (118, 256)-(133, 276), Box(6000)
PUT (218, 256), Box(6000)
FOR x = 218 TO 233
    FOR y = 256 TO 276
        IF POINT(x, y) = 1 OR POINT(x, y) = 10 THEN PSET (x, y), 3
        IF POINT(x, y) = 2 THEN PSET (x, y), 5
    NEXT y
NEXT x
GET (219, 257)-(232, 276), Box(5000)
FOR x = 304 TO 360 STEP 18
    IF x = 340 THEN x = 360
    PUT (x, 212), Box(6000), PSET
NEXT x
GET (118, 50)-(133, 76), Box()
PUT (341, 212), Box(), PSET
GET (340, 224)-(359, 235), Box()
PUT (340, 230), Box(), PSET
LINE (329, 242)-(368, 243), 9, B
LINE (329, 232)-(368, 243), 8, B
FOR x = 330 TO 368 STEP 2
    LINE (x, 232)-(x, 242), 8
NEXT x
LINE (300, 242)-(328, 243), 8, BF
LINE (369, 242)-(379, 243), 8, BF
LINE (300, 244)-(379, 244), 6
FOR x = 301 TO 379 STEP 18
    IF x = 355 THEN x = 357
    LINE (x, 214)-(x + 3, 228), 8, BF
    FOR y = 216 TO 226 STEP 2
        LINE (x + 1, y)-(x + 2, y), 7
    NEXT y
NEXT x
GET (300, 212)-(379, 244), Box()
FOR y = 212 TO 440 STEP 38
    PUT (300, y), Box(), PSET
NEXT y
LINE (300, 200)-(379, 204), 8, BF
LINE (300, 200)-(379, 200), 9
LINE (300, 205)-(379, 205), 6
LINE (320, 188)-(359, 199), 11, BF
LINE (319, 188)-(360, 190), 8, BF
LINE (320, 191)-(359, 191), 10
FOR x = 300 TO 379
    FOR y = 200 TO 479
        IF POINT(x, y) = 4 THEN PSET (x, y), 11
    NEXT y
NEXT x
FOR y = 188 TO 478 STEP 2
    FOR x = 300 TO 379
        IF POINT(x, y) = 11 THEN PSET (x, y), 3
    NEXT x
NEXT y
PSET (363, 199), 7
DRAW "U24 C15 D"
FOR x = 305 TO 360 STEP 18
    IF x = 341 THEN x = 361
    FOR y = 213 TO 440 STEP 38
        IF FIX(RND * 10) = 0 THEN PUT (x, y), Box(5000), PSET
        LINE (329, 232)-(368, 232), 15
    NEXT y
NEXT x
FOR y = 232 TO 470 STEP 38
    LINE (329, y)-(368, y), 15
NEXT y
SaveBUILDING 300, 0, 8
LINE (0, 150)-(639, 479), 0, BF
RETURN

SetPALETTE:
DATA 0,4,16,0,10,21,0,16,32,32,10,0
DATA 63,0,0,63,32,0,18,18,24,30,30,37
DATA 42,42,50,55,55,63,0,0,0,43,27,19
DATA 8,8,21,0,63,21,63,63,21,63,63,63

RESTORE SetPALETTE
OUT &H3C8, 0
FOR n = 1 TO 48
    READ Intensity
    OUT &H3C9, Intensity
NEXT n
RETURN

WinBOXES:
GET (140, 0)-(256, 18), Box()
GET (376, 0)-(500, 18), Box(5000)
GET (520, 0)-(580, 18), Box(10000)
PUT (198, 200), Box()
PUT (320, 200), Box(10000)
PrintSTRING 220, 223, "To play again, press ENTER"
PrintSTRING 219, 236, "Press any other key to EXIT"
FOR x = 174 TO 400
    FOR y = 192 TO 254
        IF y > 210 THEN Colr = 8 ELSE Colr = 15
        IF y > 222 THEN Colr = 9
        IF POINT(x, y) = 0 THEN PSET (x, y), 1 ELSE PSET (x, y), Colr
    NEXT y
NEXT x
FOR y = 224 TO 200 STEP -1
    FOR x = 174 TO 400
        IF POINT(x, y - 2) <> 1 AND POINT(x, y) = 1 THEN PSET (x, y), 10
    NEXT x
NEXT y
LINE (176, 194)-(398, 252), 6, B
LINE (174, 192)-(400, 254), 6, B
GET (174, 192)-(400, 254), Box()
LINE (170, 188)-(404, 258), 8, BF
LINE (170, 188)-(404, 258), 15, B
LINE (170, 258)-(404, 258), 10
LINE (404, 188)-(404, 258), 10
PUT (174, 192), Box(), PSET
GET (170, 188)-(404, 258), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "KongWINK.BSV", VARPTR(Box(1)), 9000
DEF SEG
LINE (177, 197)-(394, 222), 1, BF
PUT (196, 200), Box(5000)
PUT (324, 200), Box(10000)
FOR y = 224 TO 200 STEP -1
    FOR x = 190 TO 382
        IF y > 210 THEN Colr = 8 ELSE Colr = 15
        IF POINT(x, y - 2) <> 1 THEN PSET (x, y - 2), Colr
    NEXT x
NEXT y
FOR y = 224 TO 200 STEP -1
    FOR x = 174 TO 400
        IF POINT(x, y - 2) <> 1 AND POINT(x, y) = 1 THEN PSET (x, y), 10
    NEXT x
NEXT y
GET (196, 200)-(386, 220), Box()
PUT (195, 200), Box(), PSET
GET (170, 188)-(404, 258), Box()
PUT (170, 188), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "KongWINY.BSV", VARPTR(Box(1)), 9000
DEF SEG
RETURN

Instructions:
LINE (192, 160)-(447, 310), 8, BF
LINE (192, 160)-(447, 310), 15, B
LINE (192, 310)-(447, 310), 10
LINE (447, 160)-(447, 310), 10
LINE (202, 164)-(436, 305), 1, BF
LINE (202, 164)-(436, 305), 6, B
LINE (204, 166)-(434, 303), 6, B
LINE (400, 175)-(424, 187), 7, BF
PrintSTRING 216, 176, "INSTRUCTIONS"
PrintSTRING 216, 194, "The object of the game is to be the first"
PrintSTRING 216, 206, "player to achieve a score of 3. You gain"
PrintSTRING 216, 218, "1"
PrintSTRING 225, 218, "point each time you blow up the other"
PrintSTRING 216, 230, "player's gorilla with an exploding banana."
PrintSTRING 216, 248, "Unless playing the computer, begin by"
PrintSTRING 216, 260, "deciding which player will control which"
PrintSTRING 216, 272, "gorilla, then click the"
PrintSTRING 340, 272, "button to begin."
PrintSTRING 216, 284, "The starting gorilla is chosen at random."
FOR x = 207 TO 431
    FOR y = 167 TO 295
        IF y < 194 THEN Colr = 9 ELSE Colr = 8
        IF y < 181 THEN Colr = 15
        IF POINT(x, y) <> 1 THEN PSET (x, y), Colr
    NEXT y
NEXT x
HighLIGHT 354, 206, 362, 217, 9
HighLIGHT 216, 218, 222, 229, 9
PSET (404, 184), 6
DRAW "U6 R12 U2 F5 G5 U2 L12 BE2 P6,6"
LINE (321, 275)-(332, 281), 8, BF
LINE (321, 282)-(332, 282), 10
LINE (323, 278)-(330, 278), 1: DRAW "NH2G2"
SaveINSTR "KongINS1.BSV"
LINE (205, 193)-(433, 295), 1, BF
PrintSTRING 216, 194, "When a player's gorilla is the thrower,"
PrintSTRING 216, 206, "the LED will be green under his name (and"
PrintSTRING 216, 218, "he'll be holding a banana). Click on the"
PrintSTRING 216, 230, "Angle slider and drag it to adjust the initial"
PrintSTRING 216, 242, "throwing angle (0 degrees is a horizontal"
PrintSTRING 216, 254, "throw in the other gorilla's direction). Set"
PrintSTRING 216, 266, "the Force slider in the same way. To toss"
PrintSTRING 216, 278, "the banana, click the Banana button"
PrintSTRING 410, 278, "."
HighLIGHT 216, 194, 434, 295, 8
HighLIGHT 234, 206, 254, 217, 9
HighLIGHT 216, 230, 244, 241, 9
HighLIGHT 236, 266, 264, 277, 9
HighLIGHT 322, 278, 360, 299, 9
LINE (204, 166)-(434, 303), 6, B
GET (99, 80)-(109, 90), Box()
PUT (397, 279), Box(), PSET
SaveINSTR "KongINS2.BSV"
LINE (205, 193)-(433, 295), 1, BF
PrintSTRING 216, 194, "Be sure to check the Wind arrow (bottom"
PrintSTRING 216, 206, "center of the screen). The arrow shows both"
PrintSTRING 216, 218, "the direction and strength of the wind (the"
PrintSTRING 216, 230, "longer the arrow, the stronger the wind). A"
PrintSTRING 216, 242, "strong opposing wind can actually blow the"
PrintSTRING 216, 254, "banana backwards if the Force of the toss"
PrintSTRING 216, 266, "isn't strong enough!"
PrintSTRING 348, 282, "Good Luck!"
HighLIGHT 216, 194, 434, 295, 8
HighLIGHT 320, 194, 348, 205, 9
HighLIGHT 348, 282, 420, 294, 15
LINE (400, 175)-(424, 187), 15, BF
LINE (400, 182)-(424, 187), 9, BF
PSET (406, 177), 4
DRAW "F8rH8rF8rH8rF8 BU8 G8lE8lG8lE8lG8"
FOR x = 400 TO 424
    FOR y = 175 TO 187
        IF POINT(x, y) <> 15 AND POINT(x, y) <> 9 THEN PSET (x, y), 6
    NEXT y
NEXT x
LINE (204, 166)-(434, 303), 6, B
SaveINSTR "KongINS3.BSV"
PUT (192, 160), Box()
LINE (180, 194)-(400, 270), 7, BF
LINE (180, 194)-(400, 270), 9, B
LINE (180, 270)-(400, 270), 6
LINE (400, 194)-(400, 270), 6
LINE (194, 198)-(384, 266), 1, BF
LINE (196, 200)-(382, 264), 6, B
PrintSTRING 238, 208, "Click Your Preference"
PrintSTRING 252, 227, "2 players"
PrintSTRING 252, 243, "1 player (play computer)"
HighLIGHT 238, 208, 380, 255, 9
HighLIGHT 238, 208, 380, 214, 15
LINE (215, 227)-(241, 239), 10, B
LINE (216, 228)-(240, 238), 8, BF
LINE (216, 228)-(240, 238), 15, B
LINE (240, 228)-(240, 238), 6
LINE (216, 238)-(240, 238), 6
LINE (215, 243)-(241, 255), 10, B
LINE (216, 244)-(240, 254), 8, BF
LINE (216, 244)-(240, 254), 15, B
LINE (240, 244)-(240, 254), 6
LINE (216, 254)-(240, 254), 6
GET (180, 194)-(400, 270), Box()
PUT (180, 194), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "Kong1PL2.BSV", VARPTR(Box(1)), 8800
DEF SEG
LINE (180, 194)-(400, 270), 7, BF
LINE (180, 194)-(400, 270), 9, B
LINE (180, 270)-(400, 270), 6
LINE (400, 194)-(400, 270), 6
LINE (194, 198)-(384, 266), 1, BF
LINE (196, 200)-(382, 264), 6, B
PrintSTRING 256, 207, "Your gorilla is"
PrintSTRING 236, 243, "Click to begin"
HighLIGHT 233, 207, 380, 257, 9
FOR x = 138 TO 256
    FOR y = 0 TO 20
        IF y > 9 THEN Colr = 8 ELSE Colr = 15
        IF POINT(x, y) <> 0 THEN
            PSET (x + 92, y + 223), 10
            PSET (x + 92, y + 221), Colr
        END IF
    NEXT y
NEXT x
LINE (311, 244)-(337, 253), 10, B
LINE (312, 245)-(336, 255), 8, BF
LINE (312, 245)-(336, 255), 15, B
LINE (336, 245)-(336, 255), 6
LINE (312, 255)-(336, 255), 6
PSET (318, 249), 1
DRAW "R9 U2 F3 G3 U2 L9 U2 BF P1,1"
GET (180, 194)-(400, 270), Box()
PUT (180, 194), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "Kong1PLR.BSV", VARPTR(Box(1)), 8800
DEF SEG
LINE (180, 194)-(400, 270), 7, BF
LINE (180, 194)-(400, 270), 9, B
LINE (180, 270)-(400, 270), 6
LINE (400, 194)-(400, 270), 6
LINE (194, 198)-(384, 266), 1, BF
LINE (196, 200)-(382, 264), 6, B
PrintSTRING 234, 214, "Decide who will control"
PrintSTRING 234, 226, "which gorilla and then..."
PrintSTRING 236, 243, "Click to begin"
HighLIGHT 225, 212, 380, 257, 9
LINE (311, 244)-(337, 253), 10, B
LINE (312, 245)-(336, 255), 8, BF
LINE (312, 245)-(336, 255), 15, B
LINE (336, 245)-(336, 255), 6
LINE (312, 255)-(336, 255), 6
PSET (318, 249), 1
DRAW "R9 U2 F3 G3 U2 L9 U2 BF P1,1"
GET (180, 194)-(400, 270), Box()
PUT (180, 194), Box()
DEF SEG = VARSEG(Box(1))
BSAVE "KongOPEN.BSV", VARPTR(Box(1)), 8800
DEF SEG
RETURN

SUB HighLIGHT (x1, y1, x2, y2, Colr)
    FOR x = x1 TO x2
        FOR y = y1 TO y2
            IF POINT(x, y) <> 1 THEN PSET (x, y), Colr
        NEXT y
    NEXT x
END SUB

SUB PrintSTRING (x, y, Prnt$)

    DEF SEG = VARSEG(FontBOX(0))
    BLOAD "Kong.FBS", VARPTR(FontBOX(0))
    DEF SEG

    FOR i = 1 TO LEN(Prnt$)
        Char$ = MID$(Prnt$, i, 1)
        IF Char$ = " " THEN
            x = x + FontBOX(1)
        ELSE
            Index = (ASC(Char$) - 33) * FontBOX(0) + 2

            PUT (x, y), FontBOX(Index)
            x = x + FontBOX(Index)
        END IF
    NEXT i

END SUB

SUB SaveBUILDING (x, UpSET, Building)

    Box(1) = UpSET
    LINE (x, 155)-(x, 479), 0
    LINE (x + 79, 155)-(x + 79, 479), 0
    GET (x, 155)-(x + 79, 199), Box(2)
    FOR xx = x TO x + 79
        FOR yy = 155 TO 199
            IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
        NEXT yy
    NEXT xx
    GET (x, 155)-(x + 79, 199), Box(1000)
    GET (x, 200)-(x + 79, 479), Box(2000)
    FileNAME$ = "KongBLD" + LTRIM$(STR$(Building)) + ".BSV"
    DEF SEG = VARSEG(Box(1))
    BSAVE FileNAME$, VARPTR(Box(1)), 16000
    DEF SEG

END SUB

SUB SaveINSTR (FileNAME$)
    GET (192, 160)-(447, 310), Box()
    DEF SEG = VARSEG(Box(1))
    BSAVE FileNAME$, VARPTR(Box(1)), 20000
    DEF SEG
END SUB

