CHDIR ".\programs\samples\thebob\kong" '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