Author Topic: Knight VS Castle  (Read 8107 times)

0 Members and 1 Guest are viewing this topic.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Knight VS Castle
« Reply #15 on: March 06, 2019, 10:03:41 am »
HI qb4ever

this graphic let me remember a mini game made in java. In this you fire with a cannon setting force and angle of the fire, moreover you set the type of potion that you fire to defend you laboratory, and there is also a wall as barrier to stop the zombies or skeleton or monsters that comes towards laboratory to destroy it!
sorry but I don't remember the exact name to post the link of this game.

This one had it too,


Set angle and velocity and the Gorilla fires off a banana!
« Last Edit: March 06, 2019, 10:12:00 am by bplus »

Offline qb4ever

  • Newbie
  • Posts: 40
  • LOCATE 15,15: COLOR 14: PRINT "Hello World!"
    • View Profile
Re: Knight VS Castle
« Reply #16 on: March 06, 2019, 10:24:00 am »
HI qb4ever

this graphic let me remember a mini game made in java. In this you fire with a cannon setting force and angle of the fire, moreover you set the type of potion that you fire to defend you laboratory, and there is also a wall as barrier to stop the zombies or skeleton or monsters that comes towards laboratory to destroy it!
sorry but I don't remember the exact name to post the link of this game.

Hi TempodiBasic,

The concept is very common, remember in part Gorilla, do you remember?
In that game they threw bananas....

Offline qb4ever

  • Newbie
  • Posts: 40
  • LOCATE 15,15: COLOR 14: PRINT "Hello World!"
    • View Profile
Re: Knight VS Castle
« Reply #17 on: March 06, 2019, 10:26:25 am »
HI qb4ever

this graphic let me remember a mini game made in java. In this you fire with a cannon setting force and angle of the fire, moreover you set the type of potion that you fire to defend you laboratory, and there is also a wall as barrier to stop the zombies or skeleton or monsters that comes towards laboratory to destroy it!
sorry but I don't remember the exact name to post the link of this game.

This one had it too,


Set angle and velocity and the Gorilla fires off a banana!

Exactly.

I think used a particular routine for launch (different to my oooold math trinomio :D )

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Knight VS Castle
« Reply #18 on: March 06, 2019, 10:33:09 am »
HI qb4ever

this graphic let me remember a mini game made in java. In this you fire with a cannon setting force and angle of the fire, moreover you set the type of potion that you fire to defend you laboratory, and there is also a wall as barrier to stop the zombies or skeleton or monsters that comes towards laboratory to destroy it!
sorry but I don't remember the exact name to post the link of this game.

This one had it too,


Set angle and velocity and the Gorilla fires off a banana!

Exactly.

I think used a particular routine for launch (different to my oooold math trinomio :D )

We studied Gorilla at another forum, and projectile paths at still another forum. I outlined that study here in Tanks Battle, reply #8. :
https://www.qb64.org/forum/index.php?topic=1130.0

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Knight VS Castle
« Reply #19 on: March 06, 2019, 01:16:01 pm »
TheBOB did a revised version of QB Gorillas: https://www.tapatalk.com/groups/qbasic/viewtopic.php?f=178387&t=30432&p=83793&hilit=mighty#p83793

It's probably included in the QB64 samples folder as: King Kong vs Mighty Joe Young
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Knight VS Castle
« Reply #20 on: March 07, 2019, 01:24:46 pm »
Yes I find it very cool so
I have translated it to QB64 because all we know that MouseLibrary coded in QB/QBasic by TheBob is not compatible with QB64.

I can do this because we needn't  of the function
Quote
DECLARE SUB FieldMOUSE (x1, y1, x2, y2)   
because for this performance QB64 has no function or Keyword.

So here I attach my translation in QB64

Here the Game Kong

Code: QB64: [Select]
  1. ' KONG.BAS
  2.  
  3. 'NOTE: This game requires graphics files created by the accompanying programs K1 and K2. K1 CHAIN's K2, so be certain to save the second file under that name, or change the CHAIN line in K1 to the name you give the program (will not work if run separately).
  4.  
  5. '****************************************************************************'
  6. '____________________________________________________________________________
  7. '____________________________________________________________________________'
  8. '_____²²___²²__²²²²²__²²___²²__²²²²²____________²²___²²___²²²²___²²__²²______'
  9. '_____²²___²²_²²___²²_²²___²²_²²___²²___________²²___²²____²²____²²__²²______'
  10. '_____²²__²²__²²___²²_²²²__²²_²²___²²___________²²²_²²²____²²____²²__²²______'
  11. '_____²²_²²___²²___²²_²²²__²²_²²_______²_²_²_²__²²²_²²²____²²____²²__²²______'
  12. '_____²²²²____²²___²²_²²²²_²²_²²_______²_²_²____²²²²²²²____²²____²²__²²______'
  13. '_____°°°°____°°___°°_°°_°°°°_°°_______°_°___°__°°_°_°°____°°_____°°°°_______'
  14. '_____°°_°°___°°___°°_°°__°°°_°°__°°°___°__°_°__°°_°_°°____°°______°°________'
  15. '_____°°__°°__°°___°°_°°__°°°_°°___°°___________°°_°_°°_°°_°°______°°________'
  16. '_____°°___°°_°°___°°_°°___°°_°°___°°___________°°___°°_°°_°°______°°________'
  17. '_____°°___°°__°°°°°__°°___°°__°°°°°____________°°___°°__°°°______°°°°_______'
  18. '                                                                            '
  19. '----------- Microsoft QBasic originally came bundled with four -------------'
  20. '----------- example programs: a simple money management program ------------'
  21. '----------- called, appropriately, "Money", a utility for removing ---------'
  22. '----------- line numbers from BASIC programs called "RemLine", and ---------'
  23. '----------- two game programs, "Nibbles" and "Gorilla". In the case --------'
  24. '----------- of the second game, I loved the idea of two gorillas -----------'
  25. '----------- throwing exploding bananas at each other from the roof- --------'
  26. '----------- tops and had always wanted to do my own version. Here ----------'
  27. '----------- then, is my homage to the QBasic classic, GORILLA.BAS... -------'
  28. '
  29. '-------------------- ...KING-KONG vs MIGHTY JOE YOUNG ----------------------'
  30. '------- (Freeware)--Unique elements Copyright (C) 2005 by Bob Seguin -------'
  31. '------------------------ email: BOBSEG@sympatico.ca ------------------------'
  32. '
  33. '************** NOTE: Mouse routines will not work with QB7.1 ***************'
  34.  
  35. DEFINT A-Z
  36.  
  37. DECLARE FUNCTION InitMOUSE ()
  38.  
  39. DECLARE SUB MouseSTATUS (LB, RB, MouseX, MouseY)
  40. DECLARE SUB ShowMOUSE ()
  41. DECLARE SUB HideMOUSE ()
  42. DECLARE SUB LocateMOUSE (x, y)
  43. DECLARE SUB FieldMOUSE (x1, y1, x2, y2)
  44. DECLARE SUB PauseMOUSE (LB, RB, MouseX, MouseY)
  45. DECLARE SUB ClearMOUSE ()
  46. DECLARE SUB MouseDRIVER (LB, RB, MX, MY)
  47.  
  48. DECLARE FUNCTION ControlPANEL ()
  49. DECLARE FUNCTION Computer ()
  50. DECLARE FUNCTION BananaTOSS ()
  51.  
  52. DECLARE SUB SetPALETTE ()
  53. DECLARE SUB DrawSCREEN ()
  54. DECLARE SUB StartUP ()
  55. DECLARE SUB DoAPES ()
  56. DECLARE SUB PlayGAME ()
  57. DECLARE SUB TopMENU (InOUT)
  58. DECLARE SUB Instructions ()
  59. DECLARE SUB Sliders (Value, Slider)
  60. DECLARE SUB EndGAME ()
  61. DECLARE SUB Interval (Duration!)
  62. DECLARE SUB Fade (InOUT)
  63. DECLARE SUB SetWIND ()
  64. DECLARE SUB Explode (What)
  65. DECLARE SUB ApeCHUCKLE (Which)
  66. DECLARE SUB PrintSCORE (Ape, Score)
  67.  
  68. CONST Degree! = 3.14159 / 180
  69. CONST g# = 9.8
  70.  
  71. REDIM SHARED Box(1 TO 26000)
  72. REDIM SHARED KongBOX(1 TO 5500)
  73. REDIM SHARED YoungBOX(1 TO 5500)
  74. DIM SHARED ExplosionBACK(1200)
  75. DIM SHARED SliderBOX(1 TO 440)
  76. DIM SHARED Banana(1 TO 900)
  77. DIM SHARED FadeBOX(1 TO 48)
  78. DIM SHARED LilBOX(1 TO 120)
  79. DIM SHARED Buildings(1 TO 8, 1 TO 2)
  80. DIM SHARED NumBOX(1 TO 300)
  81.  
  82. DEF SEG = VARSEG(NumBOX(1))
  83. BLOAD "KongNUMS.BSV", VARPTR(NumBOX(1))
  84. DEF SEG = VARSEG(LilBOX(1))
  85. BLOAD "KongWIND.BSV", VARPTR(LilBOX(1))
  86. DEF SEG = VARSEG(Banana(1))
  87. BLOAD "KongBNNA.BSV", VARPTR(Banana(1))
  88. DEF SEG = VARSEG(SliderBOX(1))
  89. BLOAD "KongSLDR.BSV", VARPTR(SliderBOX(1))
  90.  
  91. FOR n = 1 TO 8
  92.     Buildings(n, 1) = n
  93.  
  94. DIM SHARED LB, RB, MouseX, MouseY
  95. DIM SHARED x#, y#, Angle#, Speed#, Wind!, t#
  96. DIM SHARED KongX, KongY, YoungX, YoungY, Ape
  97. DIM SHARED KScore, YScore, Item, LBldg, RBldg
  98. DIM SHARED NumPLAYERS, CompTOSS
  99.  
  100. DIM SHARED MouseDATA$
  101.  
  102. 'Create and load MouseDATA$ for CALL ABSOLUTE routines
  103. DATA 55,89,E5,8B,5E,0C,8B,07,50,8B,5E,0A,8B,07,50,8B,5E,08,8B
  104. DATA 0F,8B,5E,06,8B,17,5B,58,1E,07,CD,33,53,8B,5E,0C,89,07,58
  105. DATA 8B,5E,0A,89,07,8B,5E,08,89,0F,8B,5E,06,89,17,5D,CA,08,00
  106. MouseDATA$ = SPACE$(57)
  107. FOR i = 1 TO 57
  108.     READ h$
  109.     Hexxer$ = CHR$(VAL("&H" + h$))
  110.     MID$(MouseDATA$, i, 1) = Hexxer$
  111.  
  112. Moused = InitMOUSE
  113. IF NOT Moused THEN
  114.     PRINT "Sorry, cat must have got the mouse."
  115.     SLEEP 2
  116.     SYSTEM
  117.  
  118. RESTORE PaletteDATA
  119. FOR n = 1 TO 48
  120.     READ FadeBOX(n)
  121.  
  122. OUT &H3C8, 0
  123. FOR n = 1 TO 48
  124.     OUT &H3C9, 0
  125.  
  126.  
  127.     PlayGAME
  128.  
  129.  
  130. PaletteDATA:
  131. DATA 0,4,16,0,10,21,0,16,32,32,10,0
  132. DATA 63,0,0,63,32,0,18,18,24,30,30,37
  133. DATA 42,42,50,55,55,63,0,0,0,43,27,20
  134. DATA 8,8,21,0,63,21,63,55,25,63,63,63
  135.  
  136. SUB ApeCHUCKLE (Which)
  137.  
  138.     SELECT CASE Which
  139.         CASE 1 'Kong chuckle
  140.             FOR Reps = 1 TO 10
  141.                 WAIT &H3DA, 8
  142.                 WAIT &H3DA, 8, 8
  143.                 PUT (KongX, KongY), KongBOX(1351), PSET
  144.                 Interval .1
  145.                 WAIT &H3DA, 8
  146.                 WAIT &H3DA, 8, 8
  147.                 PUT (KongX, KongY), KongBOX(1801), PSET
  148.                 Interval .1
  149.             NEXT Reps
  150.  
  151.         CASE 2 'Young chuckle
  152.             FOR Reps = 1 TO 10
  153.                 WAIT &H3DA, 8
  154.                 WAIT &H3DA, 8, 8
  155.                 PUT (YoungX, YoungY), YoungBOX(1351), PSET
  156.                 Interval .1
  157.                 WAIT &H3DA, 8
  158.                 WAIT &H3DA, 8, 8
  159.                 PUT (YoungX, YoungY), YoungBOX(1801), PSET
  160.                 Interval .1
  161.             NEXT Reps
  162.     END SELECT
  163.  
  164.  
  165. FUNCTION BananaTOSS
  166.  
  167.     t# = 0
  168.     IF Ape = 1 THEN
  169.         YTurn = 0: KTurn = 7
  170.         x# = KongX: y# = KongY - 24
  171.     ELSE
  172.         KTurn = 7: KTurn = 0
  173.         x# = YoungX: y# = YoungY - 24
  174.     END IF
  175.  
  176.     IF Ape = 2 THEN Angle# = 180 - Angle#
  177.     Angle# = Angle# * Degree!
  178.     vx# = Speed# * COS(Angle#)
  179.     vy# = Speed# * SIN(Angle#)
  180.     InitialX = x#
  181.     InitialY = y#
  182.  
  183.     'GET starting background location of banana ---------------------------
  184.     GET (x#, y#)-(x# + 12, y# + 12), Banana(801)
  185.  
  186.     'Animate banana toss (frames 2 & 3) -----------------------------------
  187.     FOR Index = 451 TO 901 STEP 450
  188.         Interval .02
  189.         WAIT &H3DA, 8
  190.         WAIT &H3DA, 8, 8
  191.         IF Ape = 1 THEN
  192.             PUT (KongX, KongY), KongBOX(Index), PSET
  193.         ELSE
  194.             PUT (YoungX, YoungY), YoungBOX(Index), PSET
  195.         END IF
  196.     NEXT Index
  197.  
  198.     Index = 1 'Initialize banana index
  199.  
  200.     DO 'banana toss loop
  201.  
  202.         Interval .001
  203.         WAIT &H3DA, 8
  204.         WAIT &H3DA, 8, 8
  205.  
  206.         'PUT banana background at old x/y ---------------------------
  207.         IF x# >= 0 AND x# <= 627 THEN
  208.             IF y# >= 40 THEN
  209.                 PUT (x#, y#), Banana(801), PSET
  210.             END IF
  211.         END IF
  212.  
  213.         'Determine new position of banana --------------------------
  214.         'NOTE: The essential formula for determining the path of
  215.         'the thrown banana is taken from the original GORILLA.BAS
  216.         x# = InitialX + (vx# * t#) + (.5 * (Wind! / 5) * t# ^ 2)
  217.         y# = InitialY + -(vy# * t#) + (.5 * g# * t# ^ 2)
  218.         t# = t# + .1
  219.  
  220.         'Whether or not to PUT the banana and background
  221.         IF x# >= 2 AND x# < 627 THEN
  222.             IF y# >= 40 AND y# <= 467 THEN
  223.  
  224.                 'JOE YOUNG hit
  225.                 IF x# + 12 >= YoungX + 2 AND x# <= YoungX + 38 THEN
  226.                     IF y# + 12 >= YoungY + 7 AND y# <= YoungY + 42 THEN
  227.                         Explode 2
  228.                         KScore = KScore + 1
  229.                         PrintSCORE 1, KScore
  230.                         ApeCHUCKLE 1
  231.                         BananaTOSS = 1
  232.                         EXIT FUNCTION
  233.                     END IF
  234.                 END IF
  235.  
  236.                 'KONG is hit
  237.                 IF x# + 12 >= KongX + 2 AND x# <= KongX + 38 THEN
  238.                     IF y# + 12 >= KongY + 7 AND y# <= KongY + 42 THEN
  239.                         Explode 1
  240.                         YScore = YScore + 1
  241.                         PrintSCORE 2, YScore
  242.                         ApeCHUCKLE 2
  243.                         BananaTOSS = 2
  244.                         EXIT FUNCTION
  245.                     END IF
  246.                 END IF
  247.  
  248.                 'Building hit
  249.                 IF y# > 120 THEN
  250.                     IF (POINT(x# + 2, y#) <> 12 AND POINT(x# + 2, y#) <> 0) THEN BLDG = 1
  251.                     IF (POINT(x# + 10, y#) <> 12 AND POINT(x# + 10, y#) <> 0) THEN BLDG = 1
  252.                     IF (POINT(x#, y# + 10) <> 12 AND POINT(x#, y# + 10) <> 0) THEN BLDG = 1
  253.                 END IF
  254.                 IF BLDG = 1 THEN
  255.                     BLDG = 0
  256.                     Explode 3
  257.                     BananaTOSS = 3
  258.                     EXIT FUNCTION
  259.                 END IF
  260.  
  261.                 'GET background, PUT banana at new location
  262.                 GET (x#, y#)-(x# + 12, y# + 12), Banana(801)
  263.                 PUT (x#, y#), Banana(Index + 50), AND
  264.                 PUT (x#, y#), Banana(Index)
  265.  
  266.             END IF 'Legal banana-PUT END IF's
  267.         END IF
  268.  
  269.         Index = Index + 100 'Index changes whether banana is PUT or not ---------
  270.         IF Index = 801 THEN Index = 1
  271.  
  272.         'Ape reaction turns section -----------------------------------------------
  273.  
  274.         IF t# > .5 AND t# < .6 THEN 'Finish toss (arm goes down)
  275.             IF Ape = 1 THEN
  276.                 PUT (KongX, KongY), KongBOX(4501), PSET
  277.             ELSE
  278.                 PUT (YoungX, YoungY), YoungBOX(2701), PSET
  279.             END IF
  280.         END IF
  281.  
  282.         IF t# > 1.5 THEN 'Turn with passing banana (both apes)
  283.             IF YTurn < 2 THEN
  284.                 WAIT &H3DA, 8
  285.                 WAIT &H3DA, 8, 8
  286.                 SELECT CASE YTurn
  287.                     CASE 0: PUT (YoungX, YoungY), YoungBOX(3151), PSET: YTurn = 1
  288.                     CASE 1: PUT (YoungX, YoungY), YoungBOX(2701), PSET: YTurn = 2
  289.                 END SELECT
  290.             END IF
  291.  
  292.             IF KTurn < 2 THEN
  293.                 WAIT &H3DA, 8
  294.                 WAIT &H3DA, 8, 8
  295.                 SELECT CASE KTurn
  296.                     CASE 0: PUT (KongX, KongY), KongBOX(4051), PSET: KTurn = 1
  297.                     CASE 1: PUT (KongX, KongY), KongBOX(4501), PSET: KTurn = 2
  298.                 END SELECT
  299.             END IF
  300.  
  301.             IF x# > YoungX AND YTurn < 7 THEN
  302.                 WAIT &H3DA, 8
  303.                 WAIT &H3DA, 8, 8
  304.                 SELECT CASE YTurn
  305.                     CASE 2: PUT (YoungX, YoungY), YoungBOX(2701), PSET: YTurn = 3
  306.                     CASE 3: PUT (YoungX, YoungY), YoungBOX(3151), PSET: YTurn = 4
  307.                     CASE 4: PUT (YoungX, YoungY), YoungBOX(3601), PSET: YTurn = 5
  308.                     CASE 5: PUT (YoungX, YoungY), YoungBOX(4051), PSET: YTurn = 6
  309.                     CASE 6: PUT (YoungX, YoungY), YoungBOX(4501), PSET: YTurn = 7
  310.                 END SELECT
  311.             END IF
  312.  
  313.             IF x# < KongX + 40 AND KTurn < 7 THEN
  314.                 WAIT &H3DA, 8
  315.                 WAIT &H3DA, 8, 8
  316.                 SELECT CASE KTurn
  317.                     CASE 2: PUT (KongX, KongY), KongBOX(4501), PSET: KTurn = 3
  318.                     CASE 3: PUT (KongX, KongY), KongBOX(4051), PSET: KTurn = 4
  319.                     CASE 4: PUT (KongX, KongY), KongBOX(3601), PSET: KTurn = 5
  320.                     CASE 5: PUT (KongX, KongY), KongBOX(3151), PSET: KTurn = 6
  321.                     CASE 6: PUT (KongX, KongY), KongBOX(2701), PSET: KTurn = 7
  322.                 END SELECT
  323.             END IF
  324.         END IF
  325.  
  326.     LOOP UNTIL x# < 3 OR x# > 627
  327.  
  328.     IF x# >= 0 AND x# <= 627 THEN 'erase banana to end toss sequence -------
  329.         IF y# >= 40 THEN
  330.             PUT (x#, y#), Banana(801), PSET
  331.         END IF
  332.     END IF
  333.  
  334.     BananaTOSS = 3
  335.  
  336.  
  337. SUB ClearMOUSE
  338.  
  339.     ' WHILE LB OR RB
  340.     ' MouseSTATUS LB, RB, MouseX, MouseY
  341.     '  WEND
  342.         a% = _MOUSEINPUT
  343.     LOOP
  344.  
  345. FUNCTION Computer
  346.     STATIC CompSPEED, CompANGLE, XDiff, YDiff, FinalX
  347.  
  348.     'The computer's gameplay is designed to imitate the play of a
  349.     'real person. The first shot is established as an educated guess
  350.     'with a touch of randomness. On subsequent shots, the formula
  351.     'modifies Speed# and Angle# based on the outcome of this first shot.
  352.     'Sometimes, just like a real person, the first shot will score a
  353.     'hit. Other times, it is a long and embarassing process.
  354.  
  355.     'Computer-shot computation formulas
  356.     IF CompTOSS = 0 THEN
  357.         XDiff = YoungX - KongX
  358.         YDiff = KongY - YoungY
  359.         CompSPEED = XDiff / (FIX(RND * 2) + 6) + Wind!
  360.         CompANGLE = 35 - (YDiff / 5)
  361.         CompTOSS = 1
  362.     ELSE
  363.         IF KongX > FinalX THEN
  364.             CompSPEED = CompSPEED * .9
  365.         ELSE
  366.             CompSPEED = CompSPEED * 1.2
  367.             IF YoungX - FinalX < 100 THEN 'Oops! Tall building
  368.                 CompANGLE = CompANGLE + 10
  369.             ELSE
  370.                 CompANGLE = CompANGLE + 3
  371.             END IF
  372.         END IF
  373.     END IF
  374.     IF CompSPEED > 99 THEN CompSPEED = 99
  375.     IF CompSPEED < 0 THEN CompSPEED = 0
  376.     IF CompANGLE > 70 THEN CompANGLE = 70
  377.     IF CompANGLE < 0 THEN CompANGLE = 0
  378.  
  379.     Speed# = CompSPEED
  380.     Angle# = CompANGLE
  381.     Sliders INT(Speed#), 1
  382.     Sliders INT(Angle#), 2
  383.     Interval 1
  384.  
  385.     SELECT CASE BananaTOSS 'Call to BananaTOSS FUNCTION -----------
  386.         CASE 1 'Kong exploded Young
  387.             IF KScore = 3 THEN 'Kong wins
  388.                 Computer = 2 'Game over
  389.                 EXIT FUNCTION
  390.             END IF
  391.             Computer = 1 'Reset screen
  392.             EXIT FUNCTION
  393.         CASE 2 'Young exploded Kong
  394.             IF YScore = 3 THEN 'Young wins
  395.                 Computer = 2 'Game over
  396.                 EXIT FUNCTION
  397.             END IF
  398.             Computer = 1 'Reset screen
  399.             EXIT FUNCTION
  400.         CASE 3 'Building explosion or banana out-of-play
  401.             FinalX = x#
  402.             Computer = -1 'Change player
  403.             EXIT FUNCTION
  404.     END SELECT
  405.  
  406.     Computer = 0 'No action required
  407.  
  408.  
  409. FUNCTION ControlPANEL
  410.     SHARED Player1SPEED#, Player2SPEED#
  411.     SHARED Player1ANGLE#, Player2ANGLE#
  412.  
  413.     SELECT CASE MouseX
  414.         CASE 147 TO 246
  415.             IF MouseY > 441 AND MouseY < 463 THEN
  416.                 IF LB = -1 THEN
  417.                     Speed# = MouseX - 147
  418.                     IF Speed# < 0 THEN Speed# = 0
  419.                     IF Speed# > 99 THEN Speed# = 99
  420.                     SELECT CASE Ape
  421.                         CASE 1
  422.                             Player1SPEED# = Speed#
  423.                         CASE 2
  424.                             Player2SPEED# = Speed#
  425.                     END SELECT
  426.                     Sp = INT(Speed#)
  427.                     Sliders Sp, 1
  428.                 END IF
  429.             END IF
  430.         CASE 385 TO 499
  431.             IF MouseY > 423 AND MouseY < 463 THEN
  432.                 IF LB = -1 THEN
  433.                     Angle# = 494 - MouseX
  434.                     IF Angle# < 0 THEN Angle# = 0
  435.                     IF Angle# > 90 THEN Angle# = 90
  436.                     SELECT CASE Ape
  437.                         CASE 1
  438.                             Player1ANGLE# = Angle#
  439.                         CASE 2
  440.                             Player2ANGLE# = Angle#
  441.                     END SELECT
  442.                     An = INT(Angle#)
  443.                     Sliders An, 2
  444.                 END IF
  445.             END IF
  446.         CASE 305 TO 335
  447.             IF MouseY > 423 AND MouseY < 452 THEN
  448.                 IF LB = -1 THEN
  449.                     HideMOUSE
  450.                     GET (308, 427)-(331, 447), Box(25500)
  451.                     GET (311, 430)-(328, 444), Box(25000)
  452.                     PUT (310, 429), Box(25000), PSET
  453.                     LINE (309, 428)-(330, 446), 1, B
  454.                     LINE (308, 428)-(331, 448), 10, B
  455.                     LINE (331, 429)-(331, 447), 8
  456.                     LINE (308, 448)-(330, 448), 8
  457.                     ShowMOUSE
  458.                     Interval .2
  459.                     HideMOUSE
  460.                     PUT (308, 427), Box(25500), PSET
  461.                     ShowMOUSE
  462.                     SELECT CASE BananaTOSS 'Call to BananaTOSS FUNCTION -----------
  463.                         CASE 1 'Kong exploded Young
  464.                             IF KScore = 3 THEN 'Kong wins
  465.                                 ControlPANEL = 2 'Game over
  466.                                 EXIT FUNCTION
  467.                             END IF
  468.                             ControlPANEL = 1 'Reset screen
  469.                             EXIT FUNCTION
  470.                         CASE 2 'Young exploded Kong
  471.                             IF YScore = 3 THEN 'Young wins
  472.                                 ControlPANEL = 2 'Game over
  473.                                 EXIT FUNCTION
  474.                             END IF
  475.                             ControlPANEL = 1 'Reset screen
  476.                             EXIT FUNCTION
  477.                         CASE 3 'Building explosion or banana out-of-play
  478.                             ControlPANEL = -1 'Change player
  479.                             EXIT FUNCTION
  480.                     END SELECT
  481.                 END IF
  482.             END IF
  483.     END SELECT
  484.     ControlPANEL = 0 'No action required
  485.  
  486.  
  487. SUB DoAPES
  488.  
  489.     KongX = LBldg * 80 - 59
  490.     KongY = Buildings(LBldg, 2) - 42
  491.     YoungX = RBldg * 80 - 59
  492.     YoungY = Buildings(RBldg, 2) - 42
  493.  
  494.     DEF SEG = VARSEG(Box(1))
  495.     BLOAD "KongMJY.BSV", VARPTR(Box(1))
  496.     DEF SEG
  497.     ApeINDEX = 1
  498.     GET (YoungX, YoungY)-(YoungX + 38, YoungY + 42), YoungBOX(5000)
  499.     FOR Index = 1 TO 9001 STEP 900
  500.         PUT (YoungX, YoungY), YoungBOX(5000), PSET
  501.         PUT (YoungX, YoungY), Box(Index + 450), AND
  502.         PUT (YoungX, YoungY), Box(Index)
  503.         GET (YoungX, YoungY)-(YoungX + 38, YoungY + 42), YoungBOX(ApeINDEX)
  504.         ApeINDEX = ApeINDEX + 450
  505.     NEXT Index
  506.  
  507.     DEF SEG = VARSEG(Box(1))
  508.     BLOAD "KongKONG.BSV", VARPTR(Box(1))
  509.     DEF SEG
  510.     ApeINDEX = 1
  511.     GET (KongX, KongY)-(KongX + 38, KongY + 42), KongBOX(5000)
  512.     FOR Index = 1 TO 9001 STEP 900
  513.         PUT (KongX, KongY), KongBOX(5000), PSET
  514.         PUT (KongX, KongY), Box(Index + 450), AND
  515.         PUT (KongX, KongY), Box(Index)
  516.         GET (KongX, KongY)-(KongX + 38, KongY + 42), KongBOX(ApeINDEX)
  517.         ApeINDEX = ApeINDEX + 450
  518.     NEXT Index
  519.  
  520.     PUT (KongX, KongY), KongBOX(2251), PSET
  521.     PUT (YoungX, YoungY), YoungBOX(2251), PSET
  522.  
  523.     DEF SEG = VARSEG(Box(1))
  524.     BLOAD "KongEXPL.BSV", VARPTR(Box(1))
  525.     DEF SEG
  526.  
  527.  
  528. SUB DrawSCREEN
  529.  
  530.     'Main screen background/title bar and control panel
  531.     CLS
  532.     DEF SEG = VARSEG(Box(1))
  533.     FileCOUNT = 0
  534.     FOR y = 0 TO 320 STEP 160
  535.         FileCOUNT = FileCOUNT + 1
  536.         FileNAME$ = "KongSCR" + LTRIM$(STR$(FileCOUNT)) + ".BSV"
  537.         BLOAD FileNAME$, VARPTR(Box(1))
  538.         PUT (0, y), Box(), PSET
  539.     NEXT y
  540.     DEF SEG
  541.  
  542.     'Shuffle buildings order
  543.     FOR n = 8 TO 2 STEP -1
  544.         Tower = INT(RND * n) + 1
  545.         SWAP Buildings(n, 1), Buildings(Tower, 1)
  546.     NEXT n
  547.  
  548.     LBldg = FIX(RND * 3) + 1
  549.     RBldg = FIX(RND * 3) + 6
  550.  
  551.     'Set buildings order/ save height information to array
  552.     x = 0
  553.     DEF SEG = VARSEG(Box(1))
  554.     FOR n = 1 TO 8
  555.         FileNAME$ = "KongBLD" + LTRIM$(STR$(Buildings(n, 1))) + ".BSV"
  556.         BLOAD FileNAME$, VARPTR(Box(1))
  557.         Height = 165 + FIX(RND * 160)
  558.         IF n = LBldg AND Height > 264 THEN Height = 264
  559.         IF n = RBldg AND Height > 264 THEN Height = 264
  560.         Buildings(n, 2) = Height
  561.         Box(2001) = 405 - (Height + Box(1))
  562.         PUT (x, Height + Box(1)), Box(2000), PSET
  563.         PUT (x, Height + Box(1) - 45), Box(1000), AND
  564.         PUT (x, Height + Box(1) - 45), Box(2)
  565.         x = x + 80
  566.     NEXT n
  567.  
  568.     'Street lights
  569.     FOR x = 19 TO 639 STEP 120
  570.         LINE (x, 360)-(x + 1, 400), 10, B
  571.         CIRCLE (x + 8, 364), 2, 15
  572.         PAINT STEP(0, 0), 15
  573.         CIRCLE STEP(0, 0), 5, 8
  574.     NEXT x
  575.  
  576.     'Foreground building silhouettes
  577.     BLOAD "KongFBLD.BSV", VARPTR(Box(1))
  578.     DEF SEG
  579.     PUT (0, 362), Box(7000), AND
  580.     PUT (0, 362), Box()
  581.  
  582.     SetWIND
  583.     Sliders 0, 1
  584.     Sliders 0, 2
  585.     PrintSCORE 1, KScore
  586.     PrintSCORE 2, YScore
  587.  
  588.  
  589. SUB Explode (What)
  590.     STATIC BlastCOUNT
  591.  
  592.     SELECT CASE What
  593.         CASE 1
  594.             Ex = x# - 26: Ey = y# - 26
  595.             GOSUB FirstBLAST
  596.             Ex = KongX - 12: Ey = KongY - 12
  597.             Dx = KongX - 4: Dy = KongY + 20
  598.         CASE 2
  599.             Ex = x# - 26: Ey = y# - 26
  600.             GOSUB FirstBLAST
  601.             Ex = YoungX - 12: Ey = YoungY - 12
  602.             Dx = YoungX - 4: Dy = YoungY + 20
  603.         CASE 3
  604.             Ex = x# - 26: Ey = y# - 26
  605.             Dx = x# - 20: Dy = y# - 20
  606.     END SELECT
  607.  
  608.     IF Ex + 62 > 639 THEN Ex = 639 - 62
  609.     IF Ex < 0 THEN Ex = 0
  610.     GET (Ex, Ey)-(Ex + 62, Ey + 62), ExplosionBACK()
  611.  
  612.     FOR Index = 1 TO 14421 STEP 2060
  613.         PUT (Ex, Ey), ExplosionBACK(), PSET
  614.         IF Index = 4121 THEN
  615.             IF What = 1 THEN
  616.                 PUT (KongX, KongY), KongBOX(5000), PSET
  617.             ELSEIF What = 2 THEN
  618.                 PUT (YoungX, YoungY), YoungBOX(5000), PSET
  619.             END IF
  620.             GOSUB Damage
  621.             GET (Ex, Ey)-(Ex + 62, Ey + 62), ExplosionBACK()
  622.         END IF
  623.         PUT (Ex, Ey), Box(Index + 1030), AND
  624.         PUT (Ex, Ey), Box(Index), XOR
  625.         Interval .05
  626.         WAIT &H3DA, 8
  627.         WAIT &H3DA, 8, 8
  628.     NEXT Index
  629.  
  630.     PUT (Ex, Ey), ExplosionBACK(), PSET
  631.  
  632.     EXIT SUB
  633.  
  634.     Damage:
  635.     OPEN "KongCRTR.DAT" FOR INPUT AS #2
  636.     INPUT #2, Wdth, Dpth
  637.     BlastCOUNT = BlastCOUNT + 1
  638.     SELECT CASE BlastCOUNT
  639.         CASE 1
  640.             FOR cx = Dx + Wdth TO Dx STEP -1
  641.                 FOR cy = Dy + Dpth TO Dy STEP -1
  642.                     GOSUB DrawCRATER
  643.                 NEXT cy
  644.             NEXT cx
  645.         CASE 2
  646.             FOR cx = Dx TO Dx + Wdth
  647.                 FOR cy = Dy TO Dy + Dpth
  648.                     GOSUB DrawCRATER
  649.                 NEXT cy
  650.             NEXT cx
  651.             BlastCOUNT = 0
  652.     END SELECT
  653.     CLOSE #2
  654.     RETURN
  655.  
  656.     DrawCRATER:
  657.     INPUT #2, Colr
  658.     IF Colr <> 0 THEN
  659.         IF POINT(cx, cy) <> 0 AND POINT(cx, cy) <> 12 THEN
  660.             PSET (cx, cy), Colr
  661.         END IF
  662.     END IF
  663.     RETURN
  664.  
  665.     FirstBLAST:
  666.     IF Ex < 0 THEN Ex = 0
  667.     IF Ex + 62 > 639 THEN Ex = 577
  668.     GET (Ex, Ey)-(Ex + 62, Ey + 62), ExplosionBACK()
  669.     FOR Index = 1 TO 6181 STEP 2060
  670.         Interval 0
  671.         WAIT &H3DA, 8
  672.         WAIT &H3DA, 8, 8
  673.         PUT (Ex, Ey), ExplosionBACK(), PSET
  674.         PUT (Ex, Ey), Box(Index + 1030), AND
  675.         PUT (Ex, Ey), Box(Index), XOR
  676.     NEXT Index
  677.     PUT (Ex, Ey), ExplosionBACK(), PSET
  678.     RETURN
  679.  
  680.  
  681. SUB Fade (InOUT)
  682.  
  683.     IF InOUT = 1 THEN 'Fade out
  684.         FullFADE! = 1
  685.         DO
  686.             Interval .1
  687.             WAIT &H3DA, 8
  688.             WAIT &H3DA, 8, 8
  689.             FullFADE! = FullFADE! * 1.3
  690.             OUT &H3C8, 0
  691.             FOR n = 1 TO 48
  692.                 OUT &H3C9, INT(FadeBOX(n) / FullFADE!)
  693.             NEXT n
  694.         LOOP WHILE FullFADE! < 20
  695.         OUT &H3C8, 0
  696.         FOR n = 1 TO 48
  697.             OUT &H3C9, 0
  698.         NEXT n
  699.     ELSE 'Fade in
  700.         FullFADE! = 20
  701.         DO
  702.             Interval .1
  703.             WAIT &H3DA, 8
  704.             WAIT &H3DA, 8, 8
  705.             FullFADE! = FullFADE! * .825
  706.             OUT &H3C8, 0
  707.             FOR n = 1 TO 48
  708.                 OUT &H3C9, INT(FadeBOX(n) / FullFADE!)
  709.             NEXT n
  710.         LOOP WHILE FullFADE! > 1.2
  711.         SetPALETTE
  712.     END IF
  713.  
  714.  
  715. SUB FieldMOUSE (x1, y1, x2, y2)
  716.  
  717.     ' MouseDRIVER 7, 0, x1, x2
  718.     ' MouseDRIVER 8, 0, y1, y2
  719.  
  720.  
  721. SUB HideMOUSE
  722.     ' LB = 2
  723.     ' MouseDRIVER LB, 0, 0, 0
  724.  
  725.  
  726. FUNCTION InitMOUSE
  727.  
  728.     '  LB = 0
  729.     '  MouseDRIVER LB, 0, 0, 0
  730.     '  InitMOUSE = LB
  731.     InitMOUSE = -1
  732.  
  733. SUB Instructions
  734.  
  735.     HideMOUSE
  736.     GET (192, 140)-(447, 290), Box(12000)
  737.     ShowMOUSE
  738.  
  739.     FOR n = 1 TO 3
  740.         DEF SEG = VARSEG(Box(1))
  741.         FileNAME$ = "KongINS" + LTRIM$(STR$(n)) + ".BSV"
  742.         BLOAD FileNAME$, VARPTR(Box(1))
  743.         DEF SEG
  744.         HideMOUSE
  745.         PUT (192, 140), Box(), PSET
  746.         ShowMOUSE
  747.         GOSUB ClickARROW
  748.     NEXT n
  749.  
  750.     HideMOUSE
  751.     PUT (192, 140), Box(12000), PSET
  752.     ShowMOUSE
  753.  
  754.     DEF SEG = VARSEG(Box(1))
  755.     BLOAD "KongEXPL.BSV", VARPTR(Box(1))
  756.     DEF SEG
  757.  
  758.     EXIT SUB
  759.  
  760.     ClickARROW:
  761.     DO
  762.         MouseSTATUS LB, RB, MouseX, MouseY
  763.         SELECT CASE MouseX
  764.             CASE 400 TO 424
  765.                 IF MouseY > 154 AND MouseY < 168 THEN
  766.                     IF Arrow = 0 THEN
  767.                         HideMOUSE
  768.                         GET (400, 154)-(424, 167), Box(25000)
  769.                         FOR x = 400 TO 424
  770.                             FOR y = 154 TO 167
  771.                                 IF POINT(x, y) = 6 THEN PSET (x, y), 13
  772.                             NEXT y
  773.                         NEXT x
  774.                         ShowMOUSE
  775.                         Arrow = 1
  776.                     END IF
  777.                 ELSE
  778.                     IF Arrow THEN
  779.                         HideMOUSE
  780.                         PUT (400, 154), Box(25000), PSET
  781.                         ShowMOUSE
  782.                         Arrow = 0
  783.                     END IF
  784.                 END IF
  785.             CASE ELSE
  786.                 IF Arrow THEN
  787.                     HideMOUSE
  788.                     PUT (400, 154), Box(25000), PSET
  789.                     ShowMOUSE
  790.                     Arrow = 0
  791.                 END IF
  792.         END SELECT
  793.         IF Arrow = 1 AND LB = -1 THEN
  794.             PUT (400, 154), Box(25000), PSET
  795.             ClearMOUSE
  796.             Arrow = 0
  797.             RETURN
  798.         END IF
  799.     LOOP
  800.     RETURN
  801.  
  802.  
  803. DEFSNG A-Z
  804. SUB Interval (Length!)
  805.  
  806.     OldTIMER# = TIMER
  807.     DO
  808.         IF TIMER < OldTIMER# THEN EXIT SUB
  809.     LOOP UNTIL TIMER > OldTIMER# + Length!
  810.     WAIT &H3DA, 8
  811.  
  812.  
  813. DEFINT A-Z
  814. SUB LocateMOUSE (x, y)
  815.     _MOUSEMOVE x, y
  816.     ' LB = 4
  817.     ' MX = x
  818.     ' MY = y
  819.     ' MouseDRIVER LB, 0, MX, MY
  820.  
  821.  
  822. SUB MouseDRIVER (LB, RB, MX, MY)
  823.  
  824.     DEF SEG = VARSEG(MouseDATA$)
  825.     Mouse = SADD(MouseDATA$)
  826.     CALL ABSOLUTE(LB, RB, MX, MY, Mouse)
  827.  
  828.  
  829. SUB MouseSTATUS (LB, RB, MouseX, MouseY)
  830.     a% = _MOUSEINPUT
  831.     ' LB = 3
  832.     ' MouseDRIVER LB, RB, MX, MY
  833.     LB = _MOUSEBUTTON(1) ' ((RB AND 1) <> 0)
  834.     RB = _MOUSEBUTTON(2) '((RB AND 2) <> 0)
  835.     MouseX = _MOUSEX
  836.     MouseY = _MOUSEY
  837.  
  838.  
  839. SUB PauseMOUSE (OldLB, OldRB, OldMX, OldMY)
  840.  
  841.  
  842.     SHARED Key$
  843.  
  844.     DO
  845.         Key$ = UCASE$(INKEY$)
  846.         'MouseSTATUS LB, RB, MouseX, MouseY
  847.         a% = _MOUSEINPUT
  848.         LB = _MOUSEBUTTON(1)
  849.         RB = _MOUSEBUTTON(2)
  850.         MouseX = _MOUSEX
  851.         MouseY = _MOUSEY
  852.     LOOP UNTIL LB <> OldLB OR RB <> OldRB OR MouseX <> OldMX OR MouseY <> OldMY OR Key$ <> ""
  853.  
  854.  
  855. SUB PlayGAME
  856.     STATIC Started
  857.     SHARED Player1SPEED#, Player2SPEED#
  858.     SHARED Player1ANGLE#, Player2ANGLE#
  859.  
  860.     DrawSCREEN
  861.     DoAPES
  862.     CompTOSS = 0
  863.  
  864.     Fade 2
  865.  
  866.     DO
  867.         IF Started = 0 THEN
  868.             KScore = 0: YScore = 0
  869.             PrintSCORE 1, KScore
  870.             PrintSCORE 2, YScore
  871.             StartUP
  872.             Started = 1
  873.             IF NumPLAYERS = 2 THEN
  874.                 Ape = FIX(RND * 2) + 1
  875.                 Player1SPEED# = 0: Player2SPEED# = 0
  876.                 Player1ANGLE# = 0: Player2ANGLE# = 0
  877.             ELSE
  878.                 Ape = 2
  879.             END IF
  880.             ClearMOUSE
  881.         END IF
  882.  
  883.         IF Ape = 1 THEN Ape = 2 ELSE Ape = 1
  884.  
  885.         IF Ape = 1 THEN
  886.             YTurn = 0: KTurn = 7
  887.             LINE (73, 473)-(97, 474), 13, B 'LED's
  888.             LINE (540, 473)-(564, 474), 10, B
  889.             PUT (KongX, KongY), KongBOX(), PSET
  890.             Speed# = Player1SPEED#: Angle# = Player1ANGLE#
  891.             Sliders INT(Player1SPEED#), 1
  892.             Sliders INT(Player1ANGLE#), 0
  893.         ELSE
  894.             YTurn = 7: KTurn = 0
  895.             LINE (73, 473)-(97, 474), 10, B 'LED's
  896.             LINE (540, 473)-(564, 474), 13, B
  897.             PUT (YoungX, YoungY), YoungBOX(), PSET
  898.             Speed# = Player2SPEED#: Angle# = Player2ANGLE#
  899.             Sliders INT(Player2SPEED#), 1
  900.             Sliders INT(Player2ANGLE#), 0
  901.         END IF
  902.         IF NumPLAYERS = 1 AND Ape = 2 THEN LocateMOUSE 319, 440
  903.         ShowMOUSE
  904.  
  905.         DO
  906.             MouseSTATUS LB, RB, MouseX, MouseY
  907.             SELECT CASE MouseY
  908.                 CASE 18 TO 27
  909.                     TopMENU 1
  910.                 CASE 424 TO 462
  911.                     IF NumPLAYERS = 1 AND Ape = 2 THEN
  912.                         SELECT CASE Computer 'Call to Computer FUNCTION
  913.                             CASE -1: EXIT DO 'Change player
  914.                             CASE 1 'Reset screen
  915.                                 Fade 1
  916.                                 HideMOUSE
  917.                                 Player1SPEED# = 0: Player2SPEED# = 0
  918.                                 Player1ANGLE# = 0: Player2ANGLE# = 0
  919.                                 EXIT SUB
  920.                             CASE 2: GOSUB EndGAME 'Game over
  921.                         END SELECT
  922.                     ELSE
  923.                         SELECT CASE ControlPANEL 'Call to ControlPANEL FUNCTION
  924.                             CASE -1: EXIT DO 'Change player
  925.                             CASE 1 'Reset screen
  926.                                 Fade 1
  927.                                 HideMOUSE
  928.                                 Player1SPEED# = 0: Player2SPEED# = 0
  929.                                 Player1ANGLE# = 0: Player2ANGLE# = 0
  930.                                 EXIT SUB
  931.                             CASE 2: GOSUB EndGAME 'Game over
  932.                         END SELECT
  933.                     END IF
  934.                 CASE ELSE
  935.                     IF Item THEN TopMENU 0
  936.             END SELECT
  937.         LOOP
  938.  
  939.     LOOP
  940.  
  941.     EXIT SUB
  942.  
  943.     EndGAME:
  944.     DEF SEG = VARSEG(Box(1))
  945.     IF KScore = 3 THEN
  946.         BLOAD "KongWINK.BSV", VARPTR(Box(1))
  947.     ELSE
  948.         BLOAD "KongWINY.BSV", VARPTR(Box(1))
  949.     END IF
  950.     DEF SEG
  951.     wx = (640 - Box(1)) / 2
  952.     WAIT &H3DA, 8
  953.     WAIT &H3DA, 8, 8
  954.     PUT (wx, 160), Box(), PSET
  955.     a$ = INPUT$(1)
  956.     IF a$ = CHR$(13) THEN
  957.         Started = 0
  958.         Fade 1
  959.         Player1SPEED# = 0: Player2SPEED# = 0
  960.         Player1ANGLE# = 0: Player2ANGLE# = 0
  961.         HideMOUSE
  962.         EXIT SUB
  963.     END IF
  964.     SYSTEM
  965.     RETURN
  966.  
  967.  
  968. SUB PrintSCORE (Ape, Score)
  969.  
  970.     IF Ape = 1 THEN
  971.         PUT (19, 452), NumBOX(Score * 75 + 1), PSET
  972.     ELSE
  973.         PUT (604, 452), NumBOX(Score * 75 + 1), PSET
  974.     END IF
  975.  
  976.  
  977. SUB SetPALETTE
  978.  
  979.     RESTORE PaletteDATA
  980.     OUT &H3C8, 0
  981.     FOR n = 1 TO 48
  982.         READ Intensity
  983.         OUT &H3C9, Intensity
  984.     NEXT n
  985.  
  986.  
  987. SUB SetWIND
  988.  
  989.     Wind! = FIX(RND * 17) - 8
  990.     LINE (291, 462)-(349, 476), 7, BF
  991.     IF Wind! = 0 THEN
  992.         PUT (298, 465), LilBOX(), PSET
  993.     ELSE
  994.         IF Wind! < 0 THEN
  995.             PSET (320 + ABS(Wind! * 2) + 3, 466), 13
  996.             DRAW "L10"
  997.             DRAW "L" + LTRIM$(STR$(ABS(Wind! * 3))) + "U3 G6 F6 U3 R10"
  998.             DRAW "R" + LTRIM$(STR$(ABS(Wind! * 3))) + "U6 bg3 p13,13"
  999.         ELSE
  1000.             PSET (320 - Wind! * 2 - 3, 466), 13
  1001.             DRAW "R10"
  1002.             DRAW "R" + LTRIM$(STR$(ABS(Wind! * 3))) + "U3 F6 G6 U3 L10"
  1003.             DRAW "L" + LTRIM$(STR$(ABS(Wind! * 3))) + "U6 bf3 p13,13"
  1004.         END IF
  1005.     END IF
  1006.  
  1007.  
  1008. SUB ShowMOUSE
  1009.     'LB = 1
  1010.     'MouseDRIVER LB, 0, 0, 0
  1011.  
  1012. SUB Sliders (Value, Slider)
  1013.     STATIC LeftX, RightX
  1014.  
  1015.     IF LeftX = 0 THEN LeftX = 141
  1016.     IF RightX = 0 THEN RightX = 484
  1017.     WAIT &H3DA, 8
  1018.     WAIT &H3DA, 8, 8
  1019.  
  1020.     HideMOUSE
  1021.     IF Slider = 1 THEN
  1022.         PUT (LeftX, 443), SliderBOX(281), PSET
  1023.         LeftX = 141 + Value
  1024.         GET (LeftX, 443)-(LeftX + 10, 461), SliderBOX(281)
  1025.         PUT (LeftX, 443), SliderBOX(201), PSET
  1026.     ELSE
  1027.         PUT (RightX, 443), SliderBOX(361), PSET
  1028.         RightX = 489 - Value
  1029.         GET (RightX, 443)-(RightX + 10, 461), SliderBOX(361)
  1030.         PUT (RightX, 443), SliderBOX(201), PSET
  1031.     END IF
  1032.     ShowMOUSE
  1033.  
  1034.     GOSUB SetNUMS
  1035.  
  1036.     EXIT SUB
  1037.  
  1038.     SetNUMS:
  1039.     Num$ = LTRIM$(STR$(Value))
  1040.     IF Value < 10 THEN
  1041.         LNum = 0
  1042.         RNum = VAL(Num$)
  1043.     ELSE
  1044.         LNum = VAL(MID$(Num$, 1, 1))
  1045.         RNum = VAL(MID$(Num$, 2, 1))
  1046.     END IF
  1047.     HideMOUSE
  1048.     IF Slider = 1 THEN
  1049.         PUT (260, 447), SliderBOX(LNum * 20 + 1), PSET
  1050.         PUT (266, 447), SliderBOX(RNum * 20 + 1), PSET
  1051.     ELSE
  1052.         PUT (369, 447), SliderBOX(LNum * 20 + 1), PSET
  1053.         PUT (375, 447), SliderBOX(RNum * 20 + 1), PSET
  1054.     END IF
  1055.     ShowMOUSE
  1056.     RETURN
  1057.  
  1058.  
  1059. SUB StartUP
  1060.  
  1061.     DEF SEG = VARSEG(Box(1))
  1062.     BLOAD "Kong1PL2.BSV", VARPTR(Box(1))
  1063.     DEF SEG
  1064.     GET (209, 160)-(430, 237), Box(12000)
  1065.     PUT (209, 160), Box(), PSET
  1066.     LocateMOUSE 340, 190
  1067.     ShowMOUSE
  1068.  
  1069.     DO
  1070.         MouseSTATUS LB, RB, MouseX, MouseY
  1071.         SELECT CASE MouseX
  1072.             CASE 244 TO 270
  1073.                 IF Item = 0 THEN
  1074.                     SELECT CASE MouseY
  1075.                         CASE 193 TO 205
  1076.                             IF LB THEN
  1077.                                 ButtonX = 245: ButtonY = 194
  1078.                                 GOSUB Clicker
  1079.                                 NumPLAYERS = 2
  1080.                                 FileNAME$ = "KongOPEN.BSV"
  1081.                                 GOSUB LoadFILE
  1082.                             END IF
  1083.                         CASE 209 TO 221
  1084.                             IF LB THEN
  1085.                                 ButtonX = 245: ButtonY = 210
  1086.                                 GOSUB Clicker
  1087.                                 NumPLAYERS = 1
  1088.                                 FileNAME$ = "Kong1PLR.BSV"
  1089.                                 GOSUB LoadFILE
  1090.                             END IF
  1091.                     END SELECT
  1092.                 END IF
  1093.             CASE 340 TO 366
  1094.                 IF Item = 1 THEN
  1095.                     IF MouseY > 209 AND MouseY < 221 THEN
  1096.                         IF LB THEN
  1097.                             ButtonX = 340: ButtonY = 210
  1098.                             GOSUB Clicker
  1099.                             EXIT DO
  1100.                         END IF
  1101.                     END IF
  1102.                 END IF
  1103.         END SELECT
  1104.     LOOP
  1105.  
  1106.     HideMOUSE
  1107.     PUT (209, 160), Box(12000), PSET
  1108.     ShowMOUSE
  1109.     Item = 0
  1110.     DEF SEG = VARSEG(Box(1))
  1111.     BLOAD "KongEXPL.BSV", VARPTR(Box(1))
  1112.     DEF SEG
  1113.  
  1114.     EXIT SUB
  1115.  
  1116.     LoadFILE:
  1117.     DEF SEG = VARSEG(Box(1))
  1118.     BLOAD FileNAME$, VARPTR(Box(21500))
  1119.     DEF SEG
  1120.     HideMOUSE
  1121.     PUT (209, 160), Box(21500), PSET
  1122.     ShowMOUSE
  1123.     RETURN
  1124.  
  1125.     Clicker:
  1126.     HideMOUSE
  1127.     GET (ButtonX, ButtonY)-(ButtonX + 24, ButtonY + 10), Box(20000)
  1128.     LINE (ButtonX, ButtonY)-(ButtonX + 24, ButtonY + 10), 8, B
  1129.     ShowMOUSE
  1130.     Interval .1
  1131.     HideMOUSE
  1132.     PUT (ButtonX, ButtonY), Box(20000), PSET
  1133.     ShowMOUSE
  1134.     Interval .01
  1135.     Item = Item + 1
  1136.     RETURN
  1137.  
  1138.  
  1139. SUB TopMENU (InOUT)
  1140.     STATIC MX1
  1141.  
  1142.     IF InOUT = 0 THEN GOSUB DeLIGHT: EXIT SUB
  1143.  
  1144.     SELECT CASE MouseX
  1145.         CASE 20 TO 72
  1146.             IF Item <> 1 THEN
  1147.                 GOSUB DeLIGHT
  1148.                 MX1 = 20: MX2 = 72
  1149.                 GOSUB HiLIGHT
  1150.                 Item = 1
  1151.             END IF
  1152.         CASE 594 TO 616
  1153.             IF Item <> 2 THEN
  1154.                 GOSUB DeLIGHT
  1155.                 MX1 = 594: MX2 = 616
  1156.                 GOSUB HiLIGHT
  1157.                 Item = 2
  1158.             END IF
  1159.         CASE ELSE
  1160.             GOSUB DeLIGHT
  1161.     END SELECT
  1162.  
  1163.     IF LB = -1 AND Item THEN
  1164.         SELECT CASE Item
  1165.             CASE 1: GOSUB DeLIGHT: Instructions
  1166.             CASE 2: GOSUB DeLIGHT: SYSTEM
  1167.         END SELECT
  1168.     END IF
  1169.  
  1170.     EXIT SUB
  1171.  
  1172.     HiLIGHT:
  1173.     HideMOUSE
  1174.     GET (MX1, 18)-(MX2, 27), Box(25000)
  1175.     FOR x = MX1 TO MX2
  1176.         FOR y = 18 TO 27
  1177.             IF POINT(x, y) <> 1 AND POINT(x, y) <> 2 THEN
  1178.                 PSET (x, y), 13
  1179.             END IF
  1180.         NEXT y
  1181.     NEXT x
  1182.     ShowMOUSE
  1183.     RETURN
  1184.  
  1185.     DeLIGHT:
  1186.     IF Item THEN
  1187.         HideMOUSE
  1188.         PUT (MX1, 18), Box(25000), PSET
  1189.         ShowMOUSE
  1190.     END IF
  1191.     Item = 0
  1192.     RETURN
  1193.  
  1194.  

K1 (first graphic maker file)

Code: QB64: [Select]
  1. 'K1.BAS: Creates graphics files for KONG.BAS, -chains K2.BAS
  2. '-----------------------------------------------------------
  3. DEFINT A-Z
  4. DIM Box(1 TO 26000)
  5. DIM FontBOX(4701)
  6.  
  7. GOSUB SetPALETTE
  8. GOSUB DrawIMAGE
  9. GOSUB GetNUMS
  10. GOSUB GetBANANA
  11. GOSUB GetFONT
  12. GOSUB GetEXPLOSION
  13. GOSUB GetAPES
  14.  
  15. Wdth = 45
  16. Dpth = 36
  17. OPEN "KongCRTR.DAT" FOR OUTPUT AS #1
  18. WRITE #1, Wdth, Dpth
  19. FOR x = 555 TO 555 + Wdth
  20.     FOR y = 32 TO 32 + Dpth
  21.         WRITE #1, POINT(x, y)
  22.     NEXT y
  23.  
  24. CHAIN "K2"
  25.  
  26.  
  27. GetAPES:
  28. 'Gorilla animation components
  29. xx = 50
  30. FOR x = 20 TO 116 STEP 40
  31.     GET (x, 0)-(x + 33, 42), Box()
  32.     PUT (xx, 200), Box()
  33.     xx = xx + 50
  34. GET (18, 94)-(46, 132), Box()
  35. FOR x = 200 TO 550 STEP 50
  36.     PUT (x, 205), Box()
  37. GET (58, 94)-(96, 119), Box()
  38. PUT (200, 204), Box(), PSET
  39. GET (98, 94)-(136, 119), Box()
  40. PUT (250, 204), Box(), PSET
  41. GET (439, 40)-(466, 68), Box()
  42. PUT (349, 203), Box(), PSET
  43. GET (472, 40)-(504, 68), Box()
  44. PUT (398, 203), Box(), PSET
  45. GET (505, 40)-(545, 68), Box()
  46. PUT (447, 203), Box(), PSET
  47. FOR y = 200 TO 250
  48.     FOR x = 349 TO 500
  49.         PSET (928 - x, y), POINT(x, y)
  50.     NEXT x
  51. FOR y = 200 TO 250
  52.     FOR x = 49 TO 188
  53.         PSET (228 - x, y + 60), POINT(x, y)
  54.     NEXT x
  55. Index = 1
  56. FOR x = 45 TO 545 STEP 50
  57.     GET (x, 200)-(x + 38, 242), Box(Index)
  58.     FOR xx = x TO x + 38
  59.         FOR yy = 200 TO 242
  60.             IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
  61.         NEXT yy
  62.     NEXT xx
  63.     GET (x, 200)-(x + 38, 242), Box(Index + 450)
  64.     PUT (x, 200), Box(Index + 450)
  65.     Index = Index + 900
  66. DEF SEG = VARSEG(Box(1))
  67. BSAVE "KongMJY.BSV", VARPTR(Box(1)), 9900 * 2
  68. Index = 1
  69. FOR x = 145 TO 45 STEP -50
  70.     GET (x, 260)-(x + 38, 302), Box(Index)
  71.     FOR xx = x TO x + 38
  72.         FOR yy = 260 TO 302
  73.             IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
  74.         NEXT yy
  75.     NEXT xx
  76.     GET (x, 260)-(x + 38, 302), Box(Index + 450)
  77.     PUT (x, 260), Box(Index + 450)
  78.     Index = Index + 900
  79. DEF SEG = VARSEG(Box(1))
  80. BSAVE "KongKONG.BSV", VARPTR(Box(1)), 9900 * 2
  81.  
  82. GetBANANA:
  83. Index = 1
  84. FOR y = 0 TO 112 STEP 16 'Banana toss sequence
  85.     GET (0, y)-(11, y + 11), Box(Index)
  86.     FOR xx = 0 TO 11
  87.         FOR yy = y TO y + 11
  88.             IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
  89.         NEXT yy
  90.     NEXT xx
  91.     GET (0, y)-(11, y + 11), Box(Index + 50)
  92.     PUT (0, y), Box(Index + 50)
  93.     Index = Index + 100
  94. PUT (0, 0), Box()
  95. DEF SEG = VARSEG(Box(1))
  96. BSAVE "KongBNNA.BSV", VARPTR(Box(1)), 1600
  97.  
  98. GetEXPLOSION:
  99. Index = 1
  100. FOR x = 130 TO 610 STEP 62
  101.     GET (x, 84)-(x + 61, 145), Box(Index)
  102.     Index = Index + 1030
  103. x = 20
  104. FOR Index = 1 TO 7211 STEP 1030
  105.     PUT (x, 200), Box(Index), PSET
  106.     x = x + 64
  107. NEXT Index
  108. x = 20
  109. FOR Index = 1 TO 14421 STEP 2060
  110.     GET (x, 200)-(x + 61, 263), Box(Index)
  111.     FOR xx = x TO x + 61
  112.         FOR yy = 200 TO 261
  113.             IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
  114.         NEXT yy
  115.     NEXT xx
  116.     GET (x, 200)-(x + 61, 261), Box(Index + 1030)
  117.     PUT (x, 200), Box(Index + 1030)
  118.     x = x + 64
  119. NEXT Index
  120. DEF SEG = VARSEG(Box(1))
  121. BSAVE "KongEXPL.BSV", VARPTR(Box(1)), 16480 * 2&
  122.  
  123. GetFONT:
  124. Index = 2
  125. FOR y = 22 TO 68 STEP 15
  126.     FOR x = 143 TO 420 STEP 12
  127.         GET (x, y)-(x + 11, y + 11), Box(Index)
  128.         PUT (x, y), Box(Index)
  129.         Index = Index + 50
  130.         IF Index = 94 * 50 + 2 THEN EXIT FOR
  131.     NEXT x
  132. FontBOX(0) = 50
  133. FontBOX(1) = 4
  134. FOR Index = 2 TO 93 * 50 + 2 STEP 50
  135.     LINE (0, 200)-(20, 220), 0, BF
  136.     PUT (0, 200), Box(Index)
  137.     x1 = -1: x2 = -1
  138.     FOR x = 0 TO 20
  139.         FOR y = 200 TO 220
  140.             IF POINT(x, y) <> 0 AND x1 = -1 THEN x1 = x
  141.         NEXT y
  142.     NEXT x
  143.     FOR x = 20 TO 0 STEP -1
  144.         FOR y = 200 TO 220
  145.             IF POINT(x, y) <> 0 AND x2 = -1 THEN x2 = x
  146.         NEXT y
  147.     NEXT x
  148.     GET (x1, 200)-(x2 + 1, 211), FontBOX(Index)
  149. NEXT Index
  150. LINE (0, 200)-(20, 220), 0, BF
  151. DEF SEG = VARSEG(FontBOX(0))
  152. BSAVE "Kong.FBS", VARPTR(FontBOX(0)), 4701 * 2
  153. 'GET slider and slider numbers
  154. LINE (300, 200)-(310, 218), 7, BF
  155. LINE (300, 200)-(310, 200), 15
  156. LINE (300, 201)-(310, 201), 9
  157. LINE (300, 202)-(310, 202), 8
  158. LINE (300, 216)-(310, 217), 6, B
  159. LINE (300, 218)-(310, 218), 10
  160. LINE (310, 200)-(310, 218), 10
  161. LINE (302, 202)-(307, 215), 9, BF
  162. LINE (302, 202)-(307, 214), 2, BF
  163. LINE (302, 202)-(307, 202), 1, BF
  164. x = 100: y = 200
  165. FOR n = 15 TO 24
  166.     PUT (x, y), FontBOX(n * FontBOX(0) + 2)
  167.     x = x + 10
  168. FOR x = 100 TO 194
  169.     FOR y = 201 TO 209
  170.         IF POINT(x, y) = 0 THEN PSET (x, y), 10 ELSE PSET (x, y), 13
  171.     NEXT y
  172. Index = 1
  173. FOR x = 100 TO 190 STEP 10
  174.     GET (x, 201)-(x + 4, 209), Box(Index)
  175.     PUT (x, 201), Box(Index)
  176.     Index = Index + 20
  177. GET (300, 200)-(310, 218), Box(201)
  178. PUT (300, 200), Box(201)
  179. DEF SEG = VARSEG(Box(1))
  180. BSAVE "KongSLDR.BSV", VARPTR(Box(1)), 560
  181.  
  182. DrawIMAGE:
  183. MaxWIDTH = 639
  184. MaxDEPTH = 144
  185. x = 0: y = 0
  186. RESTORE ImageDATA:
  187.     READ Count, Colr
  188.     FOR Reps = 1 TO Count
  189.         PSET (x, y), Colr
  190.         x = x + 1
  191.         IF x > MaxWIDTH THEN
  192.             x = 0
  193.             y = y + 1
  194.         END IF
  195.     NEXT Reps
  196. LOOP UNTIL y > MaxDEPTH
  197.  
  198. GetNUMS:
  199. Index = 1
  200. FOR x = 438 TO 512 STEP 24
  201.     IF x = 510 THEN x = 512
  202.     GET (x, 22)-(x + 14, 36), Box(Index)
  203.     Index = Index + 75
  204. DEF SEG = VARSEG(Box(1))
  205. BSAVE "KongNUMS.BSV", VARPTR(Box(1)), 600
  206.  
  207. SetPALETTE:
  208. DATA 0,4,16,0,10,21,0,16,32,32,10,0
  209. DATA 63,0,0,63,32,0,18,18,24,30,30,37
  210. DATA 42,42,50,55,55,63,0,0,0,43,27,19
  211. DATA 8,8,21,0,63,21,63,63,21,63,63,63
  212.  
  213. RESTORE SetPALETTE
  214. OUT &H3C8, 0
  215. FOR n = 1 TO 48
  216.     READ Intensity
  217.     OUT &H3C9, Intensity
  218.  
  219. ImageDATA:
  220. DATA 120,0,1,8,638,0,5,8,213,0,2,4,10,0,2,4,9,0,2,4,66,0
  221. DATA 2,4,142,0,2,12,76,0,1,7,107,0,1,8,6,7,1,6,19,0,2,4
  222. DATA 8,0,4,4,2,0,2,4,20,0,3,4,17,0,2,4,11,0,2,4,2,0,3,4
  223. DATA 5,0,2,4,20,0,3,4,40,0,2,4,7,0,4,4,2,0,4,4,9,0,3,4,5,0
  224. DATA 2,4,6,0,3,4,8,0,3,4,8,0,3,4,5,0,3,4,10,0,3,4,2,0,3,4
  225. DATA 6,0,2,4,2,0,3,4,12,0,2,4,12,0,3,4,5,0,3,4,5,0,2,4,2,0
  226. DATA 3,4,6,0,4,4,6,0,3,4,2,0,2,4,20,0,3,4,76,0,3,4,75,0
  227. DATA 1,14,1,13,59,0,5,11,42,0,1,6,1,0,1,6,1,0,5,6,15,0,5,4
  228. DATA 8,0,9,4,8,0,2,4,6,0,6,4,14,0,5,4,9,0,3,4,1,0,3,4,1,0
  229. DATA 3,4,1,0,5,4,8,0,2,4,6,0,6,4,40,0,3,4,7,0,3,4,2,0,4,4
  230. DATA 6,0,6,4,5,0,4,4,4,0,3,4,2,0,14,4,1,0,5,4,4,0,4,4,9,0
  231. DATA 10,4,3,0,3,4,1,0,3,4,1,0,3,4,8,0,5,4,9,0,5,4,4,0,4,4
  232. DATA 3,0,3,4,1,0,3,4,1,0,3,4,4,0,4,4,5,0,3,4,1,0,5,4,8,0
  233. DATA 2,4,6,0,6,4,28,0,5,4,12,0,4,4,2,0,2,4,15,0,3,4,4,0
  234. DATA 4,4,74,0,1,5,2,14,57,0,8,11,43,0,1,6,1,0,4,6,1,3,1,11
  235. DATA 14,0,4,4,8,0,11,4,6,0,3,4,5,0,7,4,14,0,4,4,10,0,5,4
  236. DATA 4,0,2,4,1,0,6,4,6,0,3,4,5,0,7,4,40,0,3,4,6,0,4,4,1,0
  237. DATA 5,4,5,0,7,4,4,0,5,4,4,0,3,4,1,0,2,4,3,0,4,4,8,0,3,4
  238. DATA 5,0,3,4,13,0,6,4,4,0,5,4,4,0,2,4,7,0,4,4,12,0,3,4,5,0
  239. DATA 3,4,4,0,5,4,4,0,2,4,3,0,4,4,6,0,3,4,1,0,6,4,6,0,3,4
  240. DATA 5,0,7,4,27,0,5,4,13,0,9,4,8,0,2,4,1,0,7,4,3,0,3,4,75,0
  241. DATA 3,14,56,0,9,3,1,11,30,0,5,11,11,0,1,6,2,3,2,11,13,0
  242. DATA 4,4,4,0,2,4,2,0,4,4,4,0,3,4,5,0,4,4,4,0,3,4,1,0,3,4
  243. DATA 15,0,4,4,4,0,2,4,3,0,4,4,6,0,3,4,3,0,3,4,5,0,4,4,4,0
  244. DATA 3,4,1,0,3,4,41,0,3,4,6,0,3,4,2,0,4,4,5,0,3,4,1,0,3,4
  245. DATA 3,0,7,4,4,0,3,4,6,0,3,4,7,0,5,4,5,0,3,4,15,0,2,4,5,0
  246. DATA 4,4,6,0,3,4,5,0,4,4,11,0,5,4,5,0,3,4,3,0,4,4,6,0,3,4
  247. DATA 1,0,5,4,4,0,5,4,4,0,3,4,5,0,4,4,4,0,3,4,1,0,3,4,27,0
  248. DATA 6,4,8,0,3,4,1,0,11,4,6,0,3,4,1,0,3,4,1,0,4,4,1,0,4,4
  249. DATA 74,0,3,14,1,5,55,0,2,11,2,3,2,11,6,3,28,0,1,11,5,3
  250. DATA 1,11,11,0,3,3,2,11,12,0,4,4,4,0,2,4,2,0,4,4,4,0,4,4
  251. DATA 4,0,3,4,4,0,3,4,3,0,2,4,15,0,4,4,4,0,2,4,2,0,4,4,7,0
  252. DATA 3,4,3,0,4,4,4,0,3,4,4,0,3,4,3,0,2,4,41,0,3,4,5,0,4,4
  253. DATA 2,0,4,4,4,0,3,4,3,0,2,4,3,0,2,4,2,0,3,4,4,0,4,4,5,0
  254. DATA 3,4,7,0,4,4,4,0,5,4,15,0,2,4,4,0,4,4,7,0,3,4,4,0,3,4
  255. DATA 13,0,4,4,4,0,5,4,2,0,4,4,7,0,8,4,5,0,4,4,5,0,4,4,4,0
  256. DATA 3,4,4,0,3,4,3,0,2,4,26,0,2,4,1,0,7,4,5,0,3,4,1,0,4,4
  257. DATA 4,0,3,4,5,0,4,4,1,0,2,4,3,0,3,4,2,0,3,4,73,0,4,14,1,5
  258. DATA 20,0,5,11,29,0,8,11,5,3,26,0,2,11,7,3,1,11,11,0,3,3
  259. DATA 2,11,10,0,4,4,4,0,3,4,1,0,5,4,3,0,6,4,2,0,3,4,4,0,3,4
  260. DATA 20,0,4,4,4,0,3,4,2,0,4,4,7,0,2,4,3,0,6,4,2,0,3,4,4,0
  261. DATA 3,4,18,0,4,4,2,0,2,4,8,0,2,4,9,0,5,4,5,0,4,4,1,0,5,4
  262. DATA 3,0,3,4,13,0,3,4,3,0,4,4,5,0,3,4,9,0,3,4,4,0,5,4,14,0
  263. DATA 3,4,4,0,4,4,7,0,2,4,4,0,3,4,15,0,3,4,4,0,5,4,2,0,4,4
  264. DATA 7,0,2,4,3,0,3,4,4,0,5,4,4,0,6,4,2,0,3,4,4,0,3,4,32,0
  265. DATA 6,4,1,0,3,4,4,0,4,4,1,0,4,4,4,0,4,4,4,0,3,4,2,0,3,4
  266. DATA 3,0,2,4,2,0,3,4,72,0,4,14,1,5,20,0,7,11,28,0,1,6,2,10
  267. DATA 1,6,2,10,2,6,5,3,24,0,4,11,8,3,1,11,10,0,5,3,1,11,9,0
  268. DATA 4,4,3,0,4,4,3,0,2,4,4,0,6,4,1,0,3,4,4,0,3,4,7,0,3,4
  269. DATA 11,0,4,4,3,0,4,4,2,0,3,4,8,0,2,4,3,0,6,4,1,0,3,4,4,0
  270. DATA 3,4,7,0,3,4,9,0,3,4,3,0,3,4,3,0,6,4,10,0,5,4,3,0,4,4
  271. DATA 4,0,2,4,3,0,3,4,7,0,3,4,4,0,3,4,2,0,4,4,6,0,3,4,8,0
  272. DATA 4,4,4,0,5,4,8,0,2,4,3,0,3,4,5,0,3,4,8,0,2,4,3,0,3,4
  273. DATA 6,0,2,4,7,0,4,4,4,0,5,4,2,0,3,4,8,0,2,4,2,0,4,4,4,0
  274. DATA 5,4,4,0,6,4,1,0,3,4,4,0,3,4,7,0,3,4,26,0,7,4,5,0,8,4
  275. DATA 3,0,6,4,2,0,3,4,3,0,3,4,6,0,4,4,70,0,3,14,1,11,1,14
  276. DATA 1,5,21,0,2,11,3,3,2,11,27,0,1,3,1,6,1,7,1,6,2,7,2,6
  277. DATA 3,3,2,11,1,3,24,0,2,6,2,11,9,3,1,11,2,0,4,11,4,0,5,3
  278. DATA 1,11,8,0,4,4,2,0,2,4,5,0,3,4,4,0,7,4,1,0,2,4,3,0,4,4
  279. DATA 6,0,4,4,11,0,4,4,2,0,2,4,4,0,4,4,7,0,2,4,4,0,7,4,1,0
  280. DATA 2,4,3,0,4,4,6,0,4,4,8,0,4,4,3,0,2,4,3,0,7,4,8,0,7,4
  281. DATA 2,0,5,4,3,0,3,4,2,0,4,4,6,0,4,4,3,0,3,4,1,0,5,4,6,0
  282. DATA 3,4,9,0,3,4,3,0,3,4,1,0,2,4,9,0,2,4,4,0,2,4,4,0,4,4
  283. DATA 7,0,2,4,4,0,3,4,3,0,4,4,8,0,3,4,3,0,3,4,1,0,2,4,2,0
  284. DATA 4,4,7,0,2,4,3,0,3,4,5,0,5,4,4,0,7,4,1,0,2,4,3,0,4,4
  285. DATA 6,0,4,4,26,0,7,4,5,0,3,4,2,0,2,4,4,0,6,4,1,0,3,4,3,0
  286. DATA 5,4,6,0,2,4,69,0,1,13,2,14,1,11,2,14,1,5,21,0,2,11
  287. DATA 5,3,2,11,26,0,1,3,4,8,1,7,5,3,1,6,1,11,2,3,23,0,1,6
  288. DATA 1,10,1,6,11,3,2,11,4,3,4,11,6,3,1,11,6,0,5,4,1,0,3,4
  289. DATA 5,0,3,4,2,0,4,4,2,0,6,4,3,0,3,4,7,0,3,4,1,0,15,4,1,0
  290. DATA 3,4,4,0,4,4,7,0,2,4,2,0,4,4,2,0,6,4,3,0,3,4,7,0,3,4
  291. DATA 9,0,4,4,3,0,2,4,3,0,6,4,10,0,6,4,2,0,5,4,3,0,3,4,2,0
  292. DATA 3,4,7,0,3,4,4,0,5,4,2,0,2,4,6,0,3,4,9,0,3,4,2,0,3,4
  293. DATA 1,0,3,4,9,0,3,4,3,0,2,4,4,0,4,4,7,0,2,4,3,0,3,4,1,0
  294. DATA 4,4,11,0,3,4,2,0,3,4,1,0,3,4,2,0,4,4,7,0,2,4,3,0,3,4
  295. DATA 4,0,12,4,2,0,6,4,3,0,3,4,7,0,3,4,25,0,5,4,1,0,3,4,5,0
  296. DATA 3,4,1,0,3,4,4,0,7,4,1,0,2,4,4,0,4,4,6,0,2,4,70,0,1,13
  297. DATA 2,14,1,5,19,0,2,11,1,0,1,11,9,3,1,11,25,0,1,3,1,7,1,10
  298. DATA 1,7,1,10,1,7,1,6,4,3,2,11,2,3,1,11,21,0,4,6,6,3,2,11
  299. DATA 19,3,1,11,6,0,4,4,1,0,5,4,4,0,3,4,3,0,3,4,1,0,7,4,3,0
  300. DATA 3,4,6,0,4,4,11,0,4,4,1,0,5,4,3,0,3,4,7,0,2,4,4,0,3,4
  301. DATA 1,0,7,4,3,0,3,4,6,0,4,4,9,0,4,4,2,0,4,4,2,0,5,4,9,0
  302. DATA 4,4,1,0,3,4,1,0,6,4,3,0,3,4,2,0,3,4,6,0,4,4,4,0,3,4
  303. DATA 4,0,2,4,5,0,4,4,9,0,3,4,2,0,2,4,2,0,3,4,10,0,2,4,2,0
  304. DATA 2,4,5,0,3,4,7,0,2,4,3,0,8,4,3,0,2,4,7,0,3,4,2,0,2,4
  305. DATA 2,0,3,4,2,0,3,4,7,0,2,4,4,0,3,4,4,0,7,4,2,0,3,4,1,0
  306. DATA 7,4,3,0,3,4,6,0,4,4,26,0,4,4,1,0,3,4,5,0,3,4,1,0,3,4
  307. DATA 2,0,4,4,2,0,6,4,6,0,3,4,5,0,2,4,91,0,2,11,2,3,1,11
  308. DATA 11,3,3,11,21,0,1,11,7,6,9,3,2,11,18,0,2,8,2,6,7,3,1,6
  309. DATA 1,11,20,3,6,0,4,4,1,0,5,4,3,0,3,4,4,0,2,4,2,0,6,4,4,0
  310. DATA 3,4,4,0,6,4,11,0,4,4,1,0,5,4,3,0,3,4,6,0,2,4,5,0,2,4
  311. DATA 2,0,6,4,4,0,3,4,4,0,6,4,8,0,5,4,1,0,4,4,4,0,4,4,9,0
  312. DATA 4,4,1,0,9,4,3,0,3,4,3,0,3,4,4,0,6,4,3,0,3,4,5,0,2,4
  313. DATA 4,0,4,4,10,0,11,4,11,0,6,4,5,0,3,4,6,0,2,4,4,0,5,4
  314. DATA 4,0,4,4,7,0,11,4,3,0,3,4,6,0,2,4,5,0,3,4,3,0,8,4,2,0
  315. DATA 2,4,2,0,6,4,4,0,3,4,4,0,6,4,24,0,5,4,2,0,4,4,4,0,3,4
  316. DATA 1,0,3,4,3,0,3,4,1,0,7,4,6,0,4,4,3,0,3,4,90,0,1,11,19,3
  317. DATA 1,11,19,0,1,11,1,3,1,6,3,10,2,6,3,3,1,1,7,3,2,11,17,0
  318. DATA 1,7,1,10,1,8,1,6,6,3,2,11,20,3,7,0,6,4,1,0,4,4,3,0
  319. DATA 4,4,2,0,2,4,3,0,5,4,4,0,3,4,3,0,6,4,12,0,6,4,1,0,4,4
  320. DATA 2,0,4,4,3,0,3,4,6,0,2,4,3,0,5,4,4,0,3,4,3,0,6,4,10,0
  321. DATA 4,4,1,0,3,4,5,0,5,4,8,0,3,4,1,0,6,4,1,0,6,4,1,0,4,4
  322. DATA 1,0,3,4,3,0,6,4,3,0,4,4,4,0,3,4,4,0,4,4,4,0,3,4,4,0
  323. DATA 4,4,4,0,2,4,12,0,5,4,5,0,4,4,3,0,3,4,5,0,3,4,5,0,3,4
  324. DATA 10,0,4,4,4,0,2,4,3,0,4,4,3,0,3,4,6,0,3,4,2,0,8,4,3,0
  325. DATA 2,4,3,0,5,4,4,0,3,4,3,0,6,4,25,0,4,4,4,0,3,4,3,0,3,4
  326. DATA 1,0,3,4,4,0,2,4,2,0,6,4,8,0,3,4,3,0,2,4,91,0,1,11,7,3
  327. DATA 2,11,3,3,2,11,6,3,1,11,18,0,1,11,2,3,5,6,1,3,2,1,9,3
  328. DATA 2,11,7,0,1,7,7,0,2,7,3,6,27,3,8,0,5,4,2,0,4,4,3,0,3,4
  329. DATA 3,0,2,4,5,0,3,4,4,0,3,4,2,0,3,4,2,0,2,4,12,0,5,4,2,0
  330. DATA 4,4,2,0,8,4,8,0,2,4,5,0,3,4,4,0,3,4,2,0,3,4,2,0,2,4
  331. DATA 10,0,7,4,9,0,3,4,7,0,3,4,1,0,5,4,2,0,5,4,2,0,3,4,2,0
  332. DATA 3,4,2,0,3,4,2,0,2,4,2,0,4,4,4,0,4,4,5,0,4,4,1,0,3,4
  333. DATA 10,0,2,4,1,0,3,4,12,0,5,4,5,0,8,4,7,0,3,4,3,0,4,4,15,0
  334. DATA 2,4,1,0,3,4,3,0,8,4,8,0,3,4,1,0,3,4,3,0,3,4,3,0,2,4
  335. DATA 5,0,3,4,4,0,3,4,2,0,3,4,2,0,2,4,25,0,4,4,4,0,4,4,2,0
  336. DATA 2,4,3,0,4,4,2,0,2,4,3,0,5,4,8,0,3,4,95,0,1,11,7,3,9,11
  337. DATA 6,3,1,11,16,0,1,11,5,3,4,10,12,3,2,11,6,0,1,13,7,0
  338. DATA 4,6,17,3,3,6,6,3,11,0,3,4,6,0,2,4,1,0,3,4,3,0,3,4,6,0
  339. DATA 2,4,5,0,6,4,2,0,3,4,13,0,3,4,6,0,2,4,2,0,5,4,9,0,3,4
  340. DATA 6,0,2,4,5,0,6,4,2,0,3,4,11,0,5,4,4,0,8,4,8,0,3,4,2,0
  341. DATA 4,4,8,0,3,4,4,0,6,4,2,0,3,4,2,0,3,4,6,0,3,4,5,0,7,4
  342. DATA 11,0,5,4,13,0,5,4,6,0,5,4,10,0,7,4,17,0,5,4,5,0,5,4
  343. DATA 11,0,5,4,4,0,2,4,3,0,3,4,6,0,2,4,5,0,6,4,2,0,3,4,25,0
  344. DATA 3,4,5,0,7,4,4,0,3,4,3,0,2,4,5,0,3,4,2,0,4,4,2,0,2,4
  345. DATA 3,0,5,4,88,0,1,11,6,3,1,11,1,6,3,10,1,6,3,10,1,6,1,11
  346. DATA 6,3,1,11,15,0,1,11,7,3,1,10,14,3,1,11,5,0,1,5,1,13
  347. DATA 1,5,7,0,3,6,3,3,3,1,6,3,1,6,3,7,3,6,5,3,23,0,5,4,3,0
  348. DATA 2,4,6,0,2,4,14,0,2,4,24,0,2,4,15,0,2,4,6,0,2,4,14,0
  349. DATA 2,4,37,0,3,4,3,0,2,4,9,0,3,4,12,0,2,4,39,0,2,4,16,0
  350. DATA 3,4,47,0,2,4,32,0,2,4,3,0,2,4,6,0,2,4,14,0,2,4,25,0
  351. DATA 3,4,16,0,3,4,3,0,3,4,6,0,2,4,1,0,8,4,4,0,4,4,89,0,1,11
  352. DATA 5,3,1,1,1,3,1,6,1,7,5,6,1,7,1,6,1,3,1,1,6,3,1,10,14,0
  353. DATA 1,11,8,3,7,6,9,3,1,10,3,0,1,13,1,14,1,13,8,0,5,1,3,3
  354. DATA 3,7,3,6,4,7,2,6,1,3,4,0,1,10,55,0,2,4,65,0,2,4,69,0
  355. DATA 2,4,170,0,2,4,44,0,3,4,3,0,2,4,6,0,2,4,16,0,3,4,88,0
  356. DATA 6,3,1,1,3,3,1,7,3,6,1,7,3,3,1,1,6,3,15,0,7,3,4,7,4,6
  357. DATA 3,7,7,3,4,0,3,14,8,0,7,3,5,7,1,6,5,7,1,6,1,3,3,0,1,10
  358. DATA 525,0,1,7,10,0,6,3,1,6,1,1,2,3,2,8,1,7,2,8,2,3,1,1
  359. DATA 1,6,7,3,14,0,6,3,13,7,7,3,3,0,3,14,8,0,6,3,13,7,1,3
  360. DATA 518,0,2,13,8,0,2,14,10,0,5,3,3,6,1,1,1,3,1,7,1,10,1,8
  361. DATA 1,10,1,7,1,3,1,1,2,6,7,3,14,0,5,3,3,6,4,7,2,6,3,7,2,6
  362. DATA 7,3,3,0,1,14,1,11,1,14,8,0,5,3,3,6,4,7,2,6,2,7,3,6
  363. DATA 1,3,518,0,1,13,2,14,1,5,4,0,1,5,3,14,10,0,5,3,4,6,1,1
  364. DATA 1,6,1,7,1,6,1,7,1,6,1,1,4,6,7,3,13,0,5,3,15,6,7,3,1,0
  365. DATA 1,5,3,14,8,0,5,3,14,6,1,3,518,0,1,5,2,14,1,11,7,14
  366. DATA 1,5,10,0,4,3,1,10,4,6,1,10,1,6,3,7,1,6,1,10,4,6,1,0
  367. DATA 6,3,13,0,4,3,1,10,15,6,1,0,6,3,1,7,1,5,2,14,1,5,8,0
  368. DATA 4,3,1,10,14,6,1,3,323,0,2,13,23,0,3,13,21,0,3,13,23,0
  369. DATA 4,13,117,0,1,5,3,14,1,11,4,14,1,5,11,0,4,3,1,10,5,6
  370. DATA 1,10,3,6,1,10,4,6,3,0,2,3,2,6,2,11,12,0,4,3,1,10,5,6
  371. DATA 5,7,4,6,3,0,4,3,2,11,1,14,1,11,1,14,9,0,4,3,1,10,5,6
  372. DATA 5,7,4,6,22,0,1,7,11,0,1,7,2,0,1,7,9,0,1,7,2,0,1,7,9,0
  373. DATA 1,7,10,0,2,7,10,0,1,7,10,0,1,7,12,0,1,7,10,0,1,7,74,0
  374. DATA 1,7,9,0,3,7,10,0,1,7,10,0,3,7,9,0,3,7,11,0,1,7,8,0
  375. DATA 5,7,8,0,3,7,8,0,5,7,8,0,3,7,21,0,7,13,17,0,6,13,17,0
  376. DATA 4,13,1,0,3,13,18,0,8,13,117,0,2,5,4,14,2,5,12,0,4,3
  377. DATA 2,10,5,6,3,10,5,6,4,0,2,3,4,11,11,0,4,3,2,10,2,6,4,7
  378. DATA 1,10,4,7,2,6,4,0,2,3,4,11,3,7,8,0,4,3,2,10,2,6,4,7
  379. DATA 1,10,4,7,2,6,22,0,1,7,11,0,1,7,2,0,1,7,9,0,1,7,2,0
  380. DATA 1,7,8,0,3,7,8,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,1,0,1,7
  381. DATA 9,0,1,7,11,0,1,7,12,0,1,7,10,0,1,7,1,0,1,7,60,0,1,7
  382. DATA 8,0,1,7,3,0,1,7,7,0,3,7,9,0,1,7,3,0,1,7,7,0,1,7,3,0
  383. DATA 1,7,9,0,2,7,8,0,1,7,11,0,1,7,3,0,1,7,11,0,1,7,7,0,1,7
  384. DATA 3,0,1,7,19,0,8,13,18,0,4,13,17,0,2,13,4,0,3,13,18,0
  385. DATA 9,13,136,0,2,3,1,6,1,3,2,10,1,3,11,6,1,3,5,0,1,3,5,11
  386. DATA 10,0,4,3,2,10,1,6,11,7,1,6,5,0,1,3,3,11,4,6,8,0,2,3
  387. DATA 1,6,1,3,2,10,1,6,11,7,1,6,22,0,1,7,11,0,1,7,2,0,1,7
  388. DATA 8,0,6,7,6,0,1,7,1,0,1,7,1,0,1,7,8,0,2,7,2,0,1,7,6,0
  389. DATA 1,7,1,0,1,7,9,0,1,7,11,0,1,7,12,0,1,7,11,0,1,7,61,0
  390. DATA 1,7,8,0,1,7,3,0,1,7,9,0,1,7,13,0,1,7,11,0,1,7,9,0,2,7
  391. DATA 8,0,1,7,11,0,1,7,14,0,1,7,8,0,1,7,3,0,1,7,18,0,5,13
  392. DATA 2,0,2,13,16,0,6,13,17,0,2,13,4,0,4,13,17,0,3,13,2,0
  393. DATA 4,13,136,0,1,3,2,6,1,3,2,1,2,3,2,6,5,7,2,6,2,3,5,0
  394. DATA 6,11,10,0,4,3,2,10,1,6,11,7,1,6,5,0,4,11,4,6,8,0,1,3
  395. DATA 2,6,1,3,1,1,1,10,1,6,11,7,1,6,22,0,1,7,24,0,1,7,2,0
  396. DATA 1,7,7,0,1,7,1,0,1,7,13,0,1,7,8,0,1,7,22,0,1,7,12,0
  397. DATA 1,7,10,0,1,7,1,0,1,7,11,0,1,7,47,0,1,7,9,0,1,7,3,0
  398. DATA 1,7,9,0,1,7,13,0,1,7,11,0,1,7,8,0,1,7,1,0,1,7,8,0,4,7
  399. DATA 8,0,1,7,14,0,1,7,8,0,1,7,3,0,1,7,18,0,3,13,4,0,3,13
  400. DATA 14,0,2,13,1,0,3,13,17,0,3,13,4,0,3,13,18,0,3,13,2,0
  401. DATA 3,13,137,0,3,11,1,3,2,1,2,3,1,6,3,7,1,10,3,7,1,6,2,3
  402. DATA 5,0,6,11,1,3,9,0,3,11,1,3,2,10,1,6,11,7,1,6,5,0,1,3
  403. DATA 2,11,1,3,4,6,8,0,3,11,1,3,1,1,1,10,1,6,11,7,1,6,22,0
  404. DATA 1,7,24,0,1,7,2,0,1,7,8,0,2,7,12,0,1,7,9,0,1,7,22,0
  405. DATA 1,7,12,0,1,7,24,0,1,7,47,0,1,7,9,0,1,7,3,0,1,7,9,0
  406. DATA 1,7,12,0,1,7,10,0,2,7,9,0,1,7,1,0,1,7,8,0,1,7,3,0,1,7
  407. DATA 7,0,4,7,10,0,1,7,10,0,3,7,18,0,3,13,5,0,2,13,18,0,3,13
  408. DATA 17,0,3,13,4,0,3,13,22,0,4,13,137,0,4,11,2,1,2,3,9,7
  409. DATA 2,3,5,0,1,3,6,11,9,0,4,11,2,10,2,6,9,7,2,6,6,0,3,3
  410. DATA 4,6,8,0,4,11,1,1,1,10,2,6,9,7,2,6,22,0,1,7,24,0,1,7
  411. DATA 2,0,1,7,9,0,2,7,10,0,1,7,9,0,1,7,1,0,1,7,1,0,1,7,19,0
  412. DATA 1,7,12,0,1,7,22,0,5,7,19,0,2,7,23,0,1,7,10,0,1,7,3,0
  413. DATA 1,7,9,0,1,7,11,0,1,7,13,0,1,7,7,0,1,7,2,0,1,7,12,0
  414. DATA 1,7,7,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,3,0,1,7,17,0,3,13
  415. DATA 4,0,3,13,17,0,3,13,18,0,3,13,4,0,2,13,24,0,2,13,138,0
  416. DATA 5,11,1,1,1,3,1,6,9,7,1,6,1,3,6,0,6,11,9,0,5,11,1,10
  417. DATA 3,6,7,7,3,6,7,0,4,3,10,0,5,11,1,10,3,6,7,7,3,6,22,0
  418. DATA 1,7,23,0,6,7,8,0,1,7,1,0,1,7,8,0,1,7,2,0,2,7,6,0,1,7
  419. DATA 2,0,1,7,20,0,1,7,12,0,1,7,24,0,1,7,46,0,1,7,10,0,1,7
  420. DATA 3,0,1,7,9,0,1,7,10,0,1,7,14,0,1,7,7,0,5,7,11,0,1,7
  421. DATA 7,0,1,7,3,0,1,7,8,0,1,7,10,0,1,7,3,0,1,7,16,0,3,13
  422. DATA 4,0,4,13,17,0,2,13,25,0,2,13,23,0,3,13,139,0,5,11,1,1
  423. DATA 1,3,1,6,9,7,1,6,2,3,6,0,5,11,9,0,5,11,1,10,4,6,5,7
  424. DATA 4,6,1,3,20,0,5,11,1,10,4,6,5,7,4,6,1,3,46,0,1,7,2,0
  425. DATA 1,7,7,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7
  426. DATA 5,0,1,7,2,0,1,7,20,0,1,7,12,0,1,7,24,0,1,7,45,0,1,7
  427. DATA 11,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,11,0,1,7,3,0,1,7,10,0
  428. DATA 1,7,8,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,8,0,1,7,10,0,1,7
  429. DATA 3,0,1,7,16,0,3,13,5,0,3,13,16,0,3,13,25,0,2,13,22,0
  430. DATA 4,13,139,0,5,11,1,1,1,3,2,6,7,7,2,6,1,3,1,11,7,0,4,11
  431. DATA 9,0,5,11,1,10,13,6,1,11,20,0,5,11,1,10,13,6,1,11,21,0
  432. DATA 1,7,24,0,1,7,2,0,1,7,8,0,3,7,12,0,2,7,7,0,2,7,1,0,1,7
  433. DATA 19,0,1,7,12,0,1,7,35,0,1,7,22,0,1,7,11,0,1,7,12,0,3,7
  434. DATA 10,0,1,7,9,0,5,7,8,0,3,7,11,0,1,7,9,0,3,7,9,0,3,7,9,0
  435. DATA 1,7,11,0,3,7,17,0,3,13,4,0,4,13,16,0,2,13,25,0,2,13
  436. DATA 22,0,7,13,137,0,5,11,1,1,2,3,9,6,2,3,2,11,7,0,3,7,9,0
  437. DATA 5,11,1,10,2,3,9,6,3,3,1,11,19,0,5,11,1,10,2,3,9,6,3,3
  438. DATA 1,11,58,0,1,7,45,0,1,7,12,0,1,7,34,0,1,7,164,0,3,13
  439. DATA 4,0,3,13,17,0,3,13,21,0,4,13,22,0,2,13,2,0,4,13,46,0
  440. DATA 2,6,12,0,2,6,75,0,1,3,3,11,16,3,2,11,4,0,6,7,8,0,1,3
  441. DATA 3,11,16,3,2,11,18,0,1,3,3,11,17,3,1,11,104,0,1,7,10,0
  442. DATA 1,7,200,0,3,13,5,0,2,13,16,0,5,13,19,0,3,13,29,0,4,13
  443. DATA 45,0,4,6,9,0,1,6,2,10,2,6,53,0,1,13,19,0,1,3,3,11,5,3
  444. DATA 5,0,7,3,2,11,1,0,8,7,8,0,1,3,3,11,5,3,5,0,7,3,2,11
  445. DATA 17,0,1,3,3,11,5,3,5,0,8,3,1,11,315,0,3,13,2,0,4,13
  446. DATA 17,0,4,13,19,0,10,13,22,0,4,13,43,0,2,7,1,6,1,7,2,10
  447. DATA 4,6,5,0,1,6,4,10,1,6,52,0,1,13,1,14,20,0,3,11,4,3,7,0
  448. DATA 8,3,2,0,1,14,1,3,1,10,4,7,9,0,3,11,4,3,7,0,8,3,18,0
  449. DATA 3,11,4,3,7,0,8,3,316,0,5,13,20,0,4,13,18,0,8,13,2,0
  450. DATA 3,13,14,0,9,13,43,0,1,6,1,7,2,10,1,6,5,10,2,6,4,0,1,6
  451. DATA 2,10,3,6,52,0,3,14,19,0,3,11,1,1,2,3,9,0,7,3,1,0,3,14
  452. DATA 1,5,3,7,1,6,9,0,3,11,1,10,2,3,9,0,7,3,18,0,3,11,1,1
  453. DATA 2,3,9,0,7,3,342,0,2,13,97,0,1,6,1,7,1,6,2,10,1,6,5,10
  454. DATA 4,6,2,0,5,6,53,0,1,14,1,11,1,14,19,0,1,3,2,11,1,1,2,3
  455. DATA 10,0,6,3,4,14,1,5,4,6,9,0,1,3,2,11,1,10,2,3,10,0,6,3
  456. DATA 18,0,1,3,2,11,1,1,2,3,10,0,6,3,440,0,2,6,1,10,1,6,2,10
  457. DATA 1,6,6,10,3,6,60,0,1,5,3,14,18,0,1,3,5,7,11,0,4,3,4,14
  458. DATA 1,5,1,0,1,6,12,0,1,3,5,7,11,0,5,3,18,0,1,3,5,7,11,0
  459. DATA 5,3,19,0,3,7,69,0,3,7,11,0,4,7,8,0,1,7,8,0,4,7,9,0
  460. DATA 4,7,7,0,4,7,8,0,5,7,7,0,5,7,8,0,4,7,7,0,1,7,4,0,1,7
  461. DATA 6,0,1,7,14,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,5,0
  462. DATA 1,7,5,0,1,7,4,0,1,7,7,0,4,7,7,0,5,7,141,0,1,6,2,10
  463. DATA 1,6,2,10,1,6,8,10,3,6,59,0,1,14,1,11,2,14,17,0,5,7
  464. DATA 1,3,11,0,2,3,3,14,1,11,1,14,1,5,15,0,5,7,1,3,11,0,4,3
  465. DATA 19,0,5,7,1,3,11,0,4,3,19,0,1,7,3,0,1,7,67,0,1,7,3,0
  466. DATA 1,7,8,0,2,7,4,0,2,7,6,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7
  467. DATA 4,0,1,7,6,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,4,0
  468. DATA 1,7,6,0,1,7,4,0,1,7,6,0,1,7,14,0,1,7,8,0,1,7,2,0,1,7
  469. DATA 8,0,1,7,11,0,1,7,5,0,1,7,5,0,2,7,3,0,1,7,6,0,1,7,4,0
  470. DATA 1,7,6,0,1,7,4,0,1,7,140,0,1,6,2,10,1,6,13,10,6,6,54,0
  471. DATA 1,5,4,14,16,0,5,7,1,3,1,7,10,0,1,13,2,14,1,11,2,14
  472. DATA 1,5,16,0,5,7,1,3,1,7,10,0,3,3,2,7,18,0,5,7,1,3,1,7
  473. DATA 10,0,3,3,2,7,18,0,1,7,3,0,1,7,34,0,1,7,20,0,1,7,15,0
  474. DATA 1,7,8,0,1,7,6,0,1,7,5,0,1,7,1,0,1,7,7,0,1,7,3,0,1,7
  475. DATA 7,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,11,0,1,7,11,0,1,7
  476. DATA 11,0,1,7,4,0,1,7,6,0,1,7,14,0,1,7,8,0,1,7,1,0,1,7,9,0
  477. DATA 1,7,11,0,2,7,3,0,2,7,5,0,2,7,3,0,1,7,6,0,1,7,4,0,1,7
  478. DATA 6,0,1,7,4,0,1,7,138,0,2,6,3,10,1,6,3,10,4,7,5,6,6,10
  479. DATA 4,6,52,0,1,5,4,14,1,5,14,0,7,7,10,0,1,6,1,13,2,14,1,5
  480. DATA 1,7,17,0,7,7,10,0,1,3,4,6,1,8,17,0,7,7,10,0,1,3,4,6
  481. DATA 1,8,17,0,1,7,3,0,1,7,7,0,1,7,12,0,1,7,12,0,1,7,22,0
  482. DATA 1,7,14,0,1,7,7,0,1,7,3,0,3,7,2,0,1,7,4,0,1,7,1,0,1,7
  483. DATA 7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,11,0
  484. DATA 1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,14,0,1,7,8,0
  485. DATA 2,7,10,0,1,7,11,0,2,7,3,0,2,7,5,0,1,7,1,0,1,7,2,0,1,7
  486. DATA 6,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7,138,0,1,6,16,10,11,6
  487. DATA 53,0,1,5,5,14,1,7,12,0,7,6,10,0,6,6,2,7,15,0,6,6,11,0
  488. DATA 6,6,2,7,15,0,6,6,11,0,6,6,2,7,16,0,4,7,32,0,1,7,10,0
  489. DATA 5,7,9,0,1,7,12,0,1,7,8,0,1,7,2,0,1,7,2,0,1,7,2,0,1,7
  490. DATA 3,0,1,7,3,0,1,7,6,0,4,7,8,0,1,7,11,0,1,7,4,0,1,7,6,0
  491. DATA 4,7,8,0,4,7,8,0,1,7,2,0,3,7,6,0,6,7,6,0,1,7,14,0,1,7
  492. DATA 8,0,2,7,10,0,1,7,11,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,5,0
  493. DATA 1,7,1,0,1,7,2,0,1,7,6,0,1,7,4,0,1,7,6,0,5,7,136,0,4,6
  494. DATA 22,10,5,6,54,0,2,5,2,14,1,13,137,0,1,7,31,0,1,7,26,0
  495. DATA 1,7,10,0,1,7,9,0,1,7,2,0,1,7,2,0,1,7,2,0,1,7,3,0,1,7
  496. DATA 3,0,1,7,6,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,4,0,1,7,6,0
  497. DATA 1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7
  498. DATA 14,0,1,7,8,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,1,0,1,7,1,0
  499. DATA 1,7,1,0,1,7,5,0,1,7,2,0,1,7,1,0,1,7,6,0,1,7,4,0,1,7
  500. DATA 6,0,1,7,65,0,5,11,30,0,5,11,32,0,4,6,23,10,1,0,7,6
  501. DATA 195,0,1,7,32,0,1,7,10,0,5,7,9,0,1,7,11,0,1,7,9,0,1,7
  502. DATA 3,0,2,7,1,0,3,7,3,0,5,7,6,0,1,7,3,0,1,7,7,0,1,7,11,0
  503. DATA 1,7,4,0,1,7,6,0,1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7
  504. DATA 4,0,1,7,6,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0
  505. DATA 1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,2,7,6,0,1,7
  506. DATA 4,0,1,7,6,0,1,7,63,0,8,11,28,0,7,11,29,0,2,6,3,7,4,6
  507. DATA 4,10,1,6,15,10,4,7,13,6,7,0,4,11,4,9,4,11,1,0,4,11
  508. DATA 4,9,4,11,150,0,1,7,3,0,1,7,33,0,1,7,22,0,1,7,23,0,1,7
  509. DATA 10,0,1,7,5,0,1,7,5,0,1,7,3,0,1,7,7,0,1,7,4,0,1,7,6,0
  510. DATA 1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,3,0,2,7,6,0,1,7
  511. DATA 4,0,1,7,6,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0
  512. DATA 1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,2,7,6,0,1,7
  513. DATA 4,0,1,7,6,0,1,7,28,0,5,11,29,0,9,3,1,11,26,0,2,11,5,3
  514. DATA 2,11,28,0,4,6,36,10,6,6,7,0,3,11,6,9,3,11,1,0,3,11
  515. DATA 6,9,3,11,151,0,3,7,8,0,1,7,12,0,1,7,13,0,1,7,20,0,1,7
  516. DATA 13,0,1,7,10,0,2,7,9,0,1,7,5,0,1,7,5,0,4,7,9,0,4,7,7,0
  517. DATA 4,7,8,0,5,7,7,0,1,7,12,0,3,7,1,0,1,7,6,0,1,7,4,0,1,7
  518. DATA 6,0,1,7,12,0,2,7,9,0,1,7,4,0,1,7,6,0,5,7,7,0,1,7,5,0
  519. DATA 1,7,5,0,1,7,4,0,1,7,7,0,4,7,7,0,1,7,27,0,1,11,5,3,1,11
  520. DATA 27,0,2,11,2,3,2,11,6,3,24,0,1,11,9,3,1,11,30,0,1,6
  521. DATA 9,10,1,6,26,10,5,6,8,0,1,11,10,8,1,11,1,0,1,11,10,8
  522. DATA 1,11,38,0,1,6,1,7,7,9,1,7,1,6,125,0,1,7,62,0,5,7,210,0
  523. DATA 2,11,7,3,1,11,25,0,8,11,5,3,24,0,11,11,31,0,4,6,1,10
  524. DATA 1,7,3,10,1,6,25,10,5,6,9,0,1,11,1,8,8,10,1,8,1,11,1,0
  525. DATA 1,11,1,8,8,10,1,8,1,11,13,0,1,5,2,13,19,0,1,6,15,9
  526. DATA 1,6,33,0,1,9,364,0,4,11,8,3,1,11,24,0,1,6,2,10,1,6
  527. DATA 2,10,2,6,5,3,24,0,1,3,1,11,7,6,1,11,1,3,29,0,1,6,1,7
  528. DATA 5,10,1,7,3,10,1,6,20,10,2,7,6,6,11,0,1,9,1,8,8,6,1,8
  529. DATA 1,9,1,0,1,9,1,8,8,6,1,8,1,9,12,0,1,5,2,14,1,13,17,0
  530. DATA 1,6,5,8,10,9,4,8,1,6,31,0,1,8,364,0,2,6,2,11,9,3,1,11
  531. DATA 22,0,1,3,1,6,1,7,1,6,2,7,2,6,3,3,2,11,1,3,24,0,1,7
  532. DATA 1,6,3,10,1,6,3,10,1,6,1,7,29,0,1,6,3,7,3,10,1,7,1,6
  533. DATA 2,10,1,6,1,10,1,6,18,10,1,7,4,6,3,0,1,6,10,0,1,9,1,8
  534. DATA 1,6,1,10,1,6,2,10,1,6,1,10,1,6,1,8,1,9,1,0,1,9,1,8
  535. DATA 1,6,1,10,1,6,2,10,1,6,1,10,1,6,1,8,1,9,11,0,1,5,3,14
  536. DATA 17,0,5,8,14,9,4,8,30,0,1,8,21,0,4,3,1,6,2,7,1,6,4,3
  537. DATA 6,0,16,4,309,0,1,6,1,10,1,6,11,3,2,11,20,0,1,3,4,8
  538. DATA 1,7,5,3,1,6,1,11,1,3,23,0,1,11,3,6,1,7,3,6,1,7,3,6
  539. DATA 1,11,28,0,3,6,5,7,2,6,6,7,1,10,1,7,14,10,1,7,4,6,14,0
  540. DATA 1,9,1,8,1,7,1,10,1,7,2,10,1,7,1,10,1,7,1,8,1,9,1,0
  541. DATA 1,9,1,8,1,7,1,10,1,7,2,10,1,7,1,10,1,7,1,8,1,9,11,0
  542. DATA 1,5,1,14,1,11,1,5,16,0,5,8,17,9,3,8,25,0,3,7,1,0,1,8
  543. DATA 1,0,3,8,17,0,2,3,1,6,1,7,1,6,2,1,1,6,1,7,1,6,2,3,6,0
  544. DATA 1,4,14,8,1,4,308,0,4,6,6,3,2,11,5,3,4,11,16,0,1,3,1,7
  545. DATA 1,10,1,7,1,10,1,7,1,6,4,3,2,11,1,3,1,11,1,0,3,11,16,0
  546. DATA 2,11,1,3,3,6,2,8,1,7,2,8,3,6,1,3,2,11,26,0,2,6,2,7
  547. DATA 3,10,2,6,2,10,3,6,2,10,1,6,1,7,14,10,2,7,3,6,14,0,1,11
  548. DATA 1,8,1,7,1,1,1,7,2,1,1,7,1,1,1,7,1,8,1,11,1,0,1,11,1,8
  549. DATA 1,7,1,3,1,7,2,3,1,7,1,3,1,7,1,8,1,11,11,0,3,14,16,0
  550. DATA 4,8,20,9,1,15,2,8,26,0,1,7,1,0,1,8,1,0,1,8,19,0,2,3
  551. DATA 1,7,1,1,1,6,2,1,1,6,1,1,1,7,2,3,6,0,1,4,14,8,1,4,167,0
  552. DATA 1,7,139,0,2,8,2,6,7,3,1,6,1,11,9,3,2,11,13,0,1,11,7,6
  553. DATA 8,3,1,11,3,3,2,11,13,0,1,11,4,3,2,6,1,7,1,10,1,8,1,10
  554. DATA 1,7,2,6,4,3,1,11,25,0,2,6,3,7,2,10,2,6,1,10,2,6,1,10
  555. DATA 1,6,3,10,2,6,8,10,2,7,2,10,4,7,2,6,14,0,1,11,1,8,1,7
  556. DATA 1,1,1,7,2,1,1,7,1,1,1,7,1,8,1,11,1,0,1,11,1,8,1,7,1,3
  557. DATA 1,7,2,3,1,7,1,3,1,7,1,8,1,11,11,0,1,14,1,11,1,14,15,0
  558. DATA 4,8,21,9,1,8,2,15,1,8,24,0,3,7,4,8,18,0,1,3,1,7,3,1
  559. DATA 2,7,3,1,1,7,1,3,6,0,1,4,2,8,10,6,2,8,1,4,10,0,4,7,7,0
  560. DATA 5,7,8,0,3,7,8,0,5,7,7,0,1,7,4,0,1,7,6,0,1,7,5,0,1,7
  561. DATA 5,0,1,7,9,0,1,7,1,0,1,7,5,0,1,7,5,0,1,7,5,0,1,7,5,0
  562. DATA 7,7,5,0,2,7,10,0,1,7,11,0,2,7,11,0,1,7,1,0,1,7,20,0
  563. DATA 1,7,23,0,1,7,27,0,1,7,20,0,1,7,22,0,1,7,21,0,1,7,1,10
  564. DATA 1,8,1,6,6,3,2,11,12,3,1,11,11,0,1,11,1,3,1,6,3,10,2,6
  565. DATA 3,3,1,1,10,3,1,11,12,0,1,11,4,3,1,1,2,3,1,6,1,7,1,6
  566. DATA 1,7,1,6,2,3,1,1,4,3,1,11,24,0,4,6,1,7,2,10,3,6,3,10
  567. DATA 1,6,3,10,1,6,6,10,1,6,2,10,2,6,4,10,2,7,2,6,14,0,1,9
  568. DATA 1,8,8,7,1,8,1,9,1,0,1,9,1,8,8,7,1,8,1,9,11,0,3,14,14,0
  569. DATA 6,8,8,9,1,8,12,9,3,15,1,8,21,0,4,7,1,8,1,7,1,9,4,8
  570. DATA 16,0,1,3,10,7,1,3,6,0,1,4,2,8,10,7,2,8,1,4,9,0,1,7
  571. DATA 4,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,3,0,1,7,9,0,1,7,9,0
  572. DATA 1,7,4,0,1,7,6,0,1,7,5,0,1,7,5,0,1,7,9,0,1,7,1,0,1,7
  573. DATA 5,0,1,7,5,0,1,7,5,0,1,7,11,0,1,7,5,0,1,7,11,0,1,7,12,0
  574. DATA 1,7,10,0,1,7,3,0,1,7,20,0,1,7,22,0,1,7,27,0,1,7,19,0
  575. DATA 1,7,23,0,1,7,20,0,2,7,3,6,21,3,1,11,10,0,1,11,2,3,5,6
  576. DATA 1,3,2,1,12,3,1,11,10,0,1,11,6,3,1,1,1,6,5,7,1,6,1,1
  577. DATA 6,3,1,11,24,0,4,6,2,10,2,6,3,10,2,6,3,10,1,6,6,10,1,6
  578. DATA 2,10,1,6,6,10,1,7,2,6,14,0,1,9,1,8,1,7,1,1,1,7,2,1
  579. DATA 1,7,1,1,1,7,1,8,1,9,1,0,1,9,1,8,1,7,1,5,1,7,2,5,1,7
  580. DATA 1,5,1,7,1,8,1,9,11,0,3,14,13,0,7,8,22,9,2,15,2,8,18,0
  581. DATA 7,7,8,8,14,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,10
  582. DATA 1,7,2,10,1,7,2,10,1,7,2,8,1,4,9,0,1,7,4,0,1,7,6,0,1,7
  583. DATA 4,0,1,7,6,0,1,7,13,0,1,7,9,0,1,7,4,0,1,7,7,0,1,7,3,0
  584. DATA 1,7,7,0,1,7,3,0,1,7,3,0,1,7,3,0,1,7,3,0,1,7,7,0,1,7
  585. DATA 3,0,1,7,11,0,1,7,6,0,1,7,11,0,1,7,12,0,1,7,58,0,1,7
  586. DATA 27,0,1,7,19,0,1,7,23,0,1,7,20,0,4,6,22,3,1,11,9,0,1,11
  587. DATA 5,3,4,10,14,3,1,11,9,0,1,11,8,3,1,1,5,6,1,1,7,3,2,11
  588. DATA 25,0,2,6,2,10,2,6,2,10,1,6,5,10,1,6,6,10,1,6,2,10,2,6
  589. DATA 3,10,3,7,2,6,14,0,1,9,1,8,1,7,1,1,1,7,2,1,1,7,1,1,1,7
  590. DATA 1,8,1,9,1,0,1,9,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8
  591. DATA 1,9,11,0,1,5,2,14,1,5,11,0,7,8,23,9,3,15,2,8,16,0,9,7
  592. DATA 8,8,13,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,10,1,7
  593. DATA 2,10,1,7,2,10,1,7,2,8,1,4,9,0,1,7,4,0,1,7,6,0,1,7,4,0
  594. DATA 1,7,6,0,1,7,13,0,1,7,9,0,1,7,4,0,1,7,7,0,1,7,3,0,1,7
  595. DATA 7,0,1,7,3,0,1,7,3,0,1,7,4,0,1,7,1,0,1,7,9,0,1,7,1,0
  596. DATA 1,7,11,0,1,7,7,0,1,7,12,0,1,7,11,0,1,7,47,0,3,7,8,0
  597. DATA 4,7,9,0,3,7,9,0,4,7,8,0,3,7,8,0,2,7,11,0,4,7,7,0,1,7
  598. DATA 1,0,2,7,18,0,3,6,3,3,3,1,6,3,1,6,1,7,1,6,7,3,1,11,9,0
  599. DATA 1,11,7,3,1,10,15,3,1,11,9,0,1,11,9,3,1,1,3,10,1,1,9,3
  600. DATA 1,11,26,0,2,6,1,10,2,6,2,10,1,6,5,10,2,6,6,10,3,6,2,10
  601. DATA 3,7,4,6,14,0,1,11,1,8,1,7,1,1,1,7,2,1,1,7,1,1,1,7,1,8
  602. DATA 1,11,1,0,1,11,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8,1,11
  603. DATA 11,0,1,5,3,14,10,0,1,6,6,8,6,9,1,8,1,9,1,8,15,9,5,15
  604. DATA 1,6,14,0,4,7,9,2,2,9,4,8,12,0,1,3,1,7,8,1,1,7,1,3,6,0
  605. DATA 1,4,2,8,1,7,2,1,1,7,2,1,1,7,2,1,1,7,2,8,1,4,9,0,1,7
  606. DATA 4,0,1,7,6,0,5,7,8,0,3,7,10,0,1,7,9,0,1,7,4,0,1,7,7,0
  607. DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,3,0,1,7,5,0,1,7,11,0,1,7
  608. DATA 11,0,1,7,8,0,1,7,12,0,1,7,11,0,1,7,50,0,1,7,7,0,1,7
  609. DATA 3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
  610. DATA 1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,2,7,2,0,1,7,18,0,5,1
  611. DATA 3,3,3,7,3,6,4,7,1,6,6,3,9,0,1,11,8,3,7,6,9,3,9,0,1,11
  612. DATA 24,3,27,0,1,6,5,10,1,6,5,10,11,6,3,7,6,6,14,0,1,11
  613. DATA 1,8,1,7,1,1,1,7,2,1,1,7,1,1,1,7,1,8,1,11,1,0,1,11,1,8
  614. DATA 1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8,1,11,12,0,1,5,3,14
  615. DATA 9,0,7,8,2,9,6,8,17,9,4,15,1,8,13,0,4,7,1,8,6,7,10,8
  616. DATA 11,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,1,1,7,2,1
  617. DATA 1,7,2,1,1,7,2,8,1,4,9,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7
  618. DATA 10,0,1,7,9,0,1,7,9,0,1,7,4,0,1,7,8,0,1,7,1,0,1,7,9,0
  619. DATA 1,7,1,0,1,7,1,0,1,7,1,0,1,7,5,0,1,7,1,0,1,7,10,0,1,7
  620. DATA 10,0,1,7,9,0,1,7,13,0,1,7,10,0,1,7,47,0,4,7,7,0,1,7
  621. DATA 3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,5,7,7,0,1,7,11,0
  622. DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,18,0,7,3,5,7,1,6,5,7,1,6
  623. DATA 6,3,9,0,7,3,4,7,4,6,3,7,7,3,9,0,7,3,4,7,4,6,3,7,7,3
  624. DATA 27,0,2,6,4,7,6,10,2,6,7,10,2,6,1,7,7,6,15,0,1,9,1,8
  625. DATA 8,7,1,8,1,9,1,0,1,9,1,8,8,7,1,8,1,9,13,0,1,5,2,14,1,7
  626. DATA 7,0,1,6,6,8,1,9,6,8,1,9,2,8,16,9,5,15,1,6,11,0,2,7
  627. DATA 1,1,1,7,1,1,1,8,1,7,6,2,2,9,2,15,1,8,1,9,1,8,1,2,2,8
  628. DATA 10,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,1,1,7,2,1
  629. DATA 1,7,2,1,1,7,2,8,1,4,9,0,1,7,2,0,1,7,1,0,1,7,6,0,1,7
  630. DATA 4,0,1,7,10,0,1,7,9,0,1,7,9,0,1,7,4,0,1,7,8,0,1,7,1,0
  631. DATA 1,7,9,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,4,0,1,7,3,0,1,7
  632. DATA 9,0,1,7,9,0,1,7,10,0,1,7,13,0,1,7,10,0,1,7,46,0,1,7
  633. DATA 3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0
  634. DATA 1,7,11,0,1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,18,0
  635. DATA 6,3,13,7,1,6,5,3,9,0,6,3,13,7,1,6,5,3,9,0,6,3,13,7
  636. DATA 1,6,5,3,28,0,7,6,4,10,2,6,3,10,1,6,2,10,2,7,3,6,2,0
  637. DATA 3,6,16,0,1,9,1,8,1,7,1,2,1,7,2,2,1,7,1,2,1,7,1,8,1,9
  638. DATA 1,0,1,9,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8,1,9,24,0
  639. DATA 16,8,17,9,5,15,1,8,11,0,1,7,2,1,1,8,1,1,1,8,7,2,2,9
  640. DATA 2,15,1,8,1,9,1,8,2,2,1,8,10,0,1,3,1,7,8,1,1,7,1,3,6,0
  641. DATA 1,4,2,8,10,7,2,8,1,4,9,0,1,7,3,0,2,7,6,0,1,7,4,0,1,7
  642. DATA 6,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,4,0,1,7,9,0,1,7,11,0
  643. DATA 1,7,3,0,1,7,4,0,1,7,5,0,1,7,8,0,1,7,8,0,1,7,11,0,1,7
  644. DATA 14,0,1,7,9,0,1,7,46,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
  645. DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7
  646. DATA 11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,18,0,5,3,3,6,4,7,2,6
  647. DATA 2,7,4,6,5,3,9,0,5,3,3,6,4,7,2,6,3,7,3,6,5,3,9,0,5,3
  648. DATA 3,6,4,7,2,6,3,7,3,6,5,3,32,0,3,6,4,10,2,6,3,10,1,6
  649. DATA 2,10,1,7,3,6,22,0,1,9,1,8,1,7,1,2,1,7,2,2,1,7,1,2,1,7
  650. DATA 1,8,1,9,1,0,1,9,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8
  651. DATA 1,9,24,0,16,8,5,9,1,8,11,9,6,15,10,0,3,7,2,8,1,7,1,8
  652. DATA 6,7,12,8,9,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,1
  653. DATA 1,7,2,1,1,7,2,1,1,7,2,8,1,4,10,0,4,7,7,0,1,7,4,0,1,7
  654. DATA 7,0,3,7,10,0,1,7,10,0,4,7,10,0,1,7,11,0,1,7,3,0,1,7
  655. DATA 4,0,1,7,5,0,1,7,8,0,1,7,8,0,7,7,5,0,1,7,14,0,1,7,9,0
  656. DATA 1,7,47,0,4,7,7,0,4,7,9,0,3,7,9,0,4,7,8,0,3,7,8,0,1,7
  657. DATA 12,0,4,7,7,0,1,7,3,0,1,7,18,0,5,3,15,6,1,10,4,3,9,0
  658. DATA 5,3,15,6,1,10,4,3,9,0,5,3,15,6,1,10,4,3,34,0,2,6,3,10
  659. DATA 2,6,1,10,8,6,23,0,1,11,1,8,1,7,1,2,1,7,2,2,1,7,1,2
  660. DATA 1,7,1,8,1,11,1,0,1,11,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7
  661. DATA 1,8,1,11,23,0,1,6,5,8,1,9,11,8,4,9,4,8,8,9,6,15,1,6
  662. DATA 9,0,1,7,3,1,1,8,1,1,1,8,8,2,3,9,1,8,1,2,1,8,3,2,1,8
  663. DATA 9,0,1,3,1,7,8,1,1,7,1,3,6,0,1,4,2,8,1,7,2,1,1,7,2,1
  664. DATA 1,7,2,1,1,7,2,8,1,4,14,0,1,7,114,0,1,7,24,0,1,7,122,0
  665. DATA 1,7,30,0,4,3,1,10,15,6,1,10,4,3,9,0,4,3,1,10,15,6,1,10
  666. DATA 4,3,9,0,4,3,1,10,15,6,1,10,4,3,35,0,2,6,2,10,1,6,4,10
  667. DATA 4,6,1,0,4,6,20,0,1,11,1,8,1,7,1,2,1,7,2,2,1,7,1,2,1,7
  668. DATA 1,8,1,11,1,0,1,11,1,8,1,7,1,5,1,7,2,5,1,7,1,5,1,7,1,8
  669. DATA 1,11,23,0,1,7,4,8,2,9,10,8,3,9,8,8,6,9,6,15,1,7,6,0
  670. DATA 1,8,1,0,1,7,4,1,1,7,1,1,1,8,11,2,1,8,1,2,1,8,4,2,1,8
  671. DATA 1,0,1,9,6,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,1,7,2,1
  672. DATA 1,7,2,1,1,7,2,1,1,7,2,8,1,4,129,0,2,7,22,0,2,7,22,0
  673. DATA 6,7,90,0,4,7,31,0,4,3,1,10,5,6,5,7,5,6,1,10,4,3,9,0
  674. DATA 4,3,1,10,5,6,5,7,5,6,1,10,4,3,9,0,4,3,1,10,5,6,5,7
  675. DATA 5,6,1,10,4,3,35,0,3,6,2,10,7,6,2,0,1,6,2,10,3,6,18,0
  676. DATA 1,11,1,8,8,7,1,8,1,11,1,0,1,11,1,8,8,7,1,8,1,11,23,0
  677. DATA 16,8,3,9,1,8,1,9,7,8,9,9,4,15,6,0,5,7,1,9,1,8,9,7,15,8
  678. DATA 6,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,1,7,2,2,1,7,2,2
  679. DATA 1,7,2,2,1,7,2,8,1,4,308,0,4,3,2,10,2,6,4,7,1,10,4,7
  680. DATA 3,6,1,10,4,3,9,0,4,3,2,10,2,6,4,7,1,10,4,7,3,6,1,10
  681. DATA 4,3,9,0,4,3,2,10,2,6,4,7,1,10,4,7,3,6,1,10,4,3,36,0
  682. DATA 2,6,1,0,2,6,8,0,2,6,3,10,3,6,16,0,1,11,10,8,1,11,1,0
  683. DATA 1,11,10,8,1,11,13,0,1,5,2,14,1,13,6,0,9,8,2,9,1,8,1,9
  684. DATA 5,8,3,9,7,8,10,9,1,15,2,9,6,0,1,7,1,0,1,7,4,1,1,7,1,1
  685. DATA 1,7,11,2,1,8,1,2,1,8,4,2,1,8,1,0,1,8,6,0,1,3,1,7,8,2
  686. DATA 1,7,1,3,6,0,1,4,2,8,1,7,2,2,1,7,2,2,1,7,2,2,1,7,2,8
  687. DATA 1,4,308,0,4,3,2,10,1,6,11,7,1,6,2,10,4,3,9,0,4,3,2,10
  688. DATA 1,6,11,7,1,6,2,10,4,3,9,0,4,3,2,10,1,6,11,7,1,6,2,10
  689. DATA 4,3,38,0,2,6,5,0,3,6,2,0,1,6,4,10,2,6,16,0,12,9,1,0
  690. DATA 12,9,11,0,1,5,2,14,1,11,2,14,1,13,5,0,7,8,1,9,1,8,4,9
  691. DATA 1,8,1,9,2,8,3,9,8,8,2,9,1,8,6,9,4,15,6,0,1,7,1,0,1,7
  692. DATA 4,1,1,7,1,1,1,7,1,1,10,2,1,8,1,2,1,8,4,2,1,8,1,0,1,8
  693. DATA 6,0,1,3,10,7,1,3,6,0,1,4,2,8,10,7,2,8,1,4,308,0,4,3
  694. DATA 2,10,1,6,11,7,1,6,2,10,4,3,9,0,4,3,2,10,1,6,11,7,1,6
  695. DATA 2,10,4,3,9,0,4,3,2,10,1,6,11,7,1,6,2,10,4,3,46,0,2,6
  696. DATA 2,0,1,6,3,10,2,6,17,0,12,8,1,0,12,8,10,0,1,5,1,14,1,11
  697. DATA 3,14,7,0,1,8,1,9,5,8,1,9,1,8,12,9,2,8,1,9,7,8,2,9,1,15
  698. DATA 3,9,4,15,6,0,5,7,1,9,2,8,8,7,15,8,6,0,1,3,1,7,8,1,1,7
  699. DATA 1,3,6,0,1,4,2,8,1,7,2,2,1,7,2,2,1,7,2,2,1,7,2,8,1,4
  700. DATA 227,0,1,7,21,0,1,7,58,0,3,11,1,3,2,10,1,6,11,7,1,6
  701. DATA 2,10,1,3,3,11,9,0,3,11,1,3,2,10,1,6,11,7,1,6,2,10,1,3
  702. DATA 3,11,9,0,3,11,1,3,2,10,1,6,11,7,1,6,2,10,1,3,3,11,50,0
  703. DATA 2,6,2,10,1,6,18,0,12,6,1,0,12,6,9,0,1,5,4,14,9,0,1,8
  704. DATA 1,9,4,8,2,9,1,8,7,9,5,8,1,9,10,8,1,9,5,15,1,9,2,15
  705. DATA 8,0,1,7,4,1,1,7,1,1,1,7,2,1,9,2,1,8,1,2,1,8,3,2,1,1
  706. DATA 1,8,8,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,1,7,2,2,1,7
  707. DATA 2,2,1,7,2,2,1,7,2,8,1,4,9,0,1,7,11,0,1,7,11,0,1,7,11,0
  708. DATA 1,7,180,0,1,7,10,0,1,7,12,0,1,7,57,0,4,11,2,10,2,6
  709. DATA 9,7,2,6,2,10,4,11,9,0,4,11,2,10,2,6,9,7,2,6,2,10,4,11
  710. DATA 9,0,4,11,2,10,2,6,9,7,2,6,2,10,4,11,51,0,4,6,51,0,1,5
  711. DATA 4,14,10,0,1,8,1,9,3,8,10,9,6,8,3,9,9,8,4,15,2,9,2,15
  712. DATA 8,0,1,7,4,1,1,7,1,1,1,7,3,1,8,2,1,8,1,2,1,8,2,2,2,1
  713. DATA 1,8,8,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,1,7,2,2,1,7
  714. DATA 2,2,1,7,2,2,1,7,2,8,1,4,33,0,1,7,11,0,1,7,95,0,1,7
  715. DATA 84,0,1,7,10,0,1,7,12,0,1,7,11,0,2,7,2,0,1,7,240,0,1,5
  716. DATA 3,14,11,0,1,8,1,9,5,8,6,9,1,8,1,9,2,8,3,9,1,8,3,9,9,8
  717. DATA 7,15,1,8,4,0,6,7,3,1,1,7,1,1,1,7,5,1,6,2,1,8,1,1,1,8
  718. DATA 3,1,6,8,4,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,1,7,2,2
  719. DATA 1,7,2,2,1,7,2,2,1,7,2,8,1,4,33,0,1,7,11,0,1,7,95,0
  720. DATA 1,7,84,0,1,7,10,0,1,7,12,0,1,7,10,0,1,7,2,0,2,7,241,0
  721. DATA 3,14,12,0,1,7,8,8,4,9,4,8,7,9,8,8,1,15,3,9,1,15,2,9
  722. DATA 1,15,1,7,7,0,4,7,3,8,13,7,5,8,3,7,1,8,7,0,1,3,1,7,8,2
  723. DATA 1,7,1,3,6,0,1,4,2,8,1,7,2,2,1,7,2,2,1,7,2,2,1,7,2,8
  724. DATA 1,4,9,0,1,7,11,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,11,0
  725. DATA 3,7,1,0,2,7,6,0,1,7,1,0,2,7,9,0,3,7,8,0,4,7,9,0,4,7
  726. DATA 7,0,2,7,11,0,2,7,9,0,2,7,10,0,1,7,3,0,1,7,7,0,1,7,3,0
  727. DATA 1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,2,0,1,7,9,0,1,7
  728. DATA 2,0,1,7,7,0,4,7,9,0,1,7,10,0,1,7,12,0,1,7,256,0,2,14
  729. DATA 1,5,12,0,1,6,1,8,1,9,6,8,4,9,4,8,8,9,3,8,2,9,1,8,1,15
  730. DATA 5,9,3,15,1,6,6,0,2,7,4,8,11,7,3,8,1,9,4,15,1,9,5,8
  731. DATA 6,0,1,3,1,7,8,2,1,7,1,3,6,0,1,4,2,8,10,7,2,8,1,4,9,0
  732. DATA 1,7,11,0,1,7,11,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,2,0
  733. DATA 1,7,2,0,1,7,5,0,2,7,2,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7
  734. DATA 3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0,1,7,8,0
  735. DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7
  736. DATA 2,0,1,7,5,0,1,7,2,0,1,7,9,0,1,7,2,0,1,7,10,0,1,7,8,0
  737. DATA 1,7,11,0,1,7,13,0,1,7,255,0,1,13,1,14,14,0,1,8,1,9
  738. DATA 6,8,1,9,2,8,2,9,1,8,2,9,1,8,6,9,5,8,1,9,2,15,5,9,3,15
  739. DATA 7,0,3,7,1,0,1,7,2,1,1,7,1,1,1,7,3,1,1,7,1,1,1,7,1,1
  740. DATA 1,7,3,1,1,7,1,1,1,7,2,1,1,8,1,0,3,8,6,0,1,3,1,7,8,2
  741. DATA 1,7,1,3,6,0,1,4,14,8,1,4,9,0,1,7,11,0,1,7,11,0,2,7
  742. DATA 10,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0
  743. DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7
  744. DATA 12,0,1,7,10,0,1,7,11,0,1,7,3,0,1,7,8,0,1,7,1,0,1,7
  745. DATA 8,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,6,0,2,7,10,0,1,7,2,0
  746. DATA 1,7,9,0,1,7,10,0,1,7,10,0,1,7,12,0,1,7,257,0,1,7,14,0
  747. DATA 1,8,1,9,6,8,1,9,1,8,18,9,3,15,4,9,4,15,7,0,2,7,3,0
  748. DATA 1,7,1,1,1,7,1,1,1,7,3,1,1,7,1,1,1,8,1,1,1,8,3,1,1,7
  749. DATA 1,1,1,7,1,1,1,8,3,0,2,8,6,0,12,8,6,0,16,9,9,0,1,7,11,0
  750. DATA 1,7,11,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7
  751. DATA 5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
  752. DATA 1,7,3,0,1,7,7,0,1,7,13,0,1,7,9,0,1,7,11,0,1,7,3,0,1,7
  753. DATA 8,0,1,7,1,0,1,7,8,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,6,0
  754. DATA 2,7,10,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,10,0,1,7,12,0
  755. DATA 1,7,272,0,1,6,1,8,1,9,2,8,1,9,2,8,1,9,2,8,16,9,5,15
  756. DATA 2,9,4,15,1,6,44,0,12,7,6,0,16,8,9,0,1,7,11,0,1,7,11,0
  757. DATA 1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7
  758. DATA 3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
  759. DATA 1,7,7,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,2,7
  760. DATA 9,0,1,7,10,0,1,7,3,0,1,7,6,0,1,7,2,0,1,7,10,0,2,7,8,0
  761. DATA 1,7,12,0,1,7,10,0,1,7,12,0,1,7,273,0,1,8,1,15,4,9,4,8
  762. DATA 2,9,1,8,12,9,12,15,45,0,12,6,6,0,16,8,9,0,1,7,11,0
  763. DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7
  764. DATA 5,0,1,7,3,0,1,7,8,0,3,7,8,0,4,7,9,0,4,7,7,0,1,7,12,0
  765. DATA 2,7,10,0,1,7,11,0,2,7,1,0,1,7,9,0,1,7,10,0,1,7,3,0
  766. DATA 1,7,6,0,1,7,2,0,1,7,10,0,1,7,9,0,4,7,9,0,1,7,10,0,1,7
  767. DATA 12,0,1,7,273,0,1,6,2,15,3,9,2,8,1,9,1,8,2,9,1,8,11,9
  768. DATA 3,15,1,9,8,15,1,6,100,0,1,7,71,0,1,7,15,0,1,7,93,0
  769. DATA 1,7,23,0,1,7,9,0,1,7,11,0,1,7,275,0,1,8,2,15,1,9,2,8
  770. DATA 2,9,1,8,1,9,3,8,9,9,5,15,1,9,6,15,1,8,101,0,1,7,71,0
  771. DATA 1,7,15,0,1,7,91,0,2,7,323,0,1,8,2,15,2,8,1,9,1,8,1,9
  772. DATA 3,8,8,9,14,15,608,0,6,15,2,9,3,8,4,9,16,15,47,0,10,2
  773. DATA 1,10,552,0,1,8,3,15,1,9,24,15,48,0,1,2,9,1,1,10,553,0
  774. DATA 1,8,26,15,49,0,1,2,6,1,1,7,2,1,1,10,554,0,25,15,50,0
  775. DATA 1,2,5,1,2,14,2,1,1,10,533,0,2,5,4,14,1,5,15,0,1,8,21,15
  776. DATA 1,8,40,0,6,8,5,0,1,2,4,1,2,14,1,5,2,1,1,10,532,0,1,5
  777. DATA 4,14,1,11,3,14,1,5,14,0,1,6,19,15,1,6,41,0,6,7,5,0
  778. DATA 1,2,3,1,2,14,1,5,3,1,1,10,531,0,1,5,7,14,1,11,2,14
  779. DATA 16,0,1,6,15,15,1,6,43,0,6,7,5,0,1,2,2,1,2,14,1,5,4,1
  780. DATA 1,10,238,0,1,5,61,0,1,7,20,0,1,5,209,0,3,14,1,5,4,0
  781. DATA 1,5,2,14,19,0,1,6,1,7,7,15,1,7,1,6,46,0,6,7,5,0,1,2
  782. DATA 1,1,1,13,2,5,5,1,1,10,264,0,1,5,61,0,1,7,204,0,2,14
  783. DATA 8,0,1,13,76,0,6,6,5,0,1,2,9,1,1,10,175,0,1,5,62,0,1,5
  784. DATA 61,0,1,7,230,0,1,7,86,0,3,7,3,6,5,0,1,2,9,1,1,10,175,0
  785. DATA 1,5,86,0,1,5,18,0,1,5,35,0,1,5,6,0,1,7,293,0,3,7,3,3
  786. DATA 6,0,10,10,175,0,1,5,62,0,1,14,61,0,1,7,317,0,3,6,3,3
  787. DATA 191,0,1,5,62,0,1,14,10,0,3,5,8,0,1,5,26,0,1,5,12,0
  788. DATA 1,7,5,0,1,5,4,0,3,7,8,0,1,7,492,0,1,5,37,0,1,4,19,0
  789. DATA 3,7,2,0,1,14,9,0,5,5,6,0,1,5,15,0,1,7,19,0,3,7,2,0
  790. DATA 1,7,9,0,5,7,6,0,1,7,46,0,1,7,446,0,1,14,38,0,1,4,16,0
  791. DATA 7,7,9,0,7,5,4,0,1,14,17,0,1,7,16,0,7,7,9,0,7,7,4,0
  792. DATA 1,7,494,0,1,14,39,0,1,5,4,0,1,5,10,0,7,7,4,0,3,7,2,0
  793. DATA 7,5,3,0,1,14,19,0,1,7,4,0,1,7,10,0,7,7,4,0,3,7,2,0
  794. DATA 7,7,3,0,1,7,35,0,5,7,455,0,1,14,6,0,1,5,33,0,1,5,13,0
  795. DATA 9,7,2,0,5,7,1,0,2,5,1,15,4,5,2,7,1,14,21,0,1,7,13,0
  796. DATA 9,7,2,0,5,7,1,0,10,7,34,0,9,7,11,0,1,7,186,0,5,11,35,0
  797. DATA 5,11,191,0,1,5,16,0,5,5,39,0,1,14,12,0,9,7,1,0,7,7
  798. DATA 1,0,3,15,1,14,1,5,5,7,21,0,1,7,12,0,9,7,1,0,7,7,1,0
  799. DATA 10,7,1,0,1,5,30,0,7,7,5,8,19,0,1,7,149,0,1,13,2,14
  800. DATA 1,5,22,0,7,11,33,0,7,11,34,0,5,11,161,0,1,5,4,0,9,5
  801. DATA 13,0,1,5,24,0,1,14,1,0,1,5,9,0,3,7,1,5,5,7,1,0,3,7
  802. DATA 1,5,3,7,2,0,1,15,3,14,6,7,21,0,1,7,1,0,1,7,9,0,9,7
  803. DATA 1,0,1,5,6,7,2,0,10,7,30,0,7,7,7,8,167,0,1,7,5,14,1,5
  804. DATA 19,0,2,11,5,3,2,11,31,0,2,11,5,3,2,11,32,0,7,11,152,0
  805. DATA 1,5,11,0,4,5,5,14,2,5,7,0,1,5,3,0,1,5,17,0,1,4,8,0
  806. DATA 1,15,4,0,5,7,2,0,7,7,2,0,7,7,1,0,1,5,2,7,1,14,8,7,12,0
  807. DATA 1,7,8,0,1,7,4,0,5,7,2,0,7,7,2,0,7,7,1,0,12,7,28,0,7,7
  808. DATA 9,8,168,0,1,5,4,14,1,5,17,0,1,11,9,3,1,11,29,0,1,11
  809. DATA 9,3,1,11,30,0,2,11,5,3,2,11,152,0,1,5,9,0,4,5,7,14
  810. DATA 2,5,3,8,6,0,1,14,31,0,8,7,3,15,4,7,3,0,5,7,1,0,1,5
  811. DATA 1,0,11,7,25,0,15,7,3,0,5,7,1,0,1,7,1,0,11,7,28,0,6,7
  812. DATA 11,8,169,0,4,14,1,5,13,0,3,11,11,3,4,11,25,0,11,11
  813. DATA 29,0,1,11,9,3,1,11,104,0,1,5,47,0,1,5,5,0,1,5,1,0,4,5
  814. DATA 9,14,5,8,4,0,1,14,21,0,1,4,1,0,1,5,7,0,2,7,1,5,5,7
  815. DATA 5,15,1,7,3,0,6,7,2,0,1,14,1,0,11,7,14,0,1,7,1,0,1,7
  816. DATA 7,0,9,7,5,8,3,0,6,7,2,0,1,7,1,0,11,7,19,0,1,7,7,0,7,7
  817. DATA 11,8,5,7,165,0,2,14,1,11,1,14,11,0,2,11,2,3,1,11,11,3
  818. DATA 1,11,3,3,2,11,22,0,1,11,1,3,1,11,7,6,1,11,1,3,1,11
  819. DATA 28,0,11,11,104,0,1,5,48,0,1,14,6,0,3,5,9,14,7,8,3,5
  820. DATA 24,0,2,4,1,0,1,4,3,0,8,7,7,15,7,5,2,0,1,5,5,15,9,7
  821. DATA 13,0,1,5,2,0,2,7,1,0,1,7,3,0,9,7,7,8,6,7,2,0,1,7,1,0
  822. DATA 13,7,27,0,7,7,11,8,6,7,165,0,3,14,1,5,9,0,1,11,7,3
  823. DATA 2,11,3,3,2,11,7,3,1,11,20,0,2,11,1,3,1,7,1,6,3,10,1,6
  824. DATA 3,10,1,6,1,7,1,3,2,11,25,0,1,11,1,3,1,11,7,6,1,11,1,3
  825. DATA 1,11,103,0,1,5,4,0,1,7,44,0,1,14,4,0,3,5,5,14,3,15
  826. DATA 2,14,7,8,5,5,21,0,2,4,3,5,3,0,7,7,1,5,7,15,7,14,2,5
  827. DATA 7,15,1,5,7,7,15,0,5,7,3,0,8,7,9,8,8,7,3,0,11,7,27,0
  828. DATA 7,7,11,8,7,7,165,0,1,14,1,11,1,14,9,0,1,11,6,3,9,11
  829. DATA 7,3,1,11,18,0,1,11,3,3,3,6,1,7,3,6,1,7,3,6,3,3,1,11
  830. DATA 22,0,2,11,1,3,1,7,1,6,3,10,1,6,3,10,1,6,1,7,1,3,2,11
  831. DATA 105,0,3,7,43,0,3,8,2,0,3,5,4,14,5,15,1,14,7,8,5,5,21,0
  832. DATA 1,4,2,5,3,14,2,0,8,7,7,15,8,14,9,15,6,7,16,0,6,7,2,0
  833. DATA 7,7,11,8,8,7,2,0,10,7,28,0,7,7,11,8,8,7,164,0,3,14
  834. DATA 8,0,1,11,6,3,1,11,1,6,3,10,1,6,3,10,1,6,1,11,6,3,1,11
  835. DATA 17,0,1,11,4,3,3,6,2,8,1,7,2,8,3,6,4,3,1,11,20,0,1,11
  836. DATA 3,3,3,6,1,7,3,6,1,7,3,6,3,3,1,11,94,0,3,8,3,0,1,14
  837. DATA 4,0,1,7,7,0,1,5,35,0,5,8,1,0,3,5,4,14,5,15,2,14,5,8
  838. DATA 7,5,19,0,1,4,2,5,5,14,1,0,1,7,1,14,3,7,1,14,3,7,5,15
  839. DATA 8,14,11,15,4,7,1,0,1,5,14,0,8,7,1,0,7,7,11,8,19,7,1,0
  840. DATA 1,7,27,0,8,7,9,8,9,7,48,0,1,8,1,0,3,7,112,0,1,14,1,13
  841. DATA 8,0,1,11,5,3,1,10,1,3,1,6,1,7,5,6,1,7,1,6,1,3,1,10
  842. DATA 5,3,1,11,16,0,1,11,4,3,1,1,1,3,2,6,1,7,1,10,1,8,1,10
  843. DATA 1,7,2,6,1,3,1,1,4,3,1,11,18,0,1,11,4,3,3,6,2,8,1,7
  844. DATA 2,8,3,6,4,3,1,11,92,0,5,8,3,0,4,5,3,14,4,0,1,5,36,0
  845. DATA 5,8,1,0,3,5,3,14,7,15,2,14,3,8,8,5,20,0,2,5,5,14,1,0
  846. DATA 10,7,3,15,1,14,7,15,1,14,11,15,3,7,1,0,1,5,16,0,7,7
  847. DATA 1,0,7,7,11,8,3,7,3,14,3,15,1,7,3,8,5,7,1,0,1,7,23,0
  848. DATA 1,7,5,0,5,7,3,6,7,8,10,7,47,0,3,8,5,7,52,0,5,6,53,0
  849. DATA 1,13,9,0,1,11,5,3,1,10,3,3,1,7,3,6,1,7,3,3,1,10,6,3
  850. DATA 15,0,1,11,5,3,1,1,3,3,1,6,1,7,1,6,1,7,1,6,3,3,1,1,4,3
  851. DATA 2,11,16,0,1,11,4,3,1,1,1,3,2,6,1,7,1,10,1,8,1,10,1,7
  852. DATA 2,6,1,3,1,1,4,3,1,11,37,0,1,5,52,0,7,8,5,5,5,14,40,0
  853. DATA 6,8,3,5,3,14,7,15,3,14,10,5,2,0,1,5,17,0,2,5,5,14,2,0
  854. DATA 9,7,2,14,6,15,1,5,14,15,2,5,1,0,1,5,5,7,12,0,7,7,2,0
  855. DATA 6,7,11,8,2,7,2,14,7,15,3,8,1,0,2,7,1,0,6,7,11,0,1,7
  856. DATA 13,0,4,7,5,6,5,8,3,7,5,8,3,7,48,0,1,8,6,7,51,0,7,6
  857. DATA 62,0,6,3,1,6,1,10,2,3,2,8,1,7,2,8,2,3,1,10,1,6,6,3
  858. DATA 15,0,1,11,6,3,1,1,1,3,2,6,3,9,2,6,1,3,1,1,6,3,1,11
  859. DATA 15,0,1,11,5,3,1,1,3,3,1,6,1,7,1,6,1,7,1,6,3,3,1,1,4,3
  860. DATA 2,11,31,0,1,8,4,0,1,5,52,0,7,8,5,5,5,14,1,5,1,14,36,0
  861. DATA 6,8,1,0,2,8,3,5,2,14,7,15,1,9,1,14,2,5,1,14,7,5,22,0
  862. DATA 2,5,3,14,3,0,8,7,2,14,22,15,1,14,1,0,1,5,7,7,12,0,5,7
  863. DATA 3,0,1,8,5,7,11,8,1,5,3,14,7,15,3,8,1,0,1,7,1,0,8,7
  864. DATA 23,0,4,7,7,6,5,7,9,8,1,7,47,0,9,7,49,0,9,6,61,0,6,3
  865. DATA 2,6,1,10,1,3,1,7,1,10,1,8,1,10,1,7,1,3,1,10,3,6,5,3
  866. DATA 15,0,1,11,7,3,1,1,2,6,3,15,2,6,1,1,7,3,1,11,15,0,1,11
  867. DATA 6,3,1,1,1,3,2,6,3,9,2,6,1,3,1,1,6,3,1,11,30,0,3,8,1,0
  868. DATA 6,5,2,0,1,8,46,0,7,8,5,5,5,14,2,5,35,0,5,8,3,0,2,8
  869. DATA 4,5,2,14,5,15,2,9,11,5,17,0,1,5,5,0,3,5,1,0,3,14,7,7
  870. DATA 2,14,23,15,2,0,9,7,6,0,1,7,5,0,3,7,1,0,2,7,3,8,3,7
  871. DATA 3,5,8,8,2,7,2,14,9,15,2,8,3,0,9,7,21,0,5,7,7,6,3,7
  872. DATA 13,8,4,0,1,7,41,0,9,7,48,0,11,6,60,0,5,3,4,6,1,10,1,6
  873. DATA 1,7,1,6,1,7,1,6,1,10,4,6,5,3,15,0,9,3,1,1,5,6,1,1,9,3
  874. DATA 15,0,1,11,7,3,1,1,2,6,3,15,2,6,1,1,7,3,1,11,26,0,1,5
  875. DATA 4,0,1,8,1,0,8,5,3,8,44,0,1,5,1,0,6,8,3,15,3,5,3,14
  876. DATA 3,5,35,0,5,8,2,0,1,5,1,0,2,8,3,15,1,5,1,14,1,9,3,15
  877. DATA 3,9,4,5,2,0,3,15,27,0,5,14,3,15,1,7,1,0,2,5,1,14,13,15
  878. DATA 1,5,9,15,2,0,11,7,13,0,5,7,1,8,2,7,7,5,5,8,3,7,2,14
  879. DATA 9,15,1,8,3,0,11,7,18,0,7,7,7,6,2,7,15,8,9,0,1,7,33,0
  880. DATA 11,7,47,0,13,6,59,0,5,3,4,6,1,10,1,6,3,7,1,6,1,10,4,6
  881. DATA 1,10,4,3,15,0,5,3,2,6,3,7,1,1,3,10,1,1,3,7,2,6,5,3
  882. DATA 15,0,9,3,1,1,5,6,1,1,9,3,27,0,1,5,4,0,10,5,1,8,46,0
  883. DATA 2,5,4,8,5,15,9,5,34,0,5,8,3,0,1,5,1,4,5,15,1,5,1,14
  884. DATA 5,15,5,5,7,15,24,0,1,5,4,14,5,15,1,0,1,5,1,14,23,15
  885. DATA 2,0,4,7,3,14,5,7,12,0,9,7,6,5,3,15,2,8,5,7,1,14,9,15
  886. DATA 1,7,2,0,12,7,12,0,1,7,4,0,9,7,5,6,3,7,15,8,42,0,11,7
  887. DATA 48,0,5,6,3,7,5,6,59,0,4,3,1,10,5,6,1,10,3,6,1,10,5,6
  888. DATA 1,10,4,3,15,0,4,3,1,1,1,6,13,7,1,6,1,1,4,3,15,0,5,3
  889. DATA 2,6,3,7,1,1,3,10,1,1,3,7,2,6,5,3,31,0,4,5,5,14,4,5
  890. DATA 3,0,1,5,41,0,5,5,10,15,1,5,3,7,2,5,34,0,3,8,4,0,1,4
  891. DATA 1,9,5,15,1,9,7,15,1,5,3,7,7,15,1,5,22,0,1,5,5,14,5,15
  892. DATA 2,5,1,14,22,15,2,5,1,0,2,7,3,15,4,14,3,7,11,0,9,7,6,5
  893. DATA 5,15,7,7,1,14,7,15,3,7,1,0,12,7,17,0,10,7,3,6,3,7,17,8
  894. DATA 40,0,5,8,4,7,3,8,1,7,47,0,4,6,5,7,4,6,59,0,4,3,1,10
  895. DATA 6,6,3,10,6,6,1,10,4,3,15,0,4,3,1,1,2,6,11,7,2,6,1,1
  896. DATA 4,3,15,0,5,3,1,6,13,7,1,6,5,3,30,0,4,5,1,14,3,15,3,14
  897. DATA 4,5,1,0,1,5,37,0,3,8,2,0,5,5,10,15,5,7,1,5,36,0,3,8
  898. DATA 2,0,1,4,1,9,14,15,2,7,9,15,1,5,17,0,1,5,3,0,1,5,5,14
  899. DATA 5,15,2,5,4,15,1,5,16,15,2,14,2,5,1,0,1,7,5,15,3,14
  900. DATA 3,7,7,0,1,7,3,0,9,7,5,5,7,15,7,7,7,15,3,7,1,0,12,7
  901. DATA 16,0,10,7,1,6,1,7,3,8,2,7,17,8,39,0,7,8,2,7,5,8,47,0
  902. DATA 3,6,7,7,3,6,42,0,1,7,2,14,1,5,13,0,4,3,2,10,14,6,1,10
  903. DATA 4,3,15,0,4,3,1,1,3,6,4,7,2,6,3,7,3,6,1,1,4,3,15,0,4,3
  904. DATA 1,1,2,6,11,7,2,6,1,1,4,3,27,0,1,5,2,0,3,5,1,14,5,15
  905. DATA 3,14,3,5,38,0,5,8,6,5,10,15,6,7,35,0,5,8,1,4,3,9,14,15
  906. DATA 1,7,9,15,2,5,12,0,1,14,1,5,2,14,4,0,1,4,1,14,1,4,1,14
  907. DATA 1,4,2,14,3,15,3,5,21,15,2,14,2,5,1,0,7,15,3,14,2,7
  908. DATA 3,0,1,7,3,8,4,0,9,7,5,5,7,15,9,7,3,15,3,8,2,7,1,0,12,7
  909. DATA 15,0,12,7,24,8,37,0,16,8,46,0,3,6,7,7,3,6,43,0,3,14
  910. DATA 1,5,12,0,4,3,2,10,1,3,11,6,1,3,2,10,4,3,15,0,4,3,1,1
  911. DATA 15,6,1,1,4,3,15,0,4,3,1,10,3,6,4,7,2,6,3,7,3,6,1,10
  912. DATA 4,3,29,0,3,5,1,14,9,15,1,14,3,5,37,0,5,8,7,5,9,15,5,7
  913. DATA 1,5,1,14,1,0,1,5,1,0,1,5,30,0,5,5,5,15,1,9,22,15,2,5
  914. DATA 14,0,1,5,2,0,1,5,1,4,2,0,1,5,6,14,26,15,2,14,2,5,1,7
  915. DATA 7,15,3,14,2,7,3,0,5,8,2,7,2,0,9,7,4,5,7,15,1,14,8,7
  916. DATA 7,8,14,7,15,0,1,7,1,8,9,7,25,8,1,0,3,7,32,0,17,8,1,0
  917. DATA 3,7,43,0,2,6,7,7,5,6,42,0,3,14,1,5,11,0,4,3,2,10,2,3
  918. DATA 2,6,5,7,2,6,2,3,2,10,4,3,15,0,4,3,1,1,15,6,1,1,4,3
  919. DATA 15,0,4,3,1,10,15,6,1,10,4,3,27,0,3,8,2,5,1,14,10,15
  920. DATA 3,5,32,0,2,5,1,0,1,14,1,0,5,8,7,5,10,15,3,7,2,5,23,0
  921. DATA 1,5,1,0,1,5,1,0,1,5,1,0,2,5,1,14,1,5,1,14,3,5,2,9,20,15
  922. DATA 1,7,7,15,3,5,4,14,2,5,1,0,1,5,8,0,1,5,5,0,5,14,27,15
  923. DATA 2,14,2,5,1,0,7,15,3,14,2,7,3,0,5,8,5,0,7,7,1,0,5,5
  924. DATA 5,15,2,14,7,7,9,8,1,0,12,7,14,0,1,7,3,8,1,7,3,6,4,7
  925. DATA 25,8,5,7,30,0,18,8,3,7,3,8,42,0,2,6,5,7,6,6,42,0,1,5
  926. DATA 2,14,1,5,11,0,3,11,1,3,2,10,2,3,1,6,3,7,1,10,3,7,1,6
  927. DATA 2,3,2,10,1,3,3,11,15,0,4,3,1,10,5,6,5,7,5,6,1,10,4,3
  928. DATA 15,0,4,3,1,10,1,1,13,6,1,1,1,10,4,3,26,0,5,8,1,5,1,14
  929. DATA 10,15,3,5,38,0,3,8,1,0,7,5,13,15,2,5,33,0,2,5,3,9,21,15
  930. DATA 1,5,7,15,2,5,16,0,3,5,6,0,2,14,28,15,2,14,4,5,5,15
  931. DATA 3,14,2,7,4,0,5,8,1,7,4,0,3,8,5,7,1,0,1,7,3,5,1,14,3,15
  932. DATA 3,14,6,7,11,8,11,7,15,0,2,7,1,8,1,7,5,6,3,7,20,8,1,6
  933. DATA 4,8,6,7,29,0,17,8,3,7,5,8,42,0,2,6,3,7,8,6,42,0,3,14
  934. DATA 11,0,4,11,2,10,2,3,9,7,2,3,2,10,4,11,15,0,4,3,2,10
  935. DATA 2,6,4,7,1,10,4,7,3,6,1,10,4,3,15,0,2,3,1,6,1,3,1,10
  936. DATA 1,1,1,3,3,6,5,7,3,6,1,3,1,1,1,10,1,3,1,6,2,3,25,0,7,8
  937. DATA 2,14,9,15,3,5,41,0,1,8,3,5,3,15,1,5,13,15,1,5,1,14
  938. DATA 32,0,3,5,2,9,22,15,3,5,3,15,3,5,18,0,1,5,2,0,1,5,4,0
  939. DATA 1,7,29,15,1,14,3,5,3,7,3,15,4,14,1,7,6,0,3,8,1,7,2,0
  940. DATA 1,7,1,0,5,8,8,7,1,8,1,7,5,14,2,7,3,14,1,7,13,8,9,7
  941. DATA 6,0,1,5,9,0,4,8,5,6,4,7,7,8,3,6,8,8,3,6,3,8,6,7,29,0
  942. DATA 16,8,4,7,5,8,42,0,3,7,10,6,42,0,3,14,11,0,5,11,1,10
  943. DATA 1,3,1,6,9,7,1,6,1,3,1,10,5,11,15,0,4,3,2,10,1,6,11,7
  944. DATA 1,6,2,10,4,3,15,0,1,3,2,6,1,3,2,1,1,3,1,6,4,7,1,10
  945. DATA 4,7,1,6,1,3,2,1,1,3,2,6,1,3,25,0,7,8,1,5,2,14,7,15
  946. DATA 7,5,38,0,1,8,2,5,18,15,3,5,30,0,3,5,3,9,22,15,5,5,29,0
  947. DATA 1,7,30,15,1,14,2,5,5,7,1,0,3,14,2,7,15,0,5,8,11,7,3,14
  948. DATA 1,8,7,14,12,8,2,7,1,0,5,7,15,0,6,8,5,6,5,7,3,8,2,7
  949. DATA 5,6,8,8,1,6,3,8,7,7,29,0,13,8,7,7,5,8,37,0,3,6,1,0
  950. DATA 5,7,9,6,42,0,1,14,1,11,1,14,11,0,5,11,1,10,1,3,1,6
  951. DATA 9,7,1,6,1,3,1,10,5,11,15,0,4,11,2,10,2,6,9,7,2,6,2,10
  952. DATA 4,11,15,0,5,11,1,1,1,3,1,6,9,7,1,6,1,3,1,1,5,11,25,0
  953. DATA 6,8,3,5,5,14,1,15,5,5,42,0,1,8,1,5,19,15,1,5,32,0,3,5
  954. DATA 3,9,21,15,7,5,24,0,1,5,2,0,2,7,29,15,1,14,1,15,1,5
  955. DATA 7,7,18,0,1,7,1,0,5,8,11,7,4,8,4,14,3,15,2,5,10,8,3,7
  956. DATA 19,0,8,8,3,6,10,7,7,6,11,8,6,7,30,0,13,8,4,7,1,0,3,7
  957. DATA 3,8,37,0,5,6,5,7,1,0,7,6,43,0,3,14,11,0,5,11,1,10,1,3
  958. DATA 2,6,7,7,2,6,1,3,1,10,5,11,106,0,5,8,4,5,3,14,7,5,43,0
  959. DATA 1,8,18,15,1,5,33,0,3,5,3,9,20,15,8,5,23,0,3,5,3,7,32,15
  960. DATA 2,7,3,14,2,5,17,0,4,7,3,8,11,7,4,8,4,14,5,15,2,5,9,8
  961. DATA 3,7,18,0,13,8,3,6,6,7,7,6,10,8,6,7,27,0,2,7,14,8,4,7
  962. DATA 3,0,3,7,38,0,6,6,5,7,1,0,7,6,42,0,1,5,1,11,1,14,1,5
  963. DATA 11,0,5,11,1,10,2,3,9,6,2,3,1,10,5,11,107,0,3,8,1,0
  964. DATA 5,5,3,14,5,5,45,0,7,15,1,14,9,15,1,14,1,5,33,0,4,5
  965. DATA 2,9,11,15,1,9,7,15,1,14,1,5,3,14,4,5,3,0,1,5,20,0,1,5
  966. DATA 1,0,3,7,28,15,1,14,1,5,1,15,1,5,1,7,1,14,1,15,3,14
  967. DATA 2,5,17,0,1,7,1,0,14,7,4,8,1,5,4,14,5,15,3,5,8,8,4,7
  968. DATA 17,0,12,8,5,6,5,7,7,6,1,8,1,6,8,8,4,7,28,0,2,7,14,8
  969. DATA 4,7,45,0,7,6,3,7,4,0,3,6,44,0,3,14,1,5,11,0,1,3,3,11
  970. DATA 17,3,3,11,1,3,112,0,3,5,3,8,5,5,46,0,1,14,4,15,3,7
  971. DATA 1,14,4,15,1,14,2,15,2,14,34,0,4,5,3,9,9,15,3,9,5,15
  972. DATA 7,14,3,5,1,8,25,0,3,7,27,15,2,5,1,14,1,5,2,7,3,15,2,14
  973. DATA 3,5,18,0,10,7,3,8,1,7,4,8,1,5,4,14,5,15,3,5,7,8,6,7
  974. DATA 15,0,10,8,1,6,2,8,5,6,6,7,5,6,1,8,3,6,6,8,4,7,28,0
  975. DATA 3,7,5,8,1,0,7,8,3,7,47,0,7,6,53,0,1,13,2,14,1,5,12,0
  976. DATA 1,3,3,11,7,3,3,0,7,3,3,11,1,3,111,0,1,5,1,0,1,5,5,8
  977. DATA 3,5,1,0,1,5,44,0,1,14,2,0,1,15,7,7,4,15,3,14,36,0,5,5
  978. DATA 2,9,7,15,7,9,3,14,1,5,5,14,3,5,26,0,4,7,25,15,2,5,3,14
  979. DATA 2,0,1,14,1,15,3,14,3,5,18,0,8,7,9,8,3,5,4,14,3,15,5,5
  980. DATA 5,8,7,7,15,0,9,8,3,6,1,8,5,6,7,7,3,6,3,8,1,6,5,8,5,7
  981. DATA 29,0,3,7,5,8,2,0,5,8,52,0,5,6,71,0,3,11,6,3,5,0,6,3
  982. DATA 3,11,111,0,1,5,3,0,5,8,1,5,47,0,1,5,4,0,7,7,6,14,38,0
  983. DATA 7,5,5,15,1,14,7,9,2,14,2,5,5,14,2,5,27,0,5,7,9,15,1,5
  984. DATA 13,15,4,5,1,14,1,7,1,0,1,5,1,0,3,14,4,5,18,0,8,7,9,8
  985. DATA 3,5,7,14,5,5,4,8,1,0,7,7,3,0,1,5,11,0,10,8,1,6,3,8
  986. DATA 3,6,1,7,1,8,11,7,5,8,6,7,5,0,1,7,24,0,4,7,3,8,61,0
  987. DATA 3,6,5,0,3,6,64,0,3,11,1,10,4,3,7,0,4,3,1,10,3,11,115,0
  988. DATA 5,8,47,0,1,5,4,0,9,7,4,14,40,0,7,5,1,14,1,0,3,14,7,9
  989. DATA 3,14,2,5,3,14,2,5,4,0,1,5,23,0,1,14,5,7,7,15,2,5,11,15
  990. DATA 1,5,3,15,1,5,7,7,5,5,19,0,7,7,8,8,1,5,1,8,5,5,3,14
  991. DATA 7,5,3,8,8,7,16,0,15,8,2,7,3,8,16,7,36,0,5,7,8,0,3,7
  992. DATA 58,0,5,6,63,0,1,3,2,11,1,10,3,3,9,0,3,3,1,10,2,11,1,3
  993. DATA 116,0,3,8,53,0,9,7,2,5,4,0,1,14,38,0,6,5,2,0,4,14,5,9
  994. DATA 2,4,3,0,5,5,31,0,5,7,5,15,4,5,7,15,3,5,5,15,8,7,3,5
  995. DATA 5,0,1,5,16,0,5,7,7,8,18,5,10,7,5,0,1,7,11,0,15,8,3,7
  996. DATA 1,8,17,7,37,0,3,7,8,0,5,7,57,0,5,6,63,0,1,3,5,7,11,0
  997. DATA 5,7,1,3,172,0,9,7,49,0,1,14,3,0,5,14,3,9,1,7,1,0,3,5
  998. DATA 2,0,3,8,33,0,8,7,4,5,1,14,7,15,3,5,5,15,10,7,5,0,3,5
  999. DATA 16,0,4,7,8,8,1,5,1,8,15,5,9,7,5,0,3,7,11,0,13,8,22,7
  1000. DATA 47,0,4,7,1,8,2,7,56,0,5,6,63,0,5,7,1,3,11,0,1,3,5,7
  1001. DATA 173,0,7,7,9,0,1,5,39,0,1,14,5,0,3,14,2,7,1,9,1,7,1,0
  1002. DATA 5,5,5,8,1,14,31,0,1,14,8,7,2,5,3,14,1,5,3,15,1,7,1,5
  1003. DATA 2,0,1,14,5,15,1,14,10,7,5,0,1,5,17,0,5,7,7,8,2,7,1,8
  1004. DATA 14,5,10,7,5,0,1,7,6,0,1,5,5,0,13,8,21,7,48,0,7,7,57,0
  1005. DATA 3,6,64,0,5,7,1,3,1,7,9,0,1,7,1,3,5,7,173,0,6,7,1,14
  1006. DATA 48,0,1,5,5,0,3,8,4,7,1,14,1,0,5,5,5,8,1,0,1,14,29,0
  1007. DATA 1,14,7,0,2,7,3,5,1,14,3,5,3,7,2,0,1,5,2,14,7,15,5,7
  1008. DATA 1,14,2,7,13,0,1,5,8,0,1,7,5,0,7,8,3,7,14,5,1,8,9,7
  1009. DATA 19,0,11,8,13,7,3,8,6,7,48,0,7,7,52,0,1,6,71,0,7,7,9,0
  1010. DATA 7,7,175,0,3,7,49,0,1,5,5,0,5,8,2,7,1,0,1,14,1,0,5,5
  1011. DATA 5,8,2,0,1,14,27,0,1,14,9,0,3,15,3,5,8,7,3,14,7,15,5,7
  1012. DATA 1,14,1,5,1,7,20,0,1,7,8,0,3,8,6,7,13,5,11,7,19,0,9,8
  1013. DATA 3,7,1,8,9,7,5,8,4,7,5,0,3,7,42,0,5,7,52,0,3,6,70,0
  1014. DATA 7,6,9,0,7,6,226,0,1,5,5,0,7,8,2,0,1,5,2,0,3,5,2,0,3,8
  1015. DATA 4,0,1,5,24,0,1,14,1,5,4,0,5,5,5,15,11,7,1,14,9,15,5,7
  1016. DATA 1,5,1,14,18,0,2,7,4,0,15,7,11,5,12,7,21,0,5,8,4,7,3,8
  1017. DATA 4,7,1,6,3,7,5,8,3,7,5,0,5,7,42,0,3,7,54,0,1,6,273,0
  1018. DATA 1,5,52,0,7,8,2,0,1,5,15,0,1,5,23,0,1,5,4,0,3,5,3,14
  1019. DATA 5,15,11,7,11,15,5,7,1,5,1,0,1,5,14,0,1,5,1,0,1,7,4,0
  1020. DATA 18,7,9,5,12,7,1,0,1,7,22,0,7,7,1,8,9,7,5,8,3,7,4,0
  1021. DATA 7,7,425,0,7,8,41,0,1,5,4,0,3,5,4,14,5,15,1,0,10,7,11,15
  1022. DATA 6,7,3,5,14,0,1,7,4,0,4,7,3,8,5,7,1,0,10,7,3,5,17,7
  1023. DATA 22,0,17,7,3,8,3,7,5,0,7,7,426,0,5,8,21,0,1,5,19,0,1,5
  1024. DATA 4,0,4,5,1,14,3,15,1,14,3,15,2,0,6,7,1,5,3,7,11,15,6,7
  1025. DATA 1,0,1,5,14,0,1,7,4,0,4,7,5,8,3,7,2,0,27,7,1,0,1,7,25,0
  1026. DATA 19,7,7,0,7,7,427,0,3,8,23,0,1,5,17,0,1,5,5,0,4,5,5,15
  1027. DATA 2,5,2,0,9,7,1,5,1,7,11,15,5,7,3,0,1,5,12,0,1,7,5,0
  1028. DATA 3,7,7,8,1,7,2,0,27,7,3,0,1,7,17,0,1,7,7,0,17,7,9,0
  1029. DATA 5,7,478,0,4,5,5,15,2,5,2,0,11,7,11,15,5,7,4,0,1,5,17,0
  1030. DATA 3,7,7,8,1,7,2,0,27,7,4,0,1,7,26,0,13,7,6,0,1,7,5,0
  1031. DATA 3,7,479,0,4,5,5,15,2,5,2,0,12,7,9,15,5,7,6,0,1,5,16,0
  1032. DATA 3,7,7,8,1,7,2,0,26,7,6,0,1,7,19,0,1,7,8,0,7,7,497,0
  1033. DATA 5,5,3,15,3,5,2,0,6,7,1,5,6,7,7,15,5,7,8,0,1,5,15,0
  1034. DATA 4,7,5,8,2,7,2,0,15,7,1,0,9,7,8,0,1,7,532,0,9,5,3,0
  1035. DATA 14,7,5,15,4,7,27,0,4,7,3,8,2,7,3,0,15,7,3,0,5,7,51,0
  1036. DATA 1,7,492,0,7,5,5,0,6,7,1,5,6,7,37,0,7,7,5,0,13,7,554,0
  1037. DATA 5,5,6,0,13,7,38,0,5,7,6,0,13,7,566,0,11,7,51,0,2,7
  1038. DATA 2,8,7,7,13,0,1,5,43,0,1,7,510,0,9,7,53,0,4,8,5,7,571,0
  1039. DATA 5,7,56,0,2,8,4,7,45,0,1,7,181,0
  1040.  

and K2 the second (chained) file of automaking graphic files

Code: QB64: [Select]
  1. 'K2.BAS: Creates graphics files for KONG.BAS, -chained by K1.BAS
  2. '---------------------------------------------------------------
  3. DEFINT A-Z
  4. DECLARE SUB SaveINSTR (FileNAME$)
  5. DECLARE SUB HighLIGHT (x1%, y1%, x2%, y2%, Colr%)
  6. DECLARE SUB PrintSTRING (x, y, Prnt$)
  7. DECLARE SUB SaveBUILDING (x, UpSET, Building)
  8.  
  9. DIM SHARED Box(1 TO 26000)
  10. DIM SHARED FontBOX(5000)
  11. GOSUB Instructions
  12. GOSUB Buildings
  13. GOSUB TitleBAR
  14. GOSUB WinBOXES
  15. GOSUB ControlPANEL
  16. GOSUB DrawSCREEN
  17.  
  18. OUT &H3C8, 7
  19. OUT &H3C9, 63
  20. OUT &H3C9, 32
  21. OUT &H3C9, 0
  22. LINE (5, 5)-(634, 474), 6, B
  23. LINE (8, 8)-(631, 471), 6, B
  24. LINE (200, 180)-(439, 290), 6, B
  25. LINE (197, 177)-(442, 293), 6, B
  26. PrintSTRING 254, 212, "The graphics files for KONG"
  27. PrintSTRING 243, 226, "have been successfully created."
  28. PrintSTRING 246, 250, "You can now run the program."
  29.  
  30. a$ = INPUT$(1)
  31.  
  32. TitleBAR:
  33. LINE (0, 300)-(639, 340), 1, BF
  34. FOR x = -6 TO 660 STEP 21
  35.     LINE (x, 309)-(x + 18, 331), 2, BF
  36. FOR x = -1 TO 660 STEP 7
  37.     LINE (x, 302)-(x + 2, 306), 10, BF
  38.     LINE (x, 306)-(x + 2, 306), 2
  39.     LINE (x, 334)-(x + 2, 338), 10, BF
  40.     LINE (x, 338)-(x + 2, 338), 2
  41. LINE (0, 300)-(639, 300), 2
  42. LINE (0, 340)-(639, 340), 10
  43. FOR x = 140 TO 498
  44.     FOR y = 0 TO 18
  45.         IF POINT(x, y) <> 0 THEN
  46.             IF y > 9 THEN Colr = 8 ELSE Colr = 15
  47.             PSET (x, y + 314), 10
  48.             PSET (x, y + 311), Colr
  49.         END IF
  50.     NEXT y
  51. PrintSTRING 20, 216, "Instructions"
  52. PrintSTRING 595, 216, "EXIT"
  53. FOR x = 20 TO 620
  54.     FOR y = 216 TO 230
  55.         IF y > 222 THEN Colr = 8 ELSE Colr = 15
  56.         IF POINT(x, y) <> 0 THEN PSET (x, y + 100), Colr
  57.         PSET (x, y), 0
  58.     NEXT y
  59.  
  60. ControlPANEL:
  61. LINE (0, 446)-(639, 479), 7, BF
  62. LINE (0, 446)-(639, 446), 9
  63. PSET (115, 446), 7
  64. DRAW "U10 E4 R399 F4 D10 L407 BE6 P7,7"
  65. PSET (115, 446), 9
  66. DRAW "U10 c15 E4 c9R399 C6 F4 D10"
  67. PSET (0, 435), 7
  68. DRAW "R52 F4 D10 L56 BE4 P7,7"
  69. PSET (0, 435), 9
  70. DRAW "R52 c6 F4 D6"
  71. PSET (639, 435), 7
  72. DRAW "L52 G4 D10 R56 BH4 P7,7"
  73. PSET (639, 435), 9
  74. DRAW "L52 c15 G4 c9 D6"
  75. PSET (215, 432), 7
  76. DRAW "U10 E4 R199 F4 D10 L207 BE5 P7,7"
  77. PSET (215, 432), 9
  78. DRAW "U10 c15 E4 R199 c6 F4 D10"
  79. PSET (5, 440), 4
  80. DRAW "R42 F3 D8 R70 U11 E3 R97 U11 E3 R191"
  81. DRAW "F3 D11 R97 F3 D11 R70 U8 E3 R42 D20 L628 U20 bF4 P4,4"
  82. FOR y = 424 TO 460 STEP 5
  83.     FOR x = 5 TO 634
  84.         IF POINT(x, y) = 4 THEN PSET (x, y), 8
  85.         IF POINT(x, y - 1) = 4 THEN PSET (x, y - 1), 6
  86.     NEXT x
  87. FOR y = 424 TO 460
  88.     FOR x = 4 TO 634
  89.         IF POINT(x, y) = 4 THEN PSET (x, y), 7
  90.     NEXT x
  91. 'Banana Button
  92. LINE (305, 424)-(334, 450), 7, BF
  93. LINE (305, 424)-(334, 451), 9, B
  94. LINE (334, 424)-(334, 450), 6
  95. LINE (309, 428)-(330, 446), 1, BF
  96. LINE (309, 428)-(330, 446), 2, B
  97. LINE (309, 446)-(330, 446), 10
  98. LINE (330, 428)-(330, 446), 10
  99. LINE (305, 451)-(334, 451), 10
  100. LINE (305, 425)-(305, 451), 8
  101. FOR x = 0 TO 16
  102.     FOR y = 0 TO 16
  103.         IF POINT(x, y) <> 0 THEN
  104.             PSET (x + 312, y + 432), 10
  105.             PSET (x + 312, y + 430), POINT(x, y)
  106.         END IF
  107.     NEXT y
  108. 'Transfer KONG
  109. FOR x = 198 TO 256
  110.     FOR y = 0 TO 18
  111.         IF y > 9 THEN Colr = 8 ELSE Colr = 15
  112.         IF POINT(x, y) <> 0 THEN
  113.             PSET (x - 141, y + 452), 10
  114.             PSET (x - 141, y + 450), Colr
  115.         END IF
  116.     NEXT y
  117. 'Transfer YOUNG
  118. FOR x = 424 TO 500
  119.     FOR y = 0 TO 18
  120.         IF y > 9 THEN Colr = 8 ELSE Colr = 15
  121.         IF POINT(x, y) <> 0 THEN
  122.             PSET (x + 92, y + 452), 10
  123.             PSET (x + 92, y + 450), Colr
  124.         END IF
  125.     NEXT y
  126. 'Player LED's
  127. LINE (70, 470)-(100, 477), 8, B
  128. LINE (70, 470)-(70, 477), 6
  129. LINE (70, 470)-(100, 470), 6
  130. LINE (72, 472)-(98, 475), 10, B
  131. LINE (98, 472)-(98, 475), 8
  132. LINE (72, 475)-(98, 475), 8
  133. GET (70, 470)-(100, 477), Box()
  134. PUT (537, 470), Box(), PSET
  135. 'Slider grooves
  136. LINE (359, 469)-(489, 475), 7, BF
  137. LINE (359, 472)-(489, 472), 10
  138. LINE (359, 471)-(489, 473), 9, B
  139. LINE (359, 471)-(359, 473), 6
  140. LINE (359, 471)-(489, 471), 6
  141. 'Get/place slider grooves
  142. GET (354, 462)-(494, 479), Box()
  143. LINE (354, 462)-(494, 479), 7, BF
  144. PUT (135, 442), Box(), PSET
  145. PUT (364, 442), Box(), PSET
  146. GET (245, 442)-(274, 456), Box()
  147. PUT (227, 442), Box(), PSET
  148. LINE (256, 442)-(272, 456), 7, BF
  149. PrintSTRING 185, 462, "Force"
  150. PrintSTRING 436, 462, "Angle"
  151. FOR x = 140 TO 500
  152.     FOR y = 462 TO 478
  153.         IF y > 468 THEN Colr = 9 ELSE Colr = 15
  154.         IF POINT(x, y) <> 7 THEN PSET (x, y), Colr
  155.     NEXT y
  156. FOR x = 146 TO 246 STEP 5
  157.     LINE (x, 446)-(x, 449), 8
  158.     LINE (x, 456)-(x, 459), 8
  159. GET (365, 440)-(380, 460), Box()
  160. LINE (365, 440)-(395, 460), 7, BF
  161. PUT (394, 440), Box(), PSET
  162. FOR x = 404 TO 494 STEP 5
  163.     LINE (x, 446)-(x, 449), 8
  164.     LINE (x, 456)-(x, 459), 8
  165. LINE (255, 442)-(278, 460), 7, BF
  166. LINE (255, 442)-(276, 460), 10, BF
  167. LINE (255, 442)-(276, 460), 9, B
  168. LINE (255, 442)-(276, 442), 6
  169. LINE (255, 442)-(255, 460), 6
  170. PrintSTRING 260, 446, "00"
  171. LINE (362, 442)-(385, 460), 7, BF
  172. LINE (364, 442)-(385, 460), 10, BF
  173. LINE (364, 442)-(385, 460), 9, B
  174. LINE (364, 442)-(364, 460), 6
  175. LINE (364, 442)-(385, 442), 6
  176. PrintSTRING 369, 446, "00"
  177. 'Transfer Cupola
  178. FOR x = 61 TO 95
  179.     FOR y = 48 TO 74
  180.         IF POINT(x, y) <> 0 THEN
  181.             PSET (x - 52, y + 360), POINT(x, y)
  182.             PSET (690 - x, y + 360), POINT(x, y)
  183.         END IF
  184.     NEXT y
  185. CIRCLE (123, 440), 5, 4
  186. PAINT STEP(0, 0), 4
  187. CIRCLE STEP(0, 0), 5, 9
  188. PAINT STEP(0, 0), 7, 9
  189. CIRCLE STEP(0, 0), 5, 6, 3.1, 0
  190. CIRCLE (513, 440), 5, 4
  191. PAINT STEP(0, 0), 4
  192. CIRCLE STEP(0, 0), 5, 9
  193. PAINT STEP(0, 0), 7, 9
  194. CIRCLE STEP(0, 0), 5, 6, 3.1, 0
  195. CIRCLE (223, 426), 5, 4
  196. PAINT STEP(0, 0), 4
  197. CIRCLE STEP(0, 0), 5, 9
  198. PAINT STEP(0, 0), 7, 9
  199. CIRCLE STEP(0, 0), 5, 6, 3.1, 0
  200. CIRCLE (413, 426), 5, 4
  201. PAINT STEP(0, 0), 4
  202. CIRCLE STEP(0, 0), 5, 9
  203. PAINT STEP(0, 0), 7, 9
  204. CIRCLE STEP(0, 0), 5, 6, 3.1, 0
  205. LINE (290, 461)-(350, 477), 9, B
  206. LINE (350, 461)-(350, 477), 6
  207. LINE (290, 477)-(350, 477), 6
  208. LINE (290, 478)-(350, 478), 10
  209. LINE (290, 461)-(290, 477), 8
  210. 'Score boxes
  211. LINE (12, 444)-(42, 474), 0, BF
  212. LINE (12, 444)-(42, 474), 9, B
  213. LINE (12, 444)-(12, 474), 6
  214. LINE (12, 444)-(42, 444), 6
  215. LINE (597, 444)-(627, 474), 0, BF
  216. LINE (597, 444)-(627, 474), 9, B
  217. LINE (597, 444)-(597, 474), 6
  218. LINE (597, 444)-(627, 444), 6
  219. GET (438, 20)-(452, 38), Box()
  220. PUT (19, 450), Box()
  221. PUT (604, 450), Box()
  222. FOR x = 0 TO 639
  223.     FOR y = 362 TO 404
  224.         IF POINT(x, y) = 0 THEN PSET (x, y), 12
  225.     NEXT y
  226. PrintSTRING 298, 464, "NO WIND"
  227. FOR x = 298 TO 342
  228.     FOR y = 465 TO 473
  229.         IF y > 469 THEN Colr = 9 ELSE Colr = 15
  230.         IF POINT(x, y) <> 7 THEN PSET (x, y), Colr
  231.     NEXT y
  232. GET (298, 465)-(342, 473), Box()
  233. DEF SEG = VARSEG(Box(1))
  234. BSAVE "KongWIND.BSV", VARPTR(Box(1)), 240
  235. DIM SliderBOX(1 TO 440)
  236. DEF SEG = VARSEG(SliderBOX(1))
  237. BLOAD "KongSLDR.BSV", VARPTR(SliderBOX(1))
  238. GET (141, 443)-(151, 461), SliderBOX(281)
  239. GET (489, 443)-(499, 461), SliderBOX(361)
  240. DEF SEG = VARSEG(SliderBOX(1))
  241. BSAVE "KongSLDR.BSV", VARPTR(SliderBOX(1)), 880
  242.  
  243. DrawSCREEN:
  244. GET (16, 47)-(56, 87), Box(25000)
  245. GET (0, 300)-(639, 340), Box()
  246. LINE (0, 0)-(639, 350), 0, BF
  247. LINE (0, 0)-(639, 43), 7, BF
  248. LINE (0, 44)-(639, 44), 10
  249. PUT (0, 1), Box(), PSET
  250. PUT (299, 70), Box(25000), PSET
  251. PrintSTRING 2, 46, "Freeware - Copyright 2005 by Bob Seguin"
  252. PrintSTRING 497, 46, "email: BOBSEG@sympatico.ca"
  253. FOR x = 0 TO 639
  254.     FOR y = 46 TO 58
  255.         IF POINT(x, y) <> 0 THEN PSET (x, y), 2
  256.     NEXT y
  257.  
  258. PSET (0, 154), 12
  259. DRAW "r7 U24 R35 NU20 R30 F20 D20 R30 F20 D30 R5 U50 R20 NU20 R20 D60"
  260. DRAW "R5 U30 R5 U4 R20 NU20 R20 D4 R5 D20 R4 U30 R3 U40 R3"
  261. DRAW "U3ru3ru3ru3ru3ru3r2Nu20R2D3rd3rd3rd3rd3rd3r3d40r3d20R4"
  262. DRAW "U30 R30d20r3U60r3u4r25nu12r25d4r3d80r5U30r15Nu12r15d30r5u50r30d40"
  263. DRAW "r5U30 r6U2r34nu12r34d2r6d30r4u20r20d20r5U30e12r20U18e23r"
  264. DRAW "r12nu12r22d108L639U81bfp12,12"
  265. LINE (0, 235)-(639, 400), 12, BF
  266. CIRCLE (605, 198), 200, 12, 2.8, 3.2
  267. CIRCLE (235, 198), 200, 12, 0, .34
  268. LINE (416, 123)-(424, 136), 12, BF
  269. LINE (419, 100)-(421, 125), 12, BF
  270. LINE (420, 80)-(420, 100), 12
  271. PAINT STEP(0, 40), 12
  272.  
  273. PSET (0, 390), 10
  274. DRAW "R10 U10 R100 D5 R10 U10 R80 D30 R20 U20 R60 U8rd8r62 D10"
  275. DRAW "R80 U20 LU10R20 U6lu2r16d2ld6r60d10ld10r118d26L639"
  276. DRAW "U14 BF4 P10,10"
  277. FOR y = 401 TO 440
  278.     FOR x = 0 TO 639
  279.         IF POINT(x, y) = 0 THEN PSET (x, y), 10
  280.     NEXT x
  281. PAINT (60, 396), 10
  282. PAINT (460, 396), 10
  283. GET (80, 340)-(539, 400), Box()
  284. PUT (80, 345), Box(), PSET
  285. FOR Reps = 1 TO 48
  286.     x = FIX(RND * 640)
  287.     y = FIX(RND * 60) + 45
  288.     IF POINT(x, y) = 0 THEN PSET (x, y), 7
  289. NEXT Reps
  290. FOR x = 0 TO 639
  291.     FOR y = 362 TO 404
  292.         IF POINT(x, y) <> 10 THEN PSET (x, y), 0
  293.     NEXT y
  294. GET (0, 362)-(639, 404), Box() '7000
  295. FOR x = 0 TO 639
  296.     FOR y = 362 TO 404
  297.         IF POINT(x, y) = 0 THEN PSET (x, y), 15 ELSE PSET (x, y), 0
  298.     NEXT y
  299. FOR x = 45 TO 595
  300.     FOR y = 430 TO 460
  301.         IF POINT(x, y) = 0 THEN PSET (x, y), 10
  302.     NEXT y
  303. GET (0, 362)-(639, 404), Box(7000) 'Get foreground building mask
  304. PUT (0, 362), Box(), PSET
  305. LINE (80, 410)-(88, 422), 5, BF
  306. LINE (80, 410)-(88, 418), 3, BF
  307. LINE (180, 410)-(188, 422), 0, BF
  308. LINE (480, 390)-(488, 402), 5, BF
  309. LINE (480, 390)-(488, 394), 3, BF
  310. LINE (460, 390)-(468, 402), 0, BF
  311. LINE (440, 412)-(448, 424), 0, BF
  312. GET (0, 362)-(639, 404), Box() '7000 'Get/Save foreground buildings
  313. DEF SEG = VARSEG(Box(1))
  314. BSAVE "KongFBLD.BSV", VARPTR(Box(1)), 28000
  315. LINE (0, 340)-(639, 404), 12, BF
  316. PUT (0, 362), Box(7000), AND
  317. PUT (0, 362), Box()
  318.  
  319. 'Get/Save main screen
  320. FileCOUNT = 0
  321. DEF SEG = VARSEG(Box(1))
  322. FOR y = 0 TO 320 STEP 160
  323.     GET (0, y)-(639, y + 159), Box()
  324.     FileCOUNT = FileCOUNT + 1
  325.     FileNAME$ = "KONGSCR" + LTRIM$(STR$(FileCOUNT)) + ".BSV"
  326.     BSAVE FileNAME$, VARPTR(Box(1)), 52000
  327.  
  328. Buildings:
  329. 'Government building?
  330. PSET (97, 200), 11
  331. DRAW "E16 R33 F16 L65 R32 BU2 P11,11"
  332. FOR x = 102 TO 159 STEP 4
  333.     FOR y = 184 TO 200
  334.         IF POINT(x, y) = 11 THEN PSET (x, y), 3
  335.     NEXT y
  336. PSET (97, 200), 3
  337. DRAW "E16 R33 U3 L33 D3 BE P11,3 BG C3 R33 F16 L67 D3 R69 U3 L30 BD P11,3"
  338. LINE (90, 204)-(169, 208), 7, BF
  339. LINE (90, 204)-(169, 204), 8
  340. LINE (60, 200)-(68, 212), 3, B
  341. LINE (61, 201)-(67, 211), 1, BF
  342. LINE (61, 201)-(67, 211), 7, B
  343. LINE (61, 206)-(67, 206), 7
  344. GET (60, 200)-(68, 212), Box()
  345. PUT (60, 200), Box()
  346. FOR x = 112 TO 140 STEP 14
  347.     PUT (x, 191), Box(), PSET
  348. PSET (130, 180), 7
  349. DRAW "U20 C15 d"
  350. FOR x = 114 TO 146 STEP 2
  351.     LINE (x, 177)-(x, 180), 6
  352.     PSET (x, 177), 8
  353.     IF x < 146 THEN PSET (x + 1, 179), 6
  354. FlagDATA:
  355. DATA 1,2,3,2,2,2,3,4,5,4,3,2
  356. RESTORE FlagDATA
  357. FOR x = 129 TO 119 STEP -1
  358.     READ Down
  359.     LINE (x, 162 + Down)-(x, 168 + Down), 4
  360. LINE (90, 210)-(169, 479), 7, BF
  361. FOR y = 210 TO 470 STEP 2
  362.     LINE (95, y)-(164, y), 6
  363. RANDOMIZE 145678
  364. FOR y = 220 TO 420 STEP 20
  365.     FOR x = 99 TO 157 STEP 11
  366.         LINE (x - 1, y)-(x + 7, y + 12), 7, BF
  367.         IF FIX(RND * 12) = 0 THEN
  368.             Colr1 = 3: Colr2 = 5
  369.         ELSE
  370.             Colr1 = 1: Colr2 = 2
  371.         END IF
  372.         LINE (x + 1, y + 1)-(x + 5, y + 12), Colr1, BF
  373.         LINE (x + 1, y + 3)-(x + 5, y + 12), Colr2, BF
  374.         LINE (x, y + 13)-(x + 6, y + 13), 8
  375.         LINE (x, y + 7)-(x + 5, y + 7), 7
  376.     NEXT x
  377. GET (80, 150)-(180, 479), Box()
  378. PUT (80, 146), Box(), PSET
  379. SaveBUILDING 90, 24, 1
  380.  
  381. 'Modern building
  382. LINE (300, 200)-(379, 204), 6, BF
  383. LINE (300, 205)-(379, 479), 7, BF
  384. PSET (321, 195), 2
  385. DRAW "E4 R30 F4 L38 R10 BU P2,2"
  386. PSET (321, 195), 8
  387. DRAW "E4 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 R5 ND4 F4 L38"
  388. LINE (321, 195)-(359, 199), 8, BF
  389. CIRCLE (308, 200), 6, 6, 0, 3.14
  390. PAINT STEP(0, -1), 6
  391. PSET STEP(0, -4), 8
  392. CIRCLE (372, 200), 6, 6, 0, 3.14
  393. PAINT STEP(0, -1), 6
  394. PSET STEP(0, -4), 8
  395. FOR x = 300 TO 379
  396.     FOR y = 194 TO 197
  397.         IF POINT(x, y) = 6 THEN PSET (x, y), 2
  398.     NEXT y
  399. LINE (300, 200)-(379, 204), 7, BF
  400. LINE (300, 200)-(379, 200), 8
  401. LINE (300, 205)-(379, 206), 10, B
  402. LINE (317, 184)-(317, 199), 7
  403. PSET STEP(0, -15), 8
  404. LINE (363, 184)-(363, 199), 7
  405. PSET STEP(0, -15), 8
  406. FOR y = 210 TO 440 STEP 16
  407.     LINE (300, y)-(379, y + 8), 2, BF
  408.     LINE (300, y)-(379, y + 3), 1, BF
  409.     LINE (300, y + 8)-(379, y + 8), 8
  410.     FOR x = 305 TO 379 STEP 14
  411.         LINE (x, y)-(x, y + 8), 7
  412.     NEXT x
  413. SaveBUILDING 300, 0, 2 '*************************************************
  414.  
  415. 'Hotel --------------------------------------------------------------------
  416. LINE (400, 200)-(479, 479), 3, BF
  417. LINE (420, 195)-(459, 199), 6, BF
  418. LINE (420, 195)-(459, 195), 7
  419. LINE (460, 174)-(460, 199), 7
  420. LINE (454, 176)-(464, 176), 7
  421. LINE (457, 177)-(467, 177), 7
  422. PSET (454, 176), 9
  423. LINE (410, 192)-(414, 199), 6, BF
  424. LINE (410, 192)-(414, 192), 7
  425. LINE (465, 192)-(469, 199), 6, BF
  426. LINE (465, 192)-(469, 192), 7
  427. FOR x = 421 TO 454 STEP 4
  428.     FOR y = 186 TO 193 STEP 3
  429.         LINE (x, y)-(x + 4, y + 3), 6, B
  430.     NEXT y
  431. PrintSTRING 425, 162, "HOTEL"
  432. FOR x = 425 TO 500
  433.     FOR y = 162 TO 174
  434.         IF POINT(x, y) <> 0 THEN PSET (x, y + 20), 4
  435.         PSET (x, y), 0
  436.     NEXT y
  437. GET (100, 50)-(111, 76), Box()
  438. FOR x = 404 TO 468 STEP 15
  439.     PUT (x, 215), Box(), PSET
  440. GET (100, 54)-(111, 76), Box()
  441. FOR x = 404 TO 464 STEP 15
  442.     PUT (x, 248), Box(), PSET
  443.     IF x = 419 THEN
  444.         FOR xx = x TO x + 12
  445.             FOR yy = 248 TO 267
  446.                 IF POINT(xx, yy) = 2 THEN PSET (xx, yy), 5
  447.             NEXT yy
  448.         NEXT xx
  449.     END IF
  450. FOR x = 404 TO 464 STEP 15
  451.     FOR y = 290 TO 479 STEP 32
  452.         PUT (x, y), Box(), PSET
  453.         IF FIX(RND * 12) = 2 THEN
  454.             LINE (x + 2, y + 8)-(x + 9, y + 15), 1, BF
  455.             LINE (x + 2, y + 16)-(x + 9, y + 16), 7
  456.             LINE (x + 2, y + 17)-(x + 9, y + 17), 10
  457.         END IF
  458.         IF FIX(RND * 15) = 0 THEN
  459.             FOR xx = x TO x + 12
  460.                 FOR yy = y TO y + 19
  461.                     IF POINT(xx, yy) = 2 THEN PSET (xx, yy), 5
  462.                 NEXT yy
  463.             NEXT xx
  464.         END IF
  465.     NEXT y
  466. GET (88, 84)-(93, 91), Box()
  467. FOR x = 401 TO 480 STEP 5
  468.     PUT (x, 200), Box(), PSET
  469.     PUT (x, 276), Box(), PSET
  470. LINE (480, 200)-(484, 310), 0, BF
  471. LINE (395, 200)-(399, 310), 0, BF
  472. FOR y = 202 TO 479 STEP 2
  473.     FOR x = 400 TO 480
  474.         IF POINT(x, y) = 3 THEN PSET (x, y), 1
  475.     NEXT x
  476. GET (478, 200)-(478, 210), Box()
  477. PUT (479, 200), Box(), PSET
  478. PUT (400, 200), Box(), PSET
  479. PUT (479, 276), Box(), PSET
  480. PUT (400, 276), Box(), PSET
  481. SaveBUILDING 400, 0, 3 '*************************************************
  482.  
  483. 'Buff Apartment Block -------------------------------------------------------
  484. GET (608, 44)-(619, 67), Box()
  485. GET (621, 44)-(632, 67), Box(500)
  486. LINE (500, 200)-(579, 479), 11, BF
  487. FOR x = 504 TO 574 STEP 15
  488.     FOR y = 216 TO 460 STEP 32
  489.         IF FIX(RND * 6) = 0 THEN
  490.             PUT (x, y), Box(500), PSET
  491.         ELSE
  492.             PUT (x, y), Box(), PSET
  493.         END IF
  494.         LINE (500, y + 27)-(579, y + 27), 9
  495.         LINE (500, y + 28)-(579, y + 28), 8
  496.     NEXT y
  497. LINE (500, 200)-(579, 204), 7, BF
  498. LINE (500, 200)-(579, 200), 9
  499. LINE (500, 205)-(579, 205), 10
  500. LINE (520, 189)-(559, 199), 11, BF
  501. LINE (520, 189)-(559, 192), 7, BF
  502. LINE (520, 189)-(559, 189), 9
  503. LINE (520, 193)-(559, 193), 6
  504. PSET (539, 188), 8
  505. DRAW "U16 C14 D"
  506. SaveBUILDING 500, 0, 4 '*************************************************
  507.  
  508. 'Factory --------------------------------------------------------------------
  509. LINE (0, 150)-(639, 479), 0, BF
  510. LINE (100, 200)-(179, 479), 3, BF
  511. CIRCLE (120, 220), 10, 15, , , .85
  512. CIRCLE (120, 219), 12, 15, , , .83
  513. LINE (105, 222)-(135, 240), 3, BF
  514. GET (120, 206)-(150, 230), Box()
  515. PUT (119, 206), Box(), PSET
  516. PSET (110, 217), 3
  517. PSET (129, 217), 3
  518. LINE (129, 220)-(129, 228), 15
  519. LINE (110, 220)-(110, 228), 15
  520. DRAW "R19"
  521. LINE (110, 236)-(129, 252), 15, B
  522. PSET (108, 220), 15
  523. DRAW "D34 R23 U34"
  524. PAINT (119, 220), 2, 15
  525. PAINT (119, 244), 2, 15
  526. FOR x = 100 TO 140
  527.     FOR y = 200 TO 260
  528.         IF POINT(x, y) = 15 THEN PSET (x, y), 1
  529.     NEXT y
  530. FOR x = 120 TO 140
  531.     FOR y = 216 TO 260
  532.         IF POINT(x, y) = 1 THEN PSET (x, y), 11
  533.     NEXT y
  534. LINE (111, 228)-(120, 228), 11
  535. LINE (111, 236)-(129, 236), 1
  536. LINE (111, 252)-(129, 252), 11
  537. LINE (109, 254)-(129, 254), 11
  538. LINE (124, 213)-(124, 227), 1
  539. LINE (115, 213)-(115, 227), 1
  540. LINE (111, 219)-(129, 219), 1
  541. LINE (115, 236)-(115, 251), 1
  542. LINE (124, 236)-(124, 251), 1
  543. LINE (111, 244)-(129, 244), 1
  544.  
  545. GET (120, 205)-(133, 256), Box()
  546. PUT (118, 205), Box(), PSET
  547. GET (106, 229)-(131, 253), Box()
  548. FOR y = 254 TO 450 STEP 25
  549.     PUT (106, y), Box(), PSET
  550. GET (106, 202)-(132, 470), Box()
  551. LINE (106, 202)-(132, 470), 3, BF
  552. FOR x = 102 TO 158 STEP 25
  553.     PUT (x, 202), Box(), PSET
  554. FOR y = 255 TO 455 STEP 50
  555.     LINE (100, y)-(179, y + 3), 3, BF
  556.     LINE (100, y)-(179, y), 11
  557.     LINE (100, y + 3)-(179, y + 3), 1
  558. LINE (100, 230)-(104, 234), 3, BF
  559. LINE (100, 230)-(104, 230), 11
  560. LINE (100, 234)-(104, 234), 1
  561. GET (100, 230)-(104, 234), Box()
  562. FOR x = 100 TO 175 STEP 25
  563.     FOR y = 230 TO 430 STEP 50
  564.         PUT (x, y), Box(), PSET
  565.     NEXT y
  566. LINE (120, 190)-(159, 199), 3, BF
  567. LINE (120, 190)-(159, 193), 6, BF
  568. LINE (120, 190)-(159, 190), 7
  569. LINE (120, 194)-(159, 194), 10
  570. LINE (100, 200)-(179, 204), 6, BF
  571. LINE (100, 200)-(179, 200), 7
  572. LINE (100, 205)-(179, 205), 10
  573.  
  574. FOR y = 180 TO 479 STEP 2
  575.     FOR x = 100 TO 179
  576.         IF POINT(x, y) = 3 THEN PSET (x, y), 6
  577.     NEXT x
  578.  
  579. FOR Reps = 1 TO 30
  580.     x = FIX(RND * 80) + 100
  581.     y = FIX(RND * 280) + 200
  582.     Colr = FIX(RND * 3)
  583.     SELECT CASE Colr
  584.         CASE 0: Colr = 6
  585.         CASE 1: Colr = 7
  586.         CASE 2: Colr = 8
  587.     END SELECT
  588.     FOR xx = x - 6 TO x + 6
  589.         FOR yy = y - 6 TO y + 6
  590.             IF POINT(xx, yy) = 2 THEN PSET (xx, yy), Colr
  591.         NEXT yy
  592.     NEXT xx
  593. NEXT Reps
  594. PrintSTRING 212, 184, "B-Bomb Mfg"
  595. FOR x = 204 TO 280
  596.     FOR y = 184 TO 196
  597.         IF POINT(x, y) <> 0 THEN PSET (x - 100, y), 4
  598.         PSET (x, y), 0
  599.     NEXT y
  600. FOR x = 208 TO 270 STEP 5
  601.     FOR y = 185 TO 194 STEP 3
  602.         LINE (x, y)-(x + 5, y + 4), 2, B
  603.     NEXT y
  604. FOR x = 208 TO 275
  605.     FOR y = 178 TO 200
  606.         IF POINT(x, y) <> 0 THEN
  607.             IF POINT(x - 101, y + 1) <> 4 THEN PSET (x - 101, y + 1), 6
  608.             PSET (x, y), 0
  609.         END IF
  610.     NEXT y
  611. SaveBUILDING 100, 0, 5 '*************************************************
  612.  
  613. 'Apescape building -------------------------------------------------------------
  614. LINE (200, 200)-(279, 479), 8, BF
  615. LINE (210, 180)-(269, 299), 8, BF
  616. LINE (220, 180)-(259, 180), 9
  617. LINE (207, 200)-(272, 200), 9
  618. CIRCLE (209, 209), 10, 0, 3.14159 * .5, 3.14159
  619. PAINT (201, 201), 0
  620. CIRCLE (270, 209), 10, 0, 0, 3.14159 * .5
  621. PAINT (278, 201), 0
  622. CIRCLE (219, 190), 10, 0, 3.14159 * .5, 3.14159
  623. PAINT (211, 181), 0
  624. CIRCLE (260, 190), 10, 0, 0, 3.14159 * .5
  625. PAINT (268, 181), 0
  626. FOR x = 203 TO 277 STEP 4
  627.     FOR y = 180 TO 479
  628.         IF POINT(x, y) = 8 THEN PSET (x, y), 7
  629.         IF POINT(x + 1, y) = 8 THEN PSET (x + 1, y), 7
  630.     NEXT y
  631. FOR x = 206 TO 270 STEP 10
  632.     FOR y = 220 TO 460 STEP 36
  633.         LINE (x, y)-(x + 7, y + 26), 8, BF
  634.         LINE (x + 1, y + 1)-(x + 6, y + 22), 2, BF
  635.         LINE (x + 1, y + 1)-(x + 6, y + 6), 1, BF
  636.     NEXT y
  637. LINE (239, 158)-(239, 179), 8
  638. PSET (236, 162), 4
  639. PSET (242, 162), 4
  640. FOR x = 217 TO 260 STEP 8
  641.     LINE (x, 190)-(x + 4, 198), 2, BF
  642.     LINE (x, 190)-(x + 4, 193), 1, BF
  643. PSET (200, 205), 6
  644. PSET (205, 200), 6
  645. PSET (210, 186), 6
  646. PSET (215, 181), 6
  647. PSET (219, 180), 8
  648. PSET (218, 180), 7
  649.  
  650. PSET (279, 205), 6
  651. PSET (274, 200), 6
  652. PSET (269, 186), 6
  653. PSET (264, 181), 6
  654.  
  655. PSET (260, 180), 8
  656. PSET (261, 180), 7
  657.  
  658. GET (200, 180)-(279, 214), Box()
  659. PUT (200, 176), Box(), PSET
  660. GET (200, 180)-(279, 214), Box()
  661. PUT (200, 175), Box(), PSET
  662. LINE (206, 200)-(273, 200), 9
  663. LINE (206, 193)-(206, 200), 6
  664. LINE (273, 193)-(273, 200), 6
  665. LINE (214, 175)-(265, 175), 9
  666. LINE (212, 203)-(267, 216), 8, BF
  667. LINE (212, 217)-(267, 217), 6
  668. LINE (212, 203)-(267, 203), 9
  669. PrintSTRING 217, 203, "apescape"
  670. FOR x = 217 TO 267
  671.     FOR y = 203 TO 217
  672.         IF POINT(x, y) = 15 THEN PSET (x, y), 1
  673.     NEXT y
  674. SaveBUILDING 200, 26, 6
  675.  
  676. 'Tenement building ---------------------------------------------------------
  677. LINE (200, 150)-(279, 479), 0, BF
  678. CIRCLE (220, 198), 10, 2, 0, 3.14159
  679. CIRCLE (259, 198), 10, 2, 0, 3.14159
  680. CIRCLE (220, 198), 7, 2, 0, 3.14159
  681. CIRCLE (259, 198), 7, 2, 0, 3.14159
  682. LINE (207, 198)-(210, 198), 2: DRAW "bl3D3r6u3"
  683. LINE (230, 198)-(233, 198), 2: DRAW "D3l6u3"
  684. LINE (246, 198)-(249, 198), 2: DRAW "bl3D3r6u3"
  685. LINE (269, 198)-(272, 198), 2: DRAW "D3l6u3"
  686. CIRCLE (182, 166), 35, 2, 5.3, 6
  687. CIRCLE (297, 166), 35, 2, 3.42, 4.16
  688. LINE (215, 176)-(264, 176), 2
  689. PSET (200, 195), 2
  690. DRAW "D4 R7 BR26 R12 BR27 R7 U4 l10 Bl20 l18 Bl20 l11"
  691. PAINT (240, 190), 1, 2
  692. PAINT (240, 197), 1, 2
  693. PAINT (202, 197), 1, 2
  694. PAINT (277, 197), 1, 2
  695. FOR y = 168 TO 195 STEP 2
  696.     FOR x = 200 TO 279
  697.         IF POINT(x, y) = 1 THEN PSET (x, y), 2
  698.     NEXT x
  699. PAINT (220, 190), 1, 2
  700. PAINT (259, 190), 1, 2
  701. LINE (215, 176)-(264, 176), 7
  702. CIRCLE (220, 198), 10, 7, .5, 2.64159
  703. CIRCLE (259, 198), 10, 7, .5, 2.64159
  704. PSET (200, 195), 7
  705. DRAW "bD4 bR7 BR26 bR12 bBR27 bR7 bU4 l9 Bl22 l17 Bl22 l9"
  706. FOR x = 215 TO 263 STEP 2
  707.     PSET (x, 174), 7
  708.     PSET (x, 175), 6
  709. LINE (213, 198)-(227, 198), 2
  710. PAINT (220, 197), 1, 2
  711. CIRCLE (220, 195), 1, 8
  712. LINE (215, 198)-(225, 217), 2, B
  713. LINE (216, 199)-(224, 216), 1, BF
  714. LINE (216, 199)-(224, 216), 6, B
  715. LINE (220, 199)-(220, 211), 6: DRAW "nL3nR3"
  716. PAINT (220, 215), 10, 6
  717. CIRCLE (220, 199), 7, 10, .14, 3, 1.1
  718. LINE (217, 200)-(219, 201), 10, B
  719. LINE (221, 200)-(223, 201), 10, B
  720. LINE (214, 218)-(226, 218), 7
  721. GET (210, 190)-(230, 220), Box()
  722. PUT (249, 190), Box(), PSET
  723. PSET (200, 200), 10: DRAW "R6 D2 R6 BR16 R6 U2 R11 D2 R6 BR16 R6 U2 R6"
  724. FOR x = 200 TO 279
  725.     FOR y = 200 TO 479 STEP 2
  726.         IF POINT(x, y) = 0 THEN PSET (x, y), 3
  727.         IF POINT(x, y + 1) = 0 THEN PSET (x, y + 1), 1
  728.     NEXT y
  729. LINE (236, 202)-(243, 212), 2, B
  730. PAINT (238, 210), 7, 2
  731. LINE (237, 203)-(242, 211), 6, B
  732. LINE (237, 207)-(242, 207), 6
  733. PAINT (238, 206), 3, 6
  734. PAINT (238, 208), 5, 6
  735. LINE (235, 213)-(244, 213), 7
  736. LINE (238, 204)-(241, 204), 10
  737. LINE (202, 230)-(220, 234), 10, BF
  738. LINE (218, 230)-(220, 254), 10, BF
  739. LINE (259, 230)-(279, 234), 10, BF
  740. LINE (200, 228)-(279, 229), 2, B
  741. LINE (200, 229)-(201, 254), 2, B
  742. LINE (278, 229)-(279, 254), 2, B
  743. LINE (207, 232)-(212, 242), 6, B
  744. LINE (208, 233)-(211, 233), 10
  745. LINE (200, 245)-(220, 254), 2, B
  746. PAINT (210, 235), 7, 6
  747. PAINT (210, 235), 3, 6
  748. LINE (207, 237)-(212, 237), 6
  749. PAINT (210, 238), 5, 6
  750. LINE (208, 233)-(211, 233), 10
  751. LINE (200, 244)-(220, 254), 2, B
  752. LINE (202, 244)-(220, 244), 7
  753. LINE (202, 252)-(218, 253), 10, BF
  754. FOR x = 202 TO 218 STEP 2
  755.     LINE (x, 245)-(x, 254), 2
  756. LINE (226, 232)-(236, 246), 1, BF
  757. LINE (226, 232)-(236, 246), 6, B
  758. LINE (226, 239)-(236, 239), 6
  759. LINE (225, 247)-(237, 247), 7
  760. FOR x = 200 TO 239
  761.     FOR y = 200 TO 279
  762.         PSET (479 - x, y), POINT(x, y)
  763.     NEXT y
  764. GET (200, 228)-(279, 258), Box()
  765. FOR y = 224 TO 450 STEP 32
  766.     PUT (200, y), Box(), PSET
  767.     IF FIX(RND * 12) = 0 THEN
  768.         PAINT (230, y + 6), 3, 6
  769.         PAINT (230, y + 14), 5, 6
  770.     END IF
  771.     IF FIX(RND * 2) = 0 THEN
  772.         PAINT (249, y + 6), 3, 6
  773.         PAINT (249, y + 14), 5, 6
  774.     END IF
  775.     IF FIX(RND * 5) = 0 THEN
  776.         PAINT (210, y + 8), 1, 6
  777.         PAINT (210, y + 11), 7, 6
  778.     END IF
  779.     IF FIX(RND * 2) = 0 THEN
  780.         PAINT (269, y + 8), 1, 6
  781.         PAINT (269, y + 11), 7, 6
  782.     END IF
  783.     LINE (227, y + 5)-(235, y + 5), 10
  784.     LINE (244, y + 5)-(252, y + 5), 10
  785.     LINE (268, y + 5)-(271, y + 5), 10
  786.     LINE (208, y + 5)-(211, y + 5), 10
  787. SaveBUILDING 200, 25, 7
  788.  
  789. 'Balcony Apartment ----------------------------------------------------------
  790. LINE (0, 150)-(400, 479), 0, BF
  791. GET (118, 50)-(133, 76), Box()
  792. PUT (118, 250), Box()
  793. LINE (300, 200)-(379, 479), 4, BF
  794. GET (118, 240)-(133, 260), Box()
  795. PUT (118, 246), Box(), PSET
  796. GET (118, 256)-(133, 276), Box(6000)
  797. PUT (218, 256), Box(6000)
  798. FOR x = 218 TO 233
  799.     FOR y = 256 TO 276
  800.         IF POINT(x, y) = 1 OR POINT(x, y) = 10 THEN PSET (x, y), 3
  801.         IF POINT(x, y) = 2 THEN PSET (x, y), 5
  802.     NEXT y
  803. GET (219, 257)-(232, 276), Box(5000)
  804. FOR x = 304 TO 360 STEP 18
  805.     IF x = 340 THEN x = 360
  806.     PUT (x, 212), Box(6000), PSET
  807. GET (118, 50)-(133, 76), Box()
  808. PUT (341, 212), Box(), PSET
  809. GET (340, 224)-(359, 235), Box()
  810. PUT (340, 230), Box(), PSET
  811. LINE (329, 242)-(368, 243), 9, B
  812. LINE (329, 232)-(368, 243), 8, B
  813. FOR x = 330 TO 368 STEP 2
  814.     LINE (x, 232)-(x, 242), 8
  815. LINE (300, 242)-(328, 243), 8, BF
  816. LINE (369, 242)-(379, 243), 8, BF
  817. LINE (300, 244)-(379, 244), 6
  818. FOR x = 301 TO 379 STEP 18
  819.     IF x = 355 THEN x = 357
  820.     LINE (x, 214)-(x + 3, 228), 8, BF
  821.     FOR y = 216 TO 226 STEP 2
  822.         LINE (x + 1, y)-(x + 2, y), 7
  823.     NEXT y
  824. GET (300, 212)-(379, 244), Box()
  825. FOR y = 212 TO 440 STEP 38
  826.     PUT (300, y), Box(), PSET
  827. LINE (300, 200)-(379, 204), 8, BF
  828. LINE (300, 200)-(379, 200), 9
  829. LINE (300, 205)-(379, 205), 6
  830. LINE (320, 188)-(359, 199), 11, BF
  831. LINE (319, 188)-(360, 190), 8, BF
  832. LINE (320, 191)-(359, 191), 10
  833. FOR x = 300 TO 379
  834.     FOR y = 200 TO 479
  835.         IF POINT(x, y) = 4 THEN PSET (x, y), 11
  836.     NEXT y
  837. FOR y = 188 TO 478 STEP 2
  838.     FOR x = 300 TO 379
  839.         IF POINT(x, y) = 11 THEN PSET (x, y), 3
  840.     NEXT x
  841. PSET (363, 199), 7
  842. DRAW "U24 C15 D"
  843. FOR x = 305 TO 360 STEP 18
  844.     IF x = 341 THEN x = 361
  845.     FOR y = 213 TO 440 STEP 38
  846.         IF FIX(RND * 10) = 0 THEN PUT (x, y), Box(5000), PSET
  847.         LINE (329, 232)-(368, 232), 15
  848.     NEXT y
  849. FOR y = 232 TO 470 STEP 38
  850.     LINE (329, y)-(368, y), 15
  851. SaveBUILDING 300, 0, 8
  852. LINE (0, 150)-(639, 479), 0, BF
  853.  
  854. SetPALETTE:
  855. DATA 0,4,16,0,10,21,0,16,32,32,10,0
  856. DATA 63,0,0,63,32,0,18,18,24,30,30,37
  857. DATA 42,42,50,55,55,63,0,0,0,43,27,19
  858. DATA 8,8,21,0,63,21,63,63,21,63,63,63
  859.  
  860. RESTORE SetPALETTE
  861. OUT &H3C8, 0
  862. FOR n = 1 TO 48
  863.     READ Intensity
  864.     OUT &H3C9, Intensity
  865.  
  866. WinBOXES:
  867. GET (140, 0)-(256, 18), Box()
  868. GET (376, 0)-(500, 18), Box(5000)
  869. GET (520, 0)-(580, 18), Box(10000)
  870. PUT (198, 200), Box()
  871. PUT (320, 200), Box(10000)
  872. PrintSTRING 220, 223, "To play again, press ENTER"
  873. PrintSTRING 219, 236, "Press any other key to EXIT"
  874. FOR x = 174 TO 400
  875.     FOR y = 192 TO 254
  876.         IF y > 210 THEN Colr = 8 ELSE Colr = 15
  877.         IF y > 222 THEN Colr = 9
  878.         IF POINT(x, y) = 0 THEN PSET (x, y), 1 ELSE PSET (x, y), Colr
  879.     NEXT y
  880. FOR y = 224 TO 200 STEP -1
  881.     FOR x = 174 TO 400
  882.         IF POINT(x, y - 2) <> 1 AND POINT(x, y) = 1 THEN PSET (x, y), 10
  883.     NEXT x
  884. LINE (176, 194)-(398, 252), 6, B
  885. LINE (174, 192)-(400, 254), 6, B
  886. GET (174, 192)-(400, 254), Box()
  887. LINE (170, 188)-(404, 258), 8, BF
  888. LINE (170, 188)-(404, 258), 15, B
  889. LINE (170, 258)-(404, 258), 10
  890. LINE (404, 188)-(404, 258), 10
  891. PUT (174, 192), Box(), PSET
  892. GET (170, 188)-(404, 258), Box()
  893. DEF SEG = VARSEG(Box(1))
  894. BSAVE "KongWINK.BSV", VARPTR(Box(1)), 9000
  895. LINE (177, 197)-(394, 222), 1, BF
  896. PUT (196, 200), Box(5000)
  897. PUT (324, 200), Box(10000)
  898. FOR y = 224 TO 200 STEP -1
  899.     FOR x = 190 TO 382
  900.         IF y > 210 THEN Colr = 8 ELSE Colr = 15
  901.         IF POINT(x, y - 2) <> 1 THEN PSET (x, y - 2), Colr
  902.     NEXT x
  903. FOR y = 224 TO 200 STEP -1
  904.     FOR x = 174 TO 400
  905.         IF POINT(x, y - 2) <> 1 AND POINT(x, y) = 1 THEN PSET (x, y), 10
  906.     NEXT x
  907. GET (196, 200)-(386, 220), Box()
  908. PUT (195, 200), Box(), PSET
  909. GET (170, 188)-(404, 258), Box()
  910. PUT (170, 188), Box()
  911. DEF SEG = VARSEG(Box(1))
  912. BSAVE "KongWINY.BSV", VARPTR(Box(1)), 9000
  913.  
  914. Instructions:
  915. LINE (192, 160)-(447, 310), 8, BF
  916. LINE (192, 160)-(447, 310), 15, B
  917. LINE (192, 310)-(447, 310), 10
  918. LINE (447, 160)-(447, 310), 10
  919. LINE (202, 164)-(436, 305), 1, BF
  920. LINE (202, 164)-(436, 305), 6, B
  921. LINE (204, 166)-(434, 303), 6, B
  922. LINE (400, 175)-(424, 187), 7, BF
  923. PrintSTRING 216, 176, "INSTRUCTIONS"
  924. PrintSTRING 216, 194, "The object of the game is to be the first"
  925. PrintSTRING 216, 206, "player to achieve a score of 3. You gain"
  926. PrintSTRING 216, 218, "1"
  927. PrintSTRING 225, 218, "point each time you blow up the other"
  928. PrintSTRING 216, 230, "player's gorilla with an exploding banana."
  929. PrintSTRING 216, 248, "Unless playing the computer, begin by"
  930. PrintSTRING 216, 260, "deciding which player will control which"
  931. PrintSTRING 216, 272, "gorilla, then click the"
  932. PrintSTRING 340, 272, "button to begin."
  933. PrintSTRING 216, 284, "The starting gorilla is chosen at random."
  934. FOR x = 207 TO 431
  935.     FOR y = 167 TO 295
  936.         IF y < 194 THEN Colr = 9 ELSE Colr = 8
  937.         IF y < 181 THEN Colr = 15
  938.         IF POINT(x, y) <> 1 THEN PSET (x, y), Colr
  939.     NEXT y
  940. HighLIGHT 354, 206, 362, 217, 9
  941. HighLIGHT 216, 218, 222, 229, 9
  942. PSET (404, 184), 6
  943. DRAW "U6 R12 U2 F5 G5 U2 L12 BE2 P6,6"
  944. LINE (321, 275)-(332, 281), 8, BF
  945. LINE (321, 282)-(332, 282), 10
  946. LINE (323, 278)-(330, 278), 1: DRAW "NH2G2"
  947. SaveINSTR "KongINS1.BSV"
  948. LINE (205, 193)-(433, 295), 1, BF
  949. PrintSTRING 216, 194, "When a player's gorilla is the thrower,"
  950. PrintSTRING 216, 206, "the LED will be green under his name (and"
  951. PrintSTRING 216, 218, "he'll be holding a banana). Click on the"
  952. PrintSTRING 216, 230, "Angle slider and drag it to adjust the initial"
  953. PrintSTRING 216, 242, "throwing angle (0 degrees is a horizontal"
  954. PrintSTRING 216, 254, "throw in the other gorilla's direction). Set"
  955. PrintSTRING 216, 266, "the Force slider in the same way. To toss"
  956. PrintSTRING 216, 278, "the banana, click the Banana button"
  957. PrintSTRING 410, 278, "."
  958. HighLIGHT 216, 194, 434, 295, 8
  959. HighLIGHT 234, 206, 254, 217, 9
  960. HighLIGHT 216, 230, 244, 241, 9
  961. HighLIGHT 236, 266, 264, 277, 9
  962. HighLIGHT 322, 278, 360, 299, 9
  963. LINE (204, 166)-(434, 303), 6, B
  964. GET (99, 80)-(109, 90), Box()
  965. PUT (397, 279), Box(), PSET
  966. SaveINSTR "KongINS2.BSV"
  967. LINE (205, 193)-(433, 295), 1, BF
  968. PrintSTRING 216, 194, "Be sure to check the Wind arrow (bottom"
  969. PrintSTRING 216, 206, "center of the screen). The arrow shows both"
  970. PrintSTRING 216, 218, "the direction and strength of the wind (the"
  971. PrintSTRING 216, 230, "longer the arrow, the stronger the wind). A"
  972. PrintSTRING 216, 242, "strong opposing wind can actually blow the"
  973. PrintSTRING 216, 254, "banana backwards if the Force of the toss"
  974. PrintSTRING 216, 266, "isn't strong enough!"
  975. PrintSTRING 348, 282, "Good Luck!"
  976. HighLIGHT 216, 194, 434, 295, 8
  977. HighLIGHT 320, 194, 348, 205, 9
  978. HighLIGHT 348, 282, 420, 294, 15
  979. LINE (400, 175)-(424, 187), 15, BF
  980. LINE (400, 182)-(424, 187), 9, BF
  981. PSET (406, 177), 4
  982. DRAW "F8rH8rF8rH8rF8 BU8 G8lE8lG8lE8lG8"
  983. FOR x = 400 TO 424
  984.     FOR y = 175 TO 187
  985.         IF POINT(x, y) <> 15 AND POINT(x, y) <> 9 THEN PSET (x, y), 6
  986.     NEXT y
  987. LINE (204, 166)-(434, 303), 6, B
  988. SaveINSTR "KongINS3.BSV"
  989. PUT (192, 160), Box()
  990. LINE (180, 194)-(400, 270), 7, BF
  991. LINE (180, 194)-(400, 270), 9, B
  992. LINE (180, 270)-(400, 270), 6
  993. LINE (400, 194)-(400, 270), 6
  994. LINE (194, 198)-(384, 266), 1, BF
  995. LINE (196, 200)-(382, 264), 6, B
  996. PrintSTRING 238, 208, "Click Your Preference"
  997. PrintSTRING 252, 227, "2 players"
  998. PrintSTRING 252, 243, "1 player (play computer)"
  999. HighLIGHT 238, 208, 380, 255, 9
  1000. HighLIGHT 238, 208, 380, 214, 15
  1001. LINE (215, 227)-(241, 239), 10, B
  1002. LINE (216, 228)-(240, 238), 8, BF
  1003. LINE (216, 228)-(240, 238), 15, B
  1004. LINE (240, 228)-(240, 238), 6
  1005. LINE (216, 238)-(240, 238), 6
  1006. LINE (215, 243)-(241, 255), 10, B
  1007. LINE (216, 244)-(240, 254), 8, BF
  1008. LINE (216, 244)-(240, 254), 15, B
  1009. LINE (240, 244)-(240, 254), 6
  1010. LINE (216, 254)-(240, 254), 6
  1011. GET (180, 194)-(400, 270), Box()
  1012. PUT (180, 194), Box()
  1013. DEF SEG = VARSEG(Box(1))
  1014. BSAVE "Kong1PL2.BSV", VARPTR(Box(1)), 8800
  1015. LINE (180, 194)-(400, 270), 7, BF
  1016. LINE (180, 194)-(400, 270), 9, B
  1017. LINE (180, 270)-(400, 270), 6
  1018. LINE (400, 194)-(400, 270), 6
  1019. LINE (194, 198)-(384, 266), 1, BF
  1020. LINE (196, 200)-(382, 264), 6, B
  1021. PrintSTRING 256, 207, "Your gorilla is"
  1022. PrintSTRING 236, 243, "Click to begin"
  1023. HighLIGHT 233, 207, 380, 257, 9
  1024. FOR x = 138 TO 256
  1025.     FOR y = 0 TO 20
  1026.         IF y > 9 THEN Colr = 8 ELSE Colr = 15
  1027.         IF POINT(x, y) <> 0 THEN
  1028.             PSET (x + 92, y + 223), 10
  1029.             PSET (x + 92, y + 221), Colr
  1030.         END IF
  1031.     NEXT y
  1032. LINE (311, 244)-(337, 253), 10, B
  1033. LINE (312, 245)-(336, 255), 8, BF
  1034. LINE (312, 245)-(336, 255), 15, B
  1035. LINE (336, 245)-(336, 255), 6
  1036. LINE (312, 255)-(336, 255), 6
  1037. PSET (318, 249), 1
  1038. DRAW "R9 U2 F3 G3 U2 L9 U2 BF P1,1"
  1039. GET (180, 194)-(400, 270), Box()
  1040. PUT (180, 194), Box()
  1041. DEF SEG = VARSEG(Box(1))
  1042. BSAVE "Kong1PLR.BSV", VARPTR(Box(1)), 8800
  1043. LINE (180, 194)-(400, 270), 7, BF
  1044. LINE (180, 194)-(400, 270), 9, B
  1045. LINE (180, 270)-(400, 270), 6
  1046. LINE (400, 194)-(400, 270), 6
  1047. LINE (194, 198)-(384, 266), 1, BF
  1048. LINE (196, 200)-(382, 264), 6, B
  1049. PrintSTRING 234, 214, "Decide who will control"
  1050. PrintSTRING 234, 226, "which gorilla and then..."
  1051. PrintSTRING 236, 243, "Click to begin"
  1052. HighLIGHT 225, 212, 380, 257, 9
  1053. LINE (311, 244)-(337, 253), 10, B
  1054. LINE (312, 245)-(336, 255), 8, BF
  1055. LINE (312, 245)-(336, 255), 15, B
  1056. LINE (336, 245)-(336, 255), 6
  1057. LINE (312, 255)-(336, 255), 6
  1058. PSET (318, 249), 1
  1059. DRAW "R9 U2 F3 G3 U2 L9 U2 BF P1,1"
  1060. GET (180, 194)-(400, 270), Box()
  1061. PUT (180, 194), Box()
  1062. DEF SEG = VARSEG(Box(1))
  1063. BSAVE "KongOPEN.BSV", VARPTR(Box(1)), 8800
  1064.  
  1065. SUB HighLIGHT (x1, y1, x2, y2, Colr)
  1066.     FOR x = x1 TO x2
  1067.         FOR y = y1 TO y2
  1068.             IF POINT(x, y) <> 1 THEN PSET (x, y), Colr
  1069.         NEXT y
  1070.     NEXT x
  1071.  
  1072. SUB PrintSTRING (x, y, Prnt$)
  1073.  
  1074.     DEF SEG = VARSEG(FontBOX(0))
  1075.     BLOAD "Kong.FBS", VARPTR(FontBOX(0))
  1076.     DEF SEG
  1077.  
  1078.     FOR i = 1 TO LEN(Prnt$)
  1079.         Char$ = MID$(Prnt$, i, 1)
  1080.         IF Char$ = " " THEN
  1081.             x = x + FontBOX(1)
  1082.         ELSE
  1083.             Index = (ASC(Char$) - 33) * FontBOX(0) + 2
  1084.  
  1085.             PUT (x, y), FontBOX(Index)
  1086.             x = x + FontBOX(Index)
  1087.         END IF
  1088.     NEXT i
  1089.  
  1090.  
  1091. SUB SaveBUILDING (x, UpSET, Building)
  1092.  
  1093.     Box(1) = UpSET
  1094.     LINE (x, 155)-(x, 479), 0
  1095.     LINE (x + 79, 155)-(x + 79, 479), 0
  1096.     GET (x, 155)-(x + 79, 199), Box(2)
  1097.     FOR xx = x TO x + 79
  1098.         FOR yy = 155 TO 199
  1099.             IF POINT(xx, yy) = 0 THEN PSET (xx, yy), 15 ELSE PSET (xx, yy), 0
  1100.         NEXT yy
  1101.     NEXT xx
  1102.     GET (x, 155)-(x + 79, 199), Box(1000)
  1103.     GET (x, 200)-(x + 79, 479), Box(2000)
  1104.     FileNAME$ = "KongBLD" + LTRIM$(STR$(Building)) + ".BSV"
  1105.     DEF SEG = VARSEG(Box(1))
  1106.     BSAVE FileNAME$, VARPTR(Box(1)), 16000
  1107.     DEF SEG
  1108.  
  1109.  
  1110. SUB SaveINSTR (FileNAME$)
  1111.     GET (192, 160)-(447, 310), Box()
  1112.     DEF SEG = VARSEG(Box(1))
  1113.     BSAVE FileNAME$, VARPTR(Box(1)), 20000
  1114.     DEF SEG
  1115.  

Instruction to use:
1. save the 3 files into the same folder
2. load K2.BAS into QB64ide and press F11 (make only EXE)
3. load K1_TheBob.bas into QB64ide and press F5 (run)
4. load Kong.Bas into QB64ide and press F5(run) to play game

if you like to run it into fullscreen please add this line at top of Kong.BAS
Code: QB64: [Select]


feel fre to enjoy yourself!
* Kong.bas (Filesize: 36.21 KB, Downloads: 97)
* K1_theBob.bas (Filesize: 52.91 KB, Downloads: 110)
* k2.bas (Filesize: 34.75 KB, Downloads: 109)
Programming isn't difficult, only it's  consuming time and coffee

Offline qb4ever

  • Newbie
  • Posts: 40
  • LOCATE 15,15: COLOR 14: PRINT "Hello World!"
    • View Profile
Re: Knight VS Castle
« Reply #21 on: March 08, 2019, 05:42:36 am »
Thanks TempodiBasic.

Are you italian ?
Which region are you from ?

A presto, ciao.

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Knight VS Castle
« Reply #22 on: March 08, 2019, 06:38:39 pm »
Hi guys
I must remark that the game is also into folder of TheBob at path \programs\samples\thebob\Kong

but the translation is here above posted by me  :-)
until QB64 will not become compatible with Call Absolute with INT calls in hexs

@qb4ever

yes I think to be italian until the lega'll not build the wall along the Rubicone... :-)

I was born and I live in Nocera Inferiore (Salerno)
this is my location on Google map
https://www.qb64.org/forum/index.php?topic=550.msg4458#msg4458

and you?

Sai per me la programmazione è affascinante e divertente. Forse perchè non la vivo come lavoro, infatti sono hobbista.
Programming isn't difficult, only it's  consuming time and coffee

Offline qb4ever

  • Newbie
  • Posts: 40
  • LOCATE 15,15: COLOR 14: PRINT "Hello World!"
    • View Profile
Re: Knight VS Castle
« Reply #23 on: March 09, 2019, 08:59:49 am »
Hi guys
I must remark that the game is also into folder of TheBob at path \programs\samples\thebob\Kong

but the translation is here above posted by me  :-)
until QB64 will not become compatible with Call Absolute with INT calls in hexs

@qb4ever

yes I think to be italian until the lega'll not build the wall along the Rubicone... :-)

I was born and I live in Nocera Inferiore (Salerno)
this is my location on Google map
https://www.qb64.org/forum/index.php?topic=550.msg4458#msg4458

and you?

Sai per me la programmazione è affascinante e divertente. Forse perchè non la vivo come lavoro, infatti sono hobbista.

Hi TempodiBasic, I was born and living in Rome.

Anche per me la programmazione non è un lavoro, ma una ricordo della fine degli anni 80 e inizio dei 90, quando provavo a scrivere un po di codice e fare dei videogiochi per gli amici (quei pochi che allora avevano un PC).
Loro, meri utilizzatori dei loro 286 e 386, non avevano alcuna idea di come facessi a programmare platform o simili :D
Ho riscoperto 4 / 5 mesi fa il QB64, ma, come vedrai, scrivo ancora praticamente in GWBasic o QB45.
Appena avrò tempo, proverò a studiare i nuovi comandi.

Ciao.

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Knight VS Castle
« Reply #24 on: March 10, 2019, 01:25:17 pm »
Beh mi hai ricordato che ho conosciuto il Qbasic grazie/per sfida ai miei amici tecnici che erano del campo e affermavano che il Basic era solo con i numeri di riga, i GOTO e le variabili ad una lettera. No quickbasic No turbobasic :-)
 
Programming isn't difficult, only it's  consuming time and coffee