Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 308
» Latest member: Donaldvem
» Forum threads: 1,741
» Forum posts: 17,901

Full Statistics

Latest Threads
The QB64 IDE shell
Forum: Utilities
Last Post: JasonPag
09-16-2024, 05:37 PM
» Replies: 9
» Views: 762
Importance regarding Ches...
Forum: Utilities
Last Post: JasonPag
09-01-2024, 06:34 PM
» Replies: 0
» Views: 31
Chess and Analysis and En...
Forum: Utilities
Last Post: JasonPag
08-28-2024, 02:37 PM
» Replies: 0
» Views: 32
DAY 009:_PutImage
Forum: Keyword of the Day!
Last Post: grymmjack
09-02-2023, 02:57 PM
» Replies: 54
» Views: 2,033
Fall Banner Contest?
Forum: Site Suggestions
Last Post: grymmjack
08-31-2023, 11:50 PM
» Replies: 36
» Views: 1,261
ColorPicker - Function th...
Forum: Dav
Last Post: Dav
08-31-2023, 11:04 PM
» Replies: 3
» Views: 315
Goals(1) = New Tile()
Forum: Works in Progress
Last Post: RhoSigma
08-31-2023, 09:45 PM
» Replies: 3
» Views: 127
micro(A)v11
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:14 PM
» Replies: 90
» Views: 3,589
Updating The Single Most ...
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:13 PM
» Replies: 7
» Views: 254
QBJS Image Question
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 05:49 PM
» Replies: 5
» Views: 155

 
  Cannot reply to thread
Posted by: Richard - 05-01-2022, 12:43 AM - Forum: General Discussion - Replies (4)

I was just reading your thread


   



and wanted to reply - but cannot do so.

Print this item

  Ken's Artillery 2
Posted by: SierraKen - 04-30-2022, 11:46 PM - Forum: Programs - Replies (20)

This game was originally a very old early 80's (or so) DOS or Apple game. Microsoft used it to adapt it to their own QBasic game called Gorilla, throwing bananas instead of launching cannonballs. Today I added some features to my own version I made a couple years ago. The object of the game is to beat the computer by hitting its cannon 5 times in any level. Each level has a different sized mountain and color. If you hit him 5 times you advance to the next level. There is no ending to the game and after each level your score goes back to 0 but your Level does add up. To play, you type in a power of the cannonball and the angle. The wind also changes per turn so keep an eye on that to adjust your power and angle. B+ helped me on my original one with the math part of it so I have his name in the title as well. There's no added files. The computer has a small A.I. being almost as smart as you are in your turns (sorta), but don't ask me how I made it because I don't remember LOL. 

Code: (Select All)
'I've always wanted to make this game ever since I started programming in the 80's.
'This was created by Ken G. with much help from others below.
'Thank you to B+ for much of the math code.
'It takes the computer a little time to learn how to hit your base.
'Created on June 26, 2019.
'Version 2 made on April 30, 2022.
'Added: Levels, random colored mountains, and better looking cannons.

_Title "Ken's Artillery 2"
_Limit 200
Cls
Screen _NewImage(1200, 700, 32)
Print "                                              Ken's Artillery 2"
Print: Print: Print
Print "                                      By SierraKen with math help from B+."
Print: Print: Print
Print "                         Instructions: You play against the computer by shooting a cannonball"
Print "                         from your cannon at your base on the left side of the screen"
Print "                         to the computer's base on the right side of the screen."
Print "                         To do this, you type a power number between 0 and 80 and press Enter."
Print "                         Then you type an angle that the cannonball will travel at,"
Print "                         between 0 and 90 and press Enter."
Print "                         You get a point every time you hit the other base."
Print "                         If you hit the enemy 5 times you advance to the next mountain."
Print "                         If the enemy hits you 5 times in one mountain, you lose."
Print "                         Watch the wind speed indicator up on top to see the direction and"
Print "                         speed of the wind, which makes a big difference on where your"
Print "                         cannonball will land. Also, there will be a random sized mountain"
Print "                         and color for every level and game."
Print: Print: Print
Input "                         Press Enter to begin.", start$
Cls
level = 1

start:
c = 0
mountain = 0
win = 0
compoints = 0
points = 0
ground = 590 'up is negative in direction

'Your Cannon

cbx = 10 '              cannon butt end x, y
cby = ground - 20
cmx = 50 '              cannon mouth end
cmy = ground - 70

'Computer's Cannon

cbx2 = 1190
cby2 = cby
cmx2 = 1150
cmy2 = cmy


g = .15 '       with air resistance
Randomize Timer
air = Int(Rnd * 20)
air2 = air / 1000
Randomize Timer
air3 = Int(Rnd * 100)
If air3 > 50 Then air2 = -air2
airX = air2
Color , _RGB32(156, 210, 237)
Cls
'Bases
Line (cbx, ground)-(cbx + 100, ground - 20), _RGB32(4, 4, 4), BF
Line (cbx2, ground)-(cbx2 - 100, ground - 20), _RGB32(4, 4, 4), BF
'Mountain
Randomize Timer
sz = Int(Rnd * 300) + 100
circx = 595
cl1 = Int(Rnd * 55) + 50
cl2 = Int(Rnd * 55) + 50
cl3 = Int(Rnd * 55) + 50
Line (0, ground)-(1200, 700), _RGB32(cl1, cl2, cl3), BF 'ground
Circle (circx, ground), sz, _RGB32(cl1, cl2, cl3)
Paint (circx, ground - 2), _RGB32(cl1, cl2, cl3)

again:
Color _RGB(0, 0, 0)
Locate 10, 136: Print "              "
Locate 10, 2: Print "Your Turn     "
Randomize Timer
air = Int(Rnd * 20)
air2 = air / 1000
Randomize Timer
air3 = Int(Rnd * 100)
If air3 > 50 Then air2 = -air2
airX = air2
airx2 = airX * 1000
If airx2 < -1 Then winddir$ = "West"
If airx2 > 1 Then winddir$ = "East"
If airx2 > -1 And airx2 < 1 Then winddir$ = "Sunny"
If airx2 < 0 Then airx2 = airx2 * -1

GoSub Wind:
Color _RGB(0, 0, 0)
Locate 5, 1: Input "Type Power (0-80):>>> ", vel
Locate 6, 1: Input "Type Angle (0-90):>>> ", a
Locate 5, 1: Print "                                                                         "
Locate 6, 1: Print "                                                                         "
going:
If a > 90 Then a = 90
If a < 0 Then a = 0
If vel < 0 Then vel = 0
If vel > 80 Then vel = 80
vel = Int(vel / 4)
a = 360 - a
ca = _D2R(a)
cmx = cbx + (100 * Cos(_D2R(a)))
cmy = cby + (100 * Sin(_D2R(a)))

'initialize
bx = cmx 'ball x, y same as cannon mouth at start of shot
by = cmy


dx = vel * Cos(ca) 'start at cannon mouth
dy = vel * Sin(ca)

'shot

Do
    _Limit 200
    GoSub Wind:

    a$ = InKey$
    If a$ = Chr$(27) Then End
    Circle (bx, by), 5, _RGB32(0, 0, 0)
    Paint (bx, by), _RGB32(0, 0, 0), _RGB32(0, 0, 0)
    For ccc = 0 To 7 Step .1
        Line (cbx, cby)-(cmx + ccc, cmy), _RGB32(150, 50, 0) 'cannon line
    Next ccc
    oldbx = bx: oldby = by
    dx = dx + airX
    dy = dy + g
    bx = bx + dx
    by = by + dy
    _Display
    _Limit 30
    Circle (oldbx, oldby), 5, _RGB(156, 210, 237)
    Paint (oldbx, oldby), _RGB(156, 210, 237)
    If Point(bx, by) = _RGB32(cl1, cl2, cl3) Then
        mountain = 1
        For explosion = 0 To 20 Step .5
            Circle (bx, by), explosion, _RGB32(156, 210, 237)
            Sound 100 + explosion, .25
        Next explosion
    End If
    If bx > cbx2 - 120 And bx < cbx2 + 20 And by >= ground - 2 Then
        points = points + 1
        win = 0
        Locate 3, 64: Print "You: "; points; " Computer: "; compoints
        For explosion = 0 To 20 Step .5
            Circle (bx, by), explosion, _RGB32(156, 210, 237)
            Sound 100 + explosion, .25
        Next explosion
        For sndd = 500 To 700 Step 50
            Sound sndd, 1
        Next sndd
        mountain = 1
        If points = 5 And win = 0 Then win = 1: level = level + 1: GoTo start:
    End If
Loop Until mountain = 1 Or by > 700
For ccc = 0 To 7 Step .1
    Line (cbx, cby)-(cmx + ccc, cmy), _RGB32(156, 210, 237) 'delete cannon line
Next ccc
mountain = 0
'The Computer's Turn

comp:

Color _RGB(0, 0, 0)
Locate 10, 2: Print "                      "
Locate 10, 137: Print "Computer Turn"
GoSub Wind:

'Computer learns as it goes but is not perfect, like a human.  ;-)
If c = 0 Then GoTo compstuff:
oldvel2 = vel2

compstuff:
Randomize Timer
vel2 = Int(Rnd * 35) + 30

a2 = a

vel2 = Int(vel2 / 4)

If c = 0 Then GoTo nex:
'Last shot was too far away.
If oldbx2 < cbx Then
    vel2 = oldvel2 - 1
    If vel2 < 8 Then vel2 = 8
End If
'Last shot wasn't far enough.
If oldbx2 > cbx Then
    vel2 = oldvel2 + 1
    If vel2 > 15 Then vel2 = 15
End If
nex:
c = 1
ca2 = _D2R(a2)
cmx2 = cbx2 - (100 * Cos(_D2R(a2)))
cmy2 = cby2 + (100 * Sin(_D2R(a2)))

'initialize
bx2 = cmx2 'ball x, y same as cannon mouth at start of shot
by2 = cmy2
dx2 = vel2 * Cos(ca2) 'start at cannon mouth
dy2 = vel2 * Sin(ca2)

'shot

Do
    _Limit 200
    a$ = InKey$
    If a$ = Chr$(27) Then End
    Circle (bx2, by2), 5, _RGB32(0, 0, 0)
    Paint (bx2, by2), _RGB32(0, 0, 0), _RGB32(0, 0, 0)
    For ccc = 0 To 7 Step .1
        Line (cbx2, cby2)-(cmx2 - ccc, cmy2), _RGB32(150, 50, 0) 'cannon line
    Next ccc
    oldbx2 = bx2: oldby2 = by2
    dx2 = dx2 + airX
    dy2 = dy2 + g
    bx2 = bx2 - dx2
    by2 = by2 + dy2
    _Display
    _Limit 30
    Circle (oldbx2, oldby2), 5, _RGB(156, 210, 237)
    Paint (oldbx2, oldby2), _RGB(156, 210, 237)
    If Point(bx2, by2) = _RGB32(cl1, cl2, cl3) Then
        mountain = 1
        For explosion = 0 To 20 Step .5
            Circle (bx2, by2), explosion, _RGB32(156, 210, 237)
            Sound 100 + explosion, .25
        Next explosion
    End If
    If bx2 > cbx - 20 And bx2 < cbx + 120 And by2 >= ground Then
        compoints = compoints + 1
        Locate 3, 64: Print "You: "; points; " Computer: "; compoints
        For explosion = 0 To 20 Step .5
            Circle (bx2, by2), explosion, _RGB32(156, 210, 237)
            Sound 100 + explosion, .25
        Next explosion
        For sndd = 500 To 700 Step 50
            Sound sndd, 1
        Next sndd
        mountain = 1
        If compoints = 5 Then Color _RGB(0, 0, 0): Locate 20, 65: Print "COMPUTER WINS!": GoTo asking:
    End If
Loop Until mountain = 1 Or by2 > 700

For ccc = 0 To 7 Step .1
    Line (cbx2, cby2)-(cmx2 - ccc, cmy2), _RGB32(156, 210, 237) 'delete cannon line
Next ccc
mountain = 0
GoTo again:

'This code is used in a few different places in the program.
Wind:
Color _RGB(0, 0, 0)
Locate 1, 73: Print "Wind"
If winddir$ = "West" Then
    Locate 2, 82: Print "                               "
    Locate 2, 59: Print airx2; " mph   "
End If
If winddir$ = "East" Then
    Locate 2, 59: Print "               "
    Locate 2, 82: Print airx2; " mph   "
End If
Locate 2, 68: Print "West <-> East"
Locate 3, 64: Print "You: "; points; " Computer: "; compoints
Locate 4, 71: Print "Level: "; level
Return

asking:
Locate 22, 65: Input "Again? (Yes/No):", ag$
If ag$ = "y" Or ag$ = "Y" Or ag$ = "yes" Or ag$ = "Yes" Or ag$ = "YES" Or ag$ = "yES" Or ag$ = "yeS" Then points = 0: GoTo start:
End

Print this item

  8 Queens Puzzle - Place 8 queens on board without conflict
Posted by: Dav - 04-30-2022, 08:25 PM - Forum: Dav - No Replies

8 Queens Puzzle is a QB64 version of a famous chess board puzzle which is called The 8 Queens Puzzle.  The goal is to place 8 Queens on a chess board so that none of the Queens are in conflict with each other.  It's not that easy and takes some thinking.  Use the mouse, click on a Queen and drag it onto the chess board.  If any Queens are in conflict they will turn red.  Place all 8 Queens on the board without any of them being red.

This is an updated version to the one I posted at the old forum.  This one has all the image files in the code, and uses SOUND instead of wav files for sound effects, so all you need now is the one BAS code to compile & play the program.

- Dav


.bas   8queens-v2b.bas (Size: 67.46 KB / Downloads: 14)

   

Print this item

  Fontmonkey
Posted by: James D Jarvis - 04-30-2022, 03:01 PM - Forum: Works in Progress - No Replies

Here's Fontmokey version 0e.e1
I've been fiddling with this for a while now. It's really... really crude but functional. I've already used it to create fonts for other programs that actually function.

This scans and encodes a true type font and reproduces it with characters 1 to 255. Saving it out as a what I'm calling a dash font with extension .qdf.

It doesn't just re-encode a bitmap font from one format to another it also has the ability to edit each of the characters (with a terrible but functional editor). 

There's even a help function built into the main program and the character editor. Because...it really needs it.

you are going to want to take this and save it in a file called timmy.qdf (unless you want to edit the program to get around that which is what I did before I had a dash font).

Code: (Select All)
"' ***************************************************"
"'         timmy"
"' ***************************************************"
"' This Dash Font was wrtitten in QB64"
"' yup.... can't do much with it otherwise"
"H 16W 17B 16BB 16BB 16BB 16BB 16BB 8F 4B 4BB 6F 2B 4F 2B 2BB 5F 1B 8F 1B 1BB 5F 1B 8F 1B 1BB 4F 1B 2F 2B 2F 2B 2F 1BB 4F 1B 2F 2B 2F 2B 2F 1BB 4F 1B 10F 1BB 4F 1B 10F 1BB 5F 1B 1F 1B 4F 1B 1F 1B 1BB 5F 1B 2F 4B 2F 1B 1BB 6F 2B 4F 2B 2BB 8F 4B 4"
"H 16W 17B 16BB 16BB 16BB 16BB 16BB 8F 4B 4BB 6F 8B 2BB 5F 10B 1BB 5F 10B 1BB 4F 3B 2F 2B 2F 3BB 4F 3B 2F 2B 2F 3BB 4F 12BB 4F 12BB 5F 2B 1F 4B 1F 2B 1BB 5F 3B 4F 3B 1BB 6F 8B 2BB 8F 4B 4"
"H 11W 16B 11BB 11BB 11BB 11BB 1F 3B 3F 3B 1BF 5B 1F 5BF 11BF 11BB 1F 9B 1BB 1F 9B 1BB 2F 7B 2BB 3F 5B 3BB 4F 3B 4BB 4F 3B 4BB 5F 1B 5BB 5F 1B 5"
"H 9W 17B 9BB 9BB 9BB 9BB 4F 1B 4BB 4F 1B 4BB 3F 3B 3BB 2F 5B 2BB 2F 5B 2BB 1F 7B 1BF 9BB 1F 7B 1BB 2F 5B 2BB 2F 5B 2BB 3F 3B 3BB 4F 1B 4BB 4F 1B 4"
"H 14W 16B 14BB 14BB 14BB 14BB 6F 3B 5BB 4F 7B 3BB 4F 7B 3BB 4F 7B 3BB 2F 2B 1F 5B 1F 2B 1BB 1F 13BB 1F 13BB 1F 7B 1F 5BB 2F 3B 2F 1B 2F 3B 1BB 6F 3B 5BB 5F 5B 4BB 3F 9B 2"
"H 9W 16B 9BB 9BB 9BB 9BB 4F 1B 4BB 4F 1B 4BB 3F 3B 3BB 2F 5B 2BB 1F 7B 1BF 9BF 9BF 9BB 1F 4B 1F 2B 1BB 4F 1B 4BB 3F 3B 3BB 1F 7B 1"
"H 6W 12B 6BB 6BB 6BB 6BB 6BB 6BB 6BB 2F 3B 1BB 1F 5BB 1F 5BB 1F 5BB 2F 3B 1"
"H 11W 16B 11BB 11BB 11BB 11BB 11BB 11BB 1F 10BB 1F 10BB 1F 3B 4F 3BB 1F 2B 6F 2BB 1F 2B 6F 2BB 1F 2B 6F 2BB 1F 2B 6F 2BB 1F 3B 4F 3BB 1F 10BB 1F 10"
"H 11W 15B 11BB 11BB 11BB 11BB 11BB 11BB 5F 3B 3BB 3F 2B 3F 2B 1BB 2F 2B 5F 2BB 2F 1B 7F 1BB 2F 1B 7F 1BB 2F 1B 7F 1BB 2F 2B 5F 2BB 3F 2B 3F 2B 1BB 5F 3B 3"
"H 11W 16B 11BB 11BB 11BB 11BB 11BF 11BF 3B 5F 3BF 2B 2F 3B 2F 2BF 1B 2F 5B 2F 1BF 1B 1F 7B 1F 1BF 1B 1F 7B 1F 1BF 1B 1F 7B 1F 1BF 1B 2F 5B 2F 1BF 2B 2F 3B 2F 2BF 3B 5F 3BF 11"
"H 13W 18B 10F 2B 1BB 8F 4B 1BB 6F 2B 1F 3B 1BB 5F 1B 3F 1B 1F 1B 1BB 9F 1B 2F 1BB 8F 1B 3F 1BB 8F 1B 3F 1BB 7F 2B 4BB 4F 4B 5BB 2F 2B 4F 1B 4BB 2F 1B 6F 1B 3BB 1F 1B 8F 1B 2BB 1F 1B 8F 1B 2BB 1F 1B 8F 1B 2BB 1F 1B 8F 1B 2BB 2F 1B 6F 1B 3BB 2F 2B 4F 2B 3BB 4F 4B 5"
"H 13W 20B 13BB 5F 4B 4BB 3F 2B 4F 2B 2BB 3F 1B 6F 1B 2BB 2F 1B 8F 1B 1BB 2F 1B 8F 1B 1BB 2F 1B 8F 1B 1BB 2F 1B 8F 1B 1BB 3F 1B 6F 1B 2BB 3F 2B 4F 2B 2BB 5F 5B 3BB 7F 1B 5BB 7F 1B 5BB 7F 1B 5BB 7F 1B 5BB 2F 11BB 7F 1B 5BB 7F 1B 5BB 7F 1B 5BB 7F 1B 5"
"H 10W 16B 10BB 10BB 10BB 5F 4B 1BB 5F 5BB 5F 1B 2F 2BB 5F 1B 3F 1BB 5F 1B 4BB 5F 1B 4BB 5F 1B 4BB 5F 1B 4BB 2F 4B 4BB 1F 5B 4BB 1F 5B 4BB 1F 5B 4BB 2F 3B 5"
"H 13W 17B 13BB 13BB 11F 2BB 7F 6BB 5F 6B 1F 1BB 5F 3B 4F 1BB 5F 1B 6F 1BB 5F 1B 6F 1BB 5F 1B 6F 1BB 5F 1B 6F 1BB 5F 1B 3F 4BB 5F 1B 2F 5BB 2F 4B 2F 5BB 1F 5B 2F 5BB 1F 5B 3F 3B 1BB 1F 5B 7BB 2F 3B 8"
"H 19W 18B 9F 1B 9BB 9F 1B 9BB 3F 1B 5F 1B 5F 1B 3BB 4F 1B 2F 5B 2F 1B 4BB 5F 2B 5F 2B 5BB 5F 1B 7F 1B 5BB 4F 1B 9F 1B 4BB 4F 1B 9F 1B 4BF 5B 9F 5BB 4F 1B 9F 1B 4BB 4F 1B 9F 1B 4BB 5F 1B 7F 1B 5BB 5F 2B 5F 2B 5BB 4F 1B 2F 5B 2F 1B 4BB 3F 1B 5F 1B 5F 1B 3BB 9F 1B 9BB 9F 1B 9BB 9F 1B 9"
"H 17W 16B 17BB 3F 1B 13BB 3F 3B 11BB 3F 5B 9BB 3F 7B 7BB 3F 8B 6BB 3F 10B 4BB 3F 12B 2BB 3F 14BB 3F 12B 2BB 3F 10B 4BB 3F 8B 6BB 3F 7B 7BB 3F 5B 9BB 3F 3B 11BB 3F 1B 13"
"H 17W 16B 17BB 16F 1BB 14F 3BB 12F 5BB 10F 7BB 9F 8BB 7F 10BB 5F 12BB 3F 14BB 5F 12BB 7F 10BB 9F 8BB 10F 7BB 12F 5BB 14F 3BB 16F 1"
"H 8W 20B 8BB 8BB 8BB 4F 1B 3BB 3F 3B 2BB 3F 3B 2BB 2F 1B 1F 1B 1F 1B 1BB 1F 1B 2F 1B 2F 1BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 1F 1B 2F 1B 2F 1BB 2F 1B 1F 1B 1F 1B 1BB 3F 3B 2BB 3F 3B 2"
"H 9W 16B 9BB 9BB 9BB 2F 2B 3F 2BB 2F 2B 3F 2BB 2F 2B 3F 2BB 2F 2B 3F 2BB 2F 2B 3F 2BB 2F 1B 4F 1B 1BB 2F 1B 4F 1B 1BB 2F 1B 4F 1B 1BB 2F 1B 4F 1B 1BB 9BB 9BB 2F 2B 3F 2BB 2F 2B 3F 2"
"H 9W 20B 9BB 9BB 9BB 2F 7BB 1F 4B 2F 1B 1BF 5B 2F 1B 1BF 5B 2F 1B 1BF 5B 2F 1B 1BB 1F 4B 2F 1B 1BB 2F 3B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1BB 4F 1B 2F 1B 1"
"H 8W 20B 8BB 8BB 8BB 3F 4B 1BB 2F 1B 3F 2BB 2F 1B 3F 2BB 2F 2B 4BB 3F 2B 3BB 2F 4B 2BB 1F 1B 3F 2B 1BB 1F 1B 4F 2BB 1F 1B 5F 1BB 1F 2B 4F 1BB 2F 2B 2F 1B 1BB 3F 3B 2BB 4F 2B 2BB 5F 2B 1BB 1F 2B 3F 1B 1BB 1F 2B 3F 1B 1BB 2F 4B 2"
"H 20W 13B 20BB 20BB 20BB 20BB 20BB 20BB 20BB 20BB 20BF 20BF 20BF 20BF 20"
"H 8W 20B 8BB 8BB 8BB 4F 1B 3BB 3F 3B 2BB 3F 3B 2BB 2F 1B 1F 1B 1F 1B 1BB 1F 1B 2F 1B 2F 1BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 1F 1B 2F 1B 2F 1BB 2F 1B 1F 1B 1F 1B 1BB 3F 3B 2BB 3F 3B 2"
"H 8W 20B 8BB 8BB 8BB 4F 1B 3BB 3F 3B 2BB 3F 3B 2BB 2F 1B 1F 1B 1F 1B 1BB 1F 1B 2F 1B 2F 1BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3"
"H 8W 20B 8BB 8BB 8BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 4F 1B 3BB 1F 1B 2F 1B 2F 1BB 2F 1B 1F 1B 1F 1B 1BB 3F 3B 2BB 3F 3B 2BB 4F 1B 3"
"H 19W 14B 19BB 19BB 19BB 19BB 19BB 19BB 19BB 14F 1B 4BB 15F 1B 3BB 16F 2B 1BB 1F 18BB 16F 2B 1BB 15F 1B 3BB 14F 1B 4"
"H 19W 14B 19BB 19BB 19BB 19BB 19BB 19BB 19BB 5F 1B 13BB 4F 1B 14BB 2F 2B 15BB 1F 18BB 2F 2B 15BB 4F 1B 14BB 5F 1B 13"
"H 16W 16B 16BB 16BB 16BB 16BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 1B 12BB 3F 13"
"H 19W 14B 19BB 19BB 19BB 19BB 19BB 19BB 19BB 5F 1B 8F 1B 4BB 4F 1B 10F 1B 3BB 2F 2B 12F 2B 1BB 1F 18BB 2F 2B 12F 2B 1BB 4F 1B 10F 1B 3BB 5F 1B 8F 1B 4"
"H 18W 16B 18BB 18BB 10F 1B 7BB 10F 1B 7BB 9F 3B 6BB 9F 3B 6BB 8F 5B 5BB 8F 5B 5BB 7F 7B 4BB 6F 9B 3BB 6F 9B 3BB 5F 11B 2BB 5F 11B 2BB 4F 13B 1BB 4F 13B 1BB 3F 15"
"H 18W 16B 18BB 18BB 3F 15BB 4F 13B 1BB 4F 13B 1BB 5F 11B 2BB 5F 11B 2BB 6F 9B 3BB 6F 9B 3BB 7F 7B 4BB 8F 5B 5BB 8F 5B 5BB 9F 3B 6BB 9F 3B 6BB 10F 1B 7BB 10F 1B 7"
"H1W 13B 13"
"H 4W 16B 4BB 4BB 4BB 2F 2BB 2F 2BB 2F 2BB 2F 2BB 2F 2BB 2F 1B 1BB 2F 1B 1BB 2F 1B 1BB 2F 1B 1BB 4BB 4BB 2F 2BB 2F 2"
"H 7W 9B 7BB 7BB 7BB 1F 2B 2F 2BB 1F 2B 2F 2BB 1F 2B 2F 2BB 1F 2B 2F 2BB 1F 1B 3F 1B 1BB 1F 1B 3F 1B 1"
"H 10W 16B 10BB 10BB 4F 1B 3F 1B 1BB 4F 1B 3F 1B 1BB 3F 1B 3F 1B 2BB 3F 1B 3F 1B 2BB 3F 1B 3F 1B 2BF 10BB 3F 1B 3F 1B 2BB 2F 1B 3F 1B 3BB 2F 1B 3F 1B 3BF 10BB 2F 1B 3F 1B 3BB 2F 1B 3F 1B 3BB 1F 1B 3F 1B 4BB 1F 1B 3F 1B 4"
"H 9W 17B 9BB 9BB 4F 1B 4BB 2F 5B 2BB 1F 2B 1F 1B 1F 2B 1BB 1F 2B 1F 1B 2F 1B 1BB 1F 2B 1F 1B 2F 1B 1BB 1F 4B 4BB 2F 3B 4BB 4F 3B 2BB 4F 4B 1BB 4F 1B 2F 2BB 1F 1B 2F 1B 2F 2BB 1F 1B 2F 1B 2F 2BB 1F 2B 1F 1B 1F 2B 1BB 2F 5B 2BB 4F 1B 4"
"H 16W 16B 16BB 16BB 16BB 1F 4B 7F 1B 3BF 2B 2F 2B 5F 1B 4BF 2B 2F 2B 4F 1B 5BF 2B 2F 2B 4F 1B 5BF 2B 2F 2B 3F 1B 6BF 2B 2F 2B 2F 1B 7BB 1F 4B 2F 1B 3F 4B 1BB 7F 1B 2F 2B 2F 2BB 6F 1B 3F 2B 2F 2BB 5F 1B 4F 2B 2F 2BB 4F 1B 5F 2B 2F 2BB 3F 1B 6F 2B 2F 2BB 3F 1B 7F 4B 1"
"H 15W 16B 15BB 15BB 15BB 5F 4B 6BB 4F 2B 3F 1B 5BB 4F 2B 3F 1B 5BB 4F 2B 3F 1B 5BB 4F 2B 2F 1B 6BB 5F 3B 2F 4B 1BB 4F 4B 3F 1B 3BB 2F 2B 2F 2B 3F 1B 3BB 2F 1B 4F 2B 1F 1B 4BB 1F 2B 4F 3B 5BB 1F 2B 5F 3B 3F 1BB 1F 3B 3F 1B 1F 5B 1BB 2F 5B 3F 3B 2"
"H 3W 9B 3BB 3BB 3BB 1F 2BB 1F 2BB 1F 2BB 1F 2BB 1F 1B 1BB 1F 1B 1"
"H 6W 20B 6BB 6BB 5F 1BB 4F 1B 1BB 3F 1B 2BB 2F 2B 2BB 2F 2B 2BB 2F 1B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 2F 1B 3BB 2F 2B 2BB 2F 2B 2BB 3F 2B 1BB 4F 1B 1BB 5F 1"
"H 6W 20B 6BB 6BB 1F 1B 4BB 2F 1B 3BB 3F 1B 2BB 3F 2B 1BB 3F 2B 1BB 4F 1B 1BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 1B 1BB 3F 2B 1BB 3F 2B 1BB 3F 1B 2BB 2F 1B 3BB 1F 1B 4"
"H 8W 11B 8BB 8BB 4F 1B 3BB 4F 1B 3BB 1F 2B 1F 1B 1F 2BB 1F 2B 1F 1B 1F 2BB 3F 3B 2BB 1F 2B 1F 1B 1F 2BB 1F 2B 1F 1B 1F 2BB 4F 1B 3BB 4F 1B 3"
"H 11W 15B 11BB 11BB 11BB 11BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BF 11BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5"
"H 4W 19B 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 1F 2B 1BB 1F 3BB 3F 1BB 2F 1B 1BB 1F 1B 2"
"H 6W 12B 6BB 6BB 6BB 6BB 6BB 6BB 6BB 6BB 6BB 6BB 1F 5BB 1F 5"
"H 3W 16B 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 1F 2BB 1F 2"
"H 6W 16B 6BB 6BB 5F 1BB 4F 1B 1BB 4F 1B 1BB 4F 1B 1BB 3F 1B 2BB 3F 1B 2BB 3F 1B 2BB 2F 1B 3BB 2F 1B 3BB 2F 1B 3BB 1F 1B 4BB 1F 1B 4BB 1F 1B 4BF 1B 5"
"H 9W 16B 9BB 9BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 2F 1B 4F 1B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 1B 4F 1B 1BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 8W 16B 8BB 8BB 8BB 4F 2B 2BB 2F 4B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 2F 6"
"H 9W 16B 9BB 9BB 9BB 3F 3B 3BB 2F 6B 1BB 1F 1B 3F 3B 1BB 1F 1B 4F 2B 1BB 6F 2B 1BB 6F 1B 2BB 5F 2B 2BB 5F 1B 3BB 4F 1B 4BB 3F 1B 5BB 2F 1B 5F 1BB 2F 7BB 1F 7B 1"
"H 8W 16B 8BB 8BB 8BB 3F 4B 1BB 1F 2B 3F 2BB 1F 1B 4F 2BB 6F 2BB 6F 1B 1BB 4F 2B 2BB 3F 4B 1BB 5F 3BB 6F 2BB 6F 2BB 6F 2BB 1F 2B 2F 2B 1BB 1F 5B 2"
"H 9W 16B 9BB 9BB 9BB 5F 2B 2BB 5F 2B 2BB 4F 3B 2BB 3F 1B 1F 2B 2BB 3F 1B 1F 2B 2BB 2F 1B 2F 2B 2BB 1F 1B 3F 2B 2BB 1F 1B 3F 2B 2BF 1B 4F 2B 2BF 9BB 5F 2B 2BB 5F 2B 2BB 5F 2B 2"
"H 8W 16B 8BB 8BB 8BB 3F 5BB 3F 5BB 3F 1B 4BB 2F 3B 3BB 2F 5B 1BB 4F 3B 1BB 6F 2BB 6F 2BB 7F 1BB 7F 1BB 6F 1B 1BB 1F 2B 3F 1B 1BB 1F 5B 2"
"H 9W 16B 9BB 9BB 9BB 6F 3BB 4F 3B 2BB 3F 2B 4BB 2F 2B 5BB 2F 2B 5BB 1F 2B 1F 3B 2BB 1F 3B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 1B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 10W 16B 10BB 10BB 10BB 2F 8BB 2F 7B 1BB 1F 1B 6F 1B 1BB 7F 1B 2BB 7F 1B 2BB 7F 1B 2BB 6F 1B 3BB 6F 1B 3BB 6F 1B 3BB 5F 1B 4BB 5F 1B 4BB 5F 1B 4BB 4F 1B 5"
"H 9W 16B 9BB 9BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 2B 1F 1B 2BB 4F 2B 3BB 2F 2B 1F 3B 1BB 1F 2B 3F 3BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 16B 9BB 9BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 1B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 3F 2BB 3F 6BB 6F 2B 1BB 6F 2B 1BB 5F 2B 2BB 3F 3B 3BB 1F 3B 5"
"H 4W 16B 4BB 4BB 4BB 4BB 4BB 4BB 4BB 2F 2BB 2F 2BB 4BB 4BB 4BB 4BB 4BB 2F 2BB 2F 2"
"H 4W 19B 4BB 4BB 4BB 4BB 4BB 4BB 4BB 1F 2B 1BB 1F 2B 1BB 4BB 4BB 4BB 4BB 4BB 1F 2B 1BB 1F 3BB 3F 1BB 2F 1B 1BB 1F 1B 2"
"H 11W 14B 11BB 11BB 11BB 11BB 11BB 10F 1BB 7F 3B 1BB 4F 3B 4BB 1F 3B 7BF 1B 10BB 1F 3B 7BB 4F 3B 4BB 7F 3B 1BB 10F 1"
"H 11W 11B 11BB 11BB 11BB 11BB 11BB 11BB 11BF 11BB 11BB 11BF 11"
"H 11W 14B 11BB 11BB 11BB 11BB 11BF 1B 10BB 1F 3B 7BB 4F 3B 4BB 7F 3B 1BB 10F 1BB 7F 3B 1BB 4F 3B 4BB 1F 3B 7BF 1B 10"
"H 8W 16B 8BB 8BB 8BB 2F 5B 1BB 1F 2B 2F 3BB 1F 2B 3F 2BB 1F 2B 3F 2BB 6F 2BB 5F 2B 1BB 5F 1B 2BB 4F 1B 3BB 3F 1B 4BB 3F 1B 4BB 8BB 3F 2B 3BB 3F 2B 3"
"H 18W 20B 18BB 18BB 7F 6B 5BB 5F 2B 6F 2B 3BB 4F 2B 8F 2B 2BB 3F 1B 11F 1B 2BB 2F 2B 4F 3B 2F 1B 2F 1B 1BB 2F 1B 4F 2B 2F 3B 2F 1B 1BB 2F 1B 3F 2B 4F 2B 2F 1B 1BB 1F 1B 3F 3B 4F 1B 3F 1B 1BB 1F 1B 3F 2B 5F 1B 3F 1B 1BB 1F 1B 2F 2B 5F 2B 3F 1B 1BB 1F 1B 2F 2B 4F 2B 3F 1B 2BB 1F 1B 2F 2B 4F 2B 3F 1B 2BB 1F 1B 2F 2B 2F 4B 2F 1B 3BB 2F 1B 2F 3B 2F 4B 3F 1BB 2F 1B 13F 1B 1BB 3F 1B 11F 1B 2BB 3F 2B 9F 1B 3BB 5F 2B 6F 1B 4"
"H 14W 16B 14BB 14BB 14BB 7F 1B 6BB 6F 2B 6BB 6F 3B 5BB 5F 1B 1F 2B 5BB 5F 1B 2F 2B 4BB 4F 1B 3F 2B 4BB 4F 1B 3F 2B 4BB 3F 1B 5F 2B 3BB 3F 8B 3BB 2F 1B 7F 2B 2BB 2F 1B 7F 2B 2BB 1F 2B 8F 2B 1BF 4B 5F 5"
"H 12W 16B 12BB 12BB 12BF 9B 3BB 2F 2B 4F 2B 2BB 2F 2B 5F 2B 1BB 2F 2B 5F 2B 1BB 2F 2B 5F 2B 1BB 2F 2B 4F 2B 2BB 2F 7B 3BB 2F 2B 4F 3B 1BB 2F 2B 6F 2BB 2F 2B 6F 2BB 2F 2B 6F 2BB 2F 2B 5F 2B 1BF 10B 2"
"H 12W 16B 12BB 12BB 12BB 5F 4B 2F 1BB 3F 2B 4F 3BB 2F 2B 6F 2BB 2F 2B 7F 1BB 1F 2B 8F 1BB 1F 2B 9BB 1F 2B 9BB 1F 2B 9BB 1F 2B 9BB 2F 1B 9BB 2F 2B 7F 1BB 3F 2B 5F 1B 1BB 4F 6B 2"
"H 13W 16B 13BB 13BB 13BF 9B 4BB 2F 2B 4F 3B 2BB 2F 2B 6F 2B 1BB 2F 2B 6F 2B 1BB 2F 2B 7F 2BB 2F 2B 7F 2BB 2F 2B 7F 2BB 2F 2B 7F 2BB 2F 2B 7F 2BB 2F 2B 6F 2B 1BB 2F 2B 6F 2B 1BB 2F 2B 4F 3B 2BF 9B 4"
"H 12W 16B 12BB 12BB 12BF 11B 1BB 2F 2B 6F 1B 1BB 2F 2B 6F 1B 1BB 2F 2B 8BB 2F 2B 4F 1B 3BB 2F 2B 4F 1B 3BB 2F 7B 3BB 2F 2B 4F 1B 3BB 2F 2B 4F 1B 3BB 2F 2B 8BB 2F 2B 7F 1BB 2F 2B 6F 1B 1BF 11B 1"
"H 11W 16B 11BB 11BB 11BF 11BB 2F 2B 6F 1BB 2F 2B 6F 1BB 2F 2B 7BB 2F 2B 4F 1B 2BB 2F 2B 4F 1B 2BB 2F 7B 2BB 2F 2B 4F 1B 2BB 2F 2B 4F 1B 2BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BF 6B 5"
"H 14W 16B 14BB 14BB 14BB 5F 5B 2F 1B 1BB 3F 3B 4F 3B 1BB 3F 1B 7F 2B 1BB 2F 2B 8F 1B 1BB 1F 2B 11BB 1F 2B 11BB 1F 2B 6F 5BB 1F 2B 8F 2B 1BB 1F 2B 8F 2B 1BB 2F 2B 7F 2B 1BB 2F 3B 6F 2B 1BB 3F 3B 5F 2B 1BB 5F 7B 2"
"H 14W 16B 14BB 14BB 14BF 6B 2F 6BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 10B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BB 2F 2B 6F 2B 2BF 6B 2F 6"
"H 6W 16B 6BB 6BB 6BF 6BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BF 6"
"H 8W 16B 8BB 8BB 8BB 2F 6BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BF 2B 2F 2B 2BF 3B 1F 1B 3BB 1F 3B 4"
"H 14W 16B 14BB 14BB 14BF 6B 2F 5B 1BB 2F 2B 5F 2B 3BB 2F 2B 4F 1B 5BB 2F 2B 3F 1B 6BB 2F 2B 2F 1B 7BB 2F 4B 8BB 2F 2B 1F 2B 7BB 2F 2B 2F 2B 6BB 2F 2B 3F 2B 5BB 2F 2B 4F 2B 4BB 2F 2B 5F 2B 3BB 2F 2B 6F 2B 2BF 6B 2F 6"
"H 11W 16B 11BB 11BB 11BF 6B 5BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 6F 1BB 2F 2B 6F 1BB 2F 2B 5F 1B 1BF 10B 1"
"H 17W 16B 17BB 17BB 17BF 4B 9F 4BB 2F 3B 7F 3B 2BB 2F 3B 7F 3B 2BB 2F 1B 1F 2B 5F 1B 1F 2B 2BB 2F 1B 1F 2B 5F 1B 1F 2B 2BB 2F 1B 2F 2B 4F 1B 1F 2B 2BB 2F 1B 2F 2B 3F 1B 2F 2B 2BB 2F 1B 2F 2B 3F 1B 2F 2B 2BB 2F 1B 3F 2B 2F 1B 2F 2B 2BB 2F 1B 3F 2B 1F 1B 3F 2B 2BB 2F 1B 4F 3B 3F 2B 2BB 2F 1B 4F 3B 3F 2B 2BF 5B 3F 1B 2F 6"
"H 15W 16B 15BB 15BB 15BF 4B 6F 5BB 2F 3B 7F 1B 2BB 3F 3B 6F 1B 2BB 3F 4B 5F 1B 2BB 3F 1B 1F 3B 4F 1B 2BB 3F 1B 2F 2B 4F 1B 2BB 3F 1B 3F 2B 3F 1B 2BB 3F 1B 4F 2B 2F 1B 2BB 3F 1B 4F 3B 1F 1B 2BB 3F 1B 5F 4B 2BB 3F 1B 6F 3B 2BB 3F 1B 7F 2B 2BB 1F 5B 6F 1B 2"
"H 13W 16B 13BB 13BB 13BB 5F 4B 4BB 3F 2B 4F 2B 2BB 2F 2B 6F 2B 1BB 2F 1B 8F 1B 1BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 2F 2B 7F 1B 1BB 2F 2B 6F 2B 1BB 3F 2B 4F 2B 2BB 5F 4B 4"
"H 10W 16B 10BB 10BB 10BF 8B 2BB 2F 2B 3F 2B 1BB 2F 2B 4F 2BB 2F 2B 4F 2BB 2F 2B 4F 2BB 2F 2B 4F 2BB 2F 2B 3F 2B 1BB 2F 6B 2BB 2F 2B 6BB 2F 2B 6BB 2F 2B 6BB 2F 2B 6BF 6B 4"
"H 13W 20B 13BB 13BB 13BB 5F 4B 4BB 3F 2B 4F 2B 2BB 2F 2B 6F 2B 1BB 2F 1B 7F 2B 1BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 3B 7F 1B 1BB 2F 2B 6F 2B 1BB 3F 2B 4F 2B 2BB 4F 5B 4BB 5F 3B 5BB 7F 2B 4BB 8F 3B 2BB 10F 3"
"H 13W 16B 13BB 13BB 13BF 8B 5BB 2F 2B 3F 2B 4BB 2F 2B 4F 2B 3BB 2F 2B 4F 2B 3BB 2F 2B 4F 2B 3BB 2F 2B 3F 2B 4BB 2F 6B 5BB 2F 2B 2F 2B 5BB 2F 2B 3F 2B 4BB 2F 2B 3F 2B 4BB 2F 2B 4F 2B 3BB 2F 2B 5F 2B 2BF 6B 4F 3"
"H 10W 16B 10BB 10BB 10BB 3F 3B 2F 1B 1BB 2F 2B 2F 3B 1BB 1F 2B 4F 2B 1BB 1F 2B 5F 1B 1BB 1F 3B 4F 1B 1BB 2F 4B 4BB 4F 4B 2BB 6F 3B 1BB 1F 1B 5F 3BB 1F 1B 6F 2BB 1F 2B 5F 2BB 1F 3B 3F 2B 1BB 1F 1B 2F 4B 2"
"H 12W 16B 12BB 12BB 12BF 12BF 2B 3F 2B 3F 2BF 1B 4F 2B 4F 1BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 5F 2B 5BB 3F 6B 3"
"H 13W 16B 13BB 13BB 13BF 6B 2F 5BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 3F 2B 4F 1B 3BB 4F 5B 4"
"H 13W 16B 13BB 13BB 13BF 5B 4F 4BB 1F 3B 7F 1B 1BB 2F 2B 7F 1B 1BB 2F 2B 6F 1B 2BB 3F 2B 5F 1B 2BB 3F 2B 4F 1B 3BB 4F 2B 3F 1B 3BB 4F 2B 3F 1B 3BB 5F 2B 1F 1B 4BB 5F 2B 1F 1B 4BB 6F 2B 5BB 6F 2B 5BB 7F 1B 5"
"H 18W 16B 18BB 18BB 18BF 5B 2F 5B 2F 4BB 1F 3B 4F 2B 5F 2B 1BB 2F 2B 5F 2B 4F 1B 2BB 2F 2B 5F 2B 4F 1B 2BB 3F 2B 3F 3B 3F 2B 2BB 3F 2B 3F 1B 1F 2B 2F 1B 3BB 3F 2B 2F 1B 2F 2B 2F 1B 3BB 4F 2B 1F 1B 2F 2B 2F 1B 3BB 4F 2B 1F 1B 2F 2B 1F 1B 4BB 4F 3B 4F 3B 4BB 5F 2B 4F 3B 4BB 5F 2B 4F 2B 5BB 5F 1B 6F 1B 5"
"H 14W 16B 14BB 14BB 14BB 1F 5B 4F 4BB 3F 2B 6F 2B 1BB 4F 2B 4F 1B 3BB 4F 3B 2F 1B 4BB 5F 2B 1F 1B 5BB 6F 3B 5BB 7F 2B 5BB 6F 3B 5BB 5F 1B 2F 2B 4BB 5F 1B 3F 2B 3BB 4F 1B 4F 3B 2BB 2F 2B 6F 3B 1BB 1F 4B 4F 5"
"H 14W 16B 14BB 14BB 14BF 6B 3F 5BB 2F 2B 7F 1B 2BB 3F 2B 5F 1B 3BB 3F 2B 4F 1B 4BB 4F 2B 3F 1B 4BB 5F 2B 1F 1B 5BB 5F 2B 1F 1B 5BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 4F 6B 4"
"H 11W 16B 11BB 11BB 11BB 1F 10BB 1F 2B 6F 2BB 1F 1B 6F 2B 1BB 7F 2B 2BB 6F 2B 3BB 6F 2B 3BB 5F 2B 4BB 4F 2B 5BB 3F 2B 6BB 2F 2B 6F 1BB 2F 2B 6F 1BB 1F 2B 6F 2BF 10B 1"
"H 6W 20B 6BB 6BB 1F 5BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 2B 3BB 1F 5"
"H 5W 16B 5BB 5BF 1B 4BF 1B 4BB 1F 1B 3BB 1F 1B 3BB 1F 1B 3BB 2F 1B 2BB 2F 1B 2BB 2F 1B 2BB 2F 1B 2BB 3F 1B 1BB 3F 1B 1BB 3F 1B 1BB 4F 1BB 4F 1"
"H 5W 20B 5BB 5BF 5BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BB 3F 2BF 5"
"H 8W 10B 8BB 8BB 8BB 3F 2B 3BB 2F 1B 2F 1B 2BB 2F 1B 2F 1B 2BB 1F 1B 4F 1B 1BB 1F 1B 4F 1B 1BB 1F 1B 4F 1B 1BF 1B 6F 1"
"H 10W 20B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BF 10"
"H 4W 6B 4BB 4BB 4BB 1F 2B 1BB 2F 2BB 3F 1"
"H 10W 16B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 9W 16B 9BB 9BB 1F 2B 6BF 3B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 1F 3B 2BB 1F 3B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 3F 2B 1BB 2F 5B 2"
"H 8W 16B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 3F 4B 1BB 2F 2B 2F 2BB 1F 2B 4F 1BB 1F 2B 5BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 10W 16B 10BB 10BB 7F 2B 1BB 6F 3B 1BB 7F 2B 1BB 7F 2B 1BB 7F 2B 1BB 3F 3B 1F 2B 1BB 2F 2B 2F 3B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 2F 2B 2F 4BB 3F 3B 1F 2B 1"
"H 8W 16B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 3F 3B 2BB 2F 2B 2F 1B 1BB 1F 2B 3F 2BB 1F 7BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 9W 16B 9BB 9BB 4F 4B 1BB 3F 1B 3F 2BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BF 6B 3BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BB 2F 2B 5BF 6B 3"
"H 9W 20B 9BB 9BB 9BB 9BB 9BB 9BB 9BB 3F 3B 3BB 2F 1B 2F 4BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 2F 2B 2F 1B 2BB 2F 4B 3BB 1F 1B 7BB 1F 7B 1BB 2F 7BB 1F 1B 6F 1BF 1B 7F 1BF 2B 5F 1B 1BB 1F 6B 2"
"H 9W 16B 9BB 9BB 1F 2B 6BF 3B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 1F 3B 2BB 1F 3B 2F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BF 4B 1F 4"
"H 5W 16B 5BB 5BB 2F 2B 1BB 2F 2B 1BB 5BB 5BB 5BB 2F 2B 1BB 1F 3B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 1F 4"
"H 6W 20B 6BB 6BB 4F 2BB 4F 2BB 6BB 6BB 6BB 4F 2BB 3F 3BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BB 4F 2BF 2B 2F 1B 1BF 4B 2"
"H 9W 16B 9BB 9BB 1F 2B 6BF 3B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 6BB 1F 2B 2F 4BB 1F 2B 3F 1B 2BB 1F 2B 2F 1B 3BB 1F 2B 1F 1B 4BB 1F 4B 4BB 1F 2B 1F 2B 3BB 1F 2B 2F 2B 2BB 1F 2B 3F 2B 1BF 4B 2F 3"
"H 5W 16B 5BB 5BB 2F 2B 1BB 1F 3B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 1F 4"
"H 14W 16B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 1F 2B 1F 3B 2F 3B 2BF 4B 2F 3B 2F 2B 1BB 1F 2B 3F 2B 3F 2B 1BB 1F 2B 3F 2B 3F 2B 1BB 1F 2B 3F 2B 3F 2B 1BB 1F 2B 3F 2B 3F 2B 1BB 1F 2B 3F 2B 3F 2B 1BB 1F 2B 3F 2B 3F 2B 1BF 4B 1F 4B 1F 4"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BB 1F 2B 1F 3B 2BF 4B 2F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BF 4B 1F 4"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 20B 9BB 9BB 9BB 9BB 9BB 9BB 9BB 1F 2B 1F 3B 2BF 4B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 3B 2F 2B 1BB 1F 2B 1F 3B 2BB 1F 2B 6BB 1F 2B 6BB 1F 2B 6BF 4B 5"
"H 10W 20B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 3F 4B 1F 1B 1BB 2F 2B 3F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 1F 2B 4F 2B 1BB 2F 2B 2F 3B 1BB 3F 3B 1F 2B 1BB 7F 2B 1BB 7F 2B 1BB 7F 2B 1BB 6F 4"
"H 7W 16B 7BB 7BB 7BB 7BB 7BB 7BB 7BB 1F 2B 1F 3BF 4B 1F 2BB 1F 2B 4BB 1F 2B 4BB 1F 2B 4BB 1F 2B 4BB 1F 2B 4BB 1F 2B 4BF 4B 3"
"H 7W 16B 7BB 7BB 7BB 7BB 7BB 7BB 7BB 2F 3B 1F 1BB 1F 1B 3F 2BB 1F 1B 4F 1BB 1F 3B 3BB 2F 4B 1BB 4F 3BB 1F 1B 4F 1BB 1F 2B 3F 1BB 1F 1B 1F 3B 1"
"H 5W 16B 5BB 5BB 5BB 5BB 2F 1B 2BB 2F 1B 2BB 1F 2B 2BF 5BB 1F 2B 2BB 1F 2B 2BB 1F 2B 2BB 1F 2B 2BB 1F 2B 2BB 1F 2B 2BB 1F 2B 1F 1BB 1F 3B 1"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BF 3B 2F 3B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 2F 4BB 2F 3B 1F 2B 1"
"H 10W 16B 10BB 10BB 10BB 10BB 10BB 10BB 10BF 4B 3F 3BB 1F 2B 5F 1B 1BB 2F 2B 3F 1B 2BB 2F 2B 3F 1B 2BB 3F 2B 1F 1B 3BB 3F 2B 1F 1B 3BB 4F 2B 4BB 4F 2B 4BB 5F 1B 4"
"H 15W 16B 15BB 15BB 15BB 15BB 15BB 15BB 15BF 4B 2F 4B 2F 3BB 1F 2B 4F 2B 4F 1B 1BB 1F 2B 4F 2B 3F 1B 2BB 2F 2B 2F 1B 1F 2B 2F 1B 2BB 2F 2B 2F 1B 1F 2B 2F 1B 2BB 2F 2B 1F 1B 3F 1B 1F 1B 3BB 3F 3B 3F 3B 3BB 3F 2B 4F 2B 4BB 4F 1B 5F 1B 4"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BF 4B 1F 4BB 1F 2B 3F 1B 2BB 2F 2B 1F 1B 3BB 3F 2B 4BB 3F 3B 3BB 3F 1B 1F 1B 3BB 2F 1B 2F 2B 2BB 1F 1B 4F 2B 1BF 3B 2F 4"
"H 10W 20B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 1F 4B 2F 3BB 2F 2B 4F 1B 1BB 2F 2B 4F 1B 1BB 3F 2B 2F 1B 2BB 3F 2B 2F 1B 2BB 4F 3B 3BB 4F 3B 3BB 5F 2B 3BB 5F 1B 4BB 5F 1B 4BB 4F 1B 5BB 1F 4B 5BB 1F 3B 6"
"H 8W 16B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 1F 7BB 1F 1B 3F 2B 1BB 5F 2B 1BB 4F 2B 2BB 3F 2B 3BB 2F 2B 4BB 2F 2B 4BB 1F 2B 4F 1BF 8"
"H 8W 20B 8BB 8BB 6F 2BB 5F 2B 1BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 3F 2B 3BB 2F 1B 5BB 3F 2B 3BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 5F 2B 1BB 6F 2"
"H 2W 20B 2BB 2BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1BB 1F 1"
"H 8W 20B 8BB 8BB 2F 2B 4BB 3F 2B 3BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 5F 2B 1BB 7F 1BB 5F 2B 1BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 4F 2B 2BB 3F 2B 3BB 2F 2B 4"
"H 11W 12B 11BB 11BB 11BB 11BB 11BB 11BB 11BB 11BB 11BB 1F 3B 6F 1BF 1B 3F 3B 3F 1BF 1B 6F 3B 1"
"H 10W 16B 10BB 10BB 10BB 10BB 10BB 5F 1B 4BB 5F 2B 3BB 4F 1B 2F 1B 2BB 3F 1B 4F 1B 1BB 2F 1B 6F 1BB 2F 1B 6F 1BB 2F 1B 6F 1BB 2F 1B 6F 1BB 2F 1B 6F 1BB 2F 1B 6F 1BB 2F 8"
"H 12W 20B 12BB 12BB 12BB 5F 4B 2F 1BB 3F 2B 4F 3BB 2F 2B 6F 2BB 2F 2B 7F 1BB 1F 2B 8F 1BB 1F 2B 9BB 1F 2B 9BB 1F 2B 9BB 1F 2B 9BB 2F 1B 9BB 2F 2B 7F 1BB 3F 2B 5F 1B 1BB 4F 6B 2BB 6F 1B 5BB 5F 2B 5BB 6F 2B 4BB 5F 2B 5"
"H 9W 16B 9BB 9BB 9BB 9BB 2F 2B 1F 2B 2BB 2F 2B 1F 2B 2BB 9BF 3B 2F 3B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 2F 4BB 2F 3B 1F 2B 1"
"H 8W 16B 8BB 8BB 8BB 5F 2B 1BB 4F 2B 2BB 4F 1B 3BB 8BB 3F 3B 2BB 2F 2B 2F 1B 1BB 1F 2B 3F 2BB 1F 7BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 10W 16B 10BB 10BB 10BB 3F 3B 4BB 3F 1B 1F 1B 4BB 2F 1B 3F 1B 3BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 10W 16B 10BB 10BB 10BB 10BB 1F 2B 1F 2B 4BB 1F 2B 1F 2B 4BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 10W 16B 10BB 10BB 10BB 3F 2B 5BB 4F 2B 4BB 5F 1B 4BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 10W 16B 10BB 10BB 4F 2B 4BB 3F 1B 2F 1B 3BB 3F 1B 2F 1B 3BB 4F 2B 4BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 8W 20B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 3F 4B 1BB 2F 2B 2F 2BB 1F 2B 4F 1BB 1F 2B 5BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2BB 4F 1B 3BB 3F 2B 3BB 4F 2B 2BB 3F 2B 3"
"H 8W 16B 8BB 8BB 8BB 3F 3B 2BB 3F 1B 1F 1B 2BB 2F 1B 3F 1B 1BB 8BB 3F 3B 2BB 2F 2B 2F 1B 1BB 1F 2B 3F 2BB 1F 7BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 8W 16B 8BB 8BB 8BB 8BB 2F 2B 1F 2B 1BB 2F 2B 1F 2B 1BB 8BB 3F 3B 2BB 2F 2B 2F 1B 1BB 1F 2B 3F 2BB 1F 7BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 8W 16B 8BB 8BB 8BB 3F 2B 3BB 4F 2B 2BB 5F 1B 2BB 8BB 3F 3B 2BB 2F 2B 2F 1B 1BB 1F 2B 3F 2BB 1F 7BB 1F 2B 5BB 1F 2B 5BB 1F 3B 3F 1BB 2F 5B 1BB 3F 3B 2"
"H 6W 16B 6BB 6BB 6BB 6BB 1F 2B 1F 2BB 1F 2B 1F 2BB 6BB 2F 2B 2BB 1F 3B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 2F 2B 2BB 1F 4B 1"
"H 5W 16B 5BB 5BB 5BB 1F 3B 1BB 1F 1B 1F 1B 1BF 1B 3F 1BB 5BB 2F 2B 1BB 1F 3B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 1F 4"
"H 5W 16B 5BB 5BB 5BB 1F 2B 2BB 2F 2B 1BB 3F 1B 1BB 5BB 2F 2B 1BB 1F 3B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 1F 4"
"H 14W 16B 5F 2B 1F 2B 4BB 5F 2B 1F 2B 4BB 14BB 7F 1B 6BB 6F 2B 6BB 6F 3B 5BB 5F 1B 1F 2B 5BB 5F 1B 2F 2B 4BB 4F 1B 3F 2B 4BB 4F 1B 3F 2B 4BB 3F 1B 5F 2B 3BB 3F 8B 3BB 2F 1B 7F 2B 2BB 2F 1B 7F 2B 2BB 1F 2B 8F 2B 1BF 4B 5F 5"
"H 14W 16B 7F 2B 5BB 6F 1B 2F 1B 4BB 6F 1B 2F 1B 4BB 7F 2B 5BB 6F 2B 6BB 6F 3B 5BB 5F 1B 1F 2B 5BB 5F 1B 2F 2B 4BB 4F 1B 3F 2B 4BB 4F 1B 3F 2B 4BB 3F 1B 5F 2B 3BB 3F 8B 3BB 2F 1B 7F 2B 2BB 2F 1B 7F 2B 2BB 1F 2B 8F 2B 1BF 4B 5F 5"
"H 12W 16B 5F 2B 5BB 5F 1B 6BB 12BF 11B 1BB 2F 2B 6F 1B 1BB 2F 2B 6F 1B 1BB 2F 2B 8BB 2F 2B 4F 1B 3BB 2F 2B 4F 1B 3BB 2F 7B 3BB 2F 2B 4F 1B 3BB 2F 2B 4F 1B 3BB 2F 2B 8BB 2F 2B 7F 1BB 2F 2B 6F 1B 1BF 11B 1"
"H 12W 16B 12BB 12BB 12BB 12BB 12BB 12BB 12BB 2F 4B 1F 3B 2BB 1F 2B 2F 2B 3F 1B 1BB 1F 2B 2F 2B 3F 2BB 4F 8BB 2F 2B 1F 2B 5BB 1F 2B 2F 2B 5BB 1F 2B 2F 3B 3F 1BB 1F 2B 2F 6B 1BB 2F 3B 2F 3B 2"
"H 19W 16B 19BB 19BB 19BB 6F 12B 1BB 8F 3B 5F 2B 1BB 7F 1B 1F 2B 6F 1B 1BB 6F 1B 2F 2B 8BB 6F 1B 2F 2B 4F 1B 3BB 5F 1B 3F 2B 4F 1B 3BB 5F 1B 3F 7B 3BB 4F 7B 4F 1B 3BB 3F 1B 5F 2B 4F 1B 3BB 3F 1B 5F 2B 8BB 2F 1B 6F 2B 7F 1BB 1F 2B 6F 2B 6F 1B 1BF 4B 3F 11B 1"
"H 9W 16B 9BB 9BB 9BB 4F 3B 2BB 4F 1B 1F 1B 2BB 3F 1B 3F 1B 1BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 16B 9BB 9BB 9BB 9BB 3F 2B 1F 2B 1BB 3F 2B 1F 2B 1BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 16B 9BB 9BB 9BB 3F 2B 4BB 4F 2B 3BB 5F 1B 3BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 16B 9BB 9BB 9BB 3F 3B 3BB 3F 1B 1F 1B 3BB 2F 1B 3F 1B 2BB 9BF 3B 2F 3B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 2F 4BB 2F 3B 1F 2B 1"
"H 9W 16B 9BB 9BB 9BB 2F 2B 5BB 3F 2B 4BB 4F 1B 4BB 9BF 3B 2F 3B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 2F 4BB 2F 3B 1F 2B 1"
"H 10W 20B 10BB 10BB 10BB 10BB 3F 2B 1F 2B 2BB 3F 2B 1F 2B 2BB 10BB 1F 4B 2F 3BB 2F 2B 4F 1B 1BB 2F 2B 4F 1B 1BB 3F 2B 2F 1B 2BB 3F 2B 2F 1B 2BB 4F 3B 3BB 4F 3B 3BB 5F 2B 3BB 5F 1B 4BB 5F 1B 4BB 4F 1B 5BB 1F 4B 5BB 1F 3B 6"
"H 13W 16B 5F 2B 1F 2B 3BB 5F 2B 1F 2B 3BB 13BB 5F 4B 4BB 3F 2B 4F 2B 2BB 2F 2B 6F 2B 1BB 2F 1B 8F 1B 1BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 1F 2B 8F 2BB 2F 2B 7F 1B 1BB 2F 2B 6F 2B 1BB 3F 2B 4F 2B 2BB 5F 4B 4"
"H 13W 16B 5F 2B 1F 2B 3BB 5F 2B 1F 2B 3BB 13BF 6B 2F 5BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 2F 2B 6F 1B 2BB 3F 2B 4F 1B 3BB 4F 5B 4"
"H 9W 19B 9BB 9BB 9BB 9BB 7F 1B 1BB 7F 1B 1BB 6F 1B 2BB 3F 5B 1BB 2F 2B 2F 3BB 1F 2B 2F 1B 1F 2BB 1F 2B 2F 1B 3BB 1F 2B 1F 1B 4BB 1F 2B 1F 1B 3F 1BB 1F 3B 3F 2BB 2F 6B 1BB 3F 4B 2BB 2F 1B 6BB 2F 1B 6BB 1F 1B 7"
"H 10W 16B 10BB 10BB 10BB 6F 3B 1BB 5F 1B 1F 2B 1BB 4F 2B 4BB 4F 2B 4BB 4F 2B 4BB 4F 2B 4BB 2F 7B 1BB 4F 2B 4BB 4F 2B 4BB 4F 2B 4BB 2F 4B 3F 1BB 1F 1B 1F 7BB 1F 3B 2F 3B 1"
"H 10W 16B 10BB 10BB 10BF 4B 3F 3BB 1F 2B 5F 1B 1BB 2F 2B 3F 1B 2BB 2F 2B 3F 1B 2BB 2F 2B 2F 1B 3BB 3F 2B 1F 1B 3BB 3F 2B 1F 1B 3BF 10BB 4F 2B 4BF 10BB 4F 2B 4BB 4F 2B 4BB 2F 6B 2"
"H 20W 16B 20BB 20BB 20BF 8B 12BB 2F 2B 3F 2B 2F 1B 8BB 2F 2B 4F 4B 8BB 2F 2B 4F 4B 8BB 2F 2B 4F 6B 1F 3B 1F 1BB 2F 2B 4F 4B 2F 1B 3F 2BB 2F 2B 3F 2B 1F 2B 2F 1B 4F 1BB 2F 6B 2F 2B 2F 3B 3BB 2F 2B 6F 2B 3F 4B 1BB 2F 2B 6F 2B 5F 3BB 2F 2B 6F 2B 2F 1B 4F 1BB 2F 2B 6F 2B 2F 2B 3F 1BF 6B 4F 5B 1F 3B 1"
"H 10W 20B 10BB 10BB 7F 3BB 6F 2B 1F 1BB 6F 2B 2BB 6F 2B 2BB 5F 2B 3BB 3F 6B 1BB 5F 2B 3BB 5F 2B 3BB 4F 3B 3BB 4F 2B 4BB 4F 2B 4BB 4F 2B 4BB 3F 2B 5BB 3F 2B 5BB 3F 2B 5BB 3F 1B 6BF 1B 1F 2B 6BF 3B 7"
"H 10W 16B 10BB 10BB 10BB 5F 2B 3BB 4F 2B 4BB 4F 1B 5BB 10BB 2F 5B 3BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 5F 3B 2BB 2F 3B 1F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 2F 3B 1F 1BB 2F 3B 1F 3B 1"
"H 5W 16B 5BB 5BB 5BB 3F 2BB 2F 2B 1BB 2F 1B 2BB 5BB 2F 2B 1BB 1F 3B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 2F 2B 1BB 1F 4"
"H 9W 16B 9BB 9BB 9BB 5F 2B 2BB 4F 2B 3BB 4F 1B 4BB 9BB 3F 4B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 9W 16B 9BB 9BB 9BB 4F 2B 3BB 3F 2B 4BB 3F 1B 5BB 9BF 3B 2F 3B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 2F 4BB 2F 3B 1F 2B 1"
"H 9W 16B 9BB 9BB 9BB 9BB 3F 2B 2F 1B 1BB 2F 1B 2F 2B 2BB 9BB 1F 2B 1F 3B 2BF 4B 2F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BF 4B 1F 4"
"H 15W 16B 6F 2B 2F 1B 4BB 5F 1B 2F 2B 5BB 15BF 4B 6F 5BB 2F 3B 7F 1B 2BB 3F 3B 6F 1B 2BB 3F 4B 5F 1B 2BB 3F 1B 1F 3B 4F 1B 2BB 3F 1B 2F 2B 4F 1B 2BB 3F 1B 3F 2B 3F 1B 2BB 3F 1B 4F 2B 2F 1B 2BB 3F 1B 4F 3B 1F 1B 2BB 3F 1B 5F 4B 2BB 3F 1B 6F 3B 2BB 3F 1B 7F 2B 2BB 1F 5B 6F 1B 2"
"H 5W 9B 5BB 5BB 5BF 4B 1BF 1B 2F 1B 1BB 2F 2B 1BB 1F 1B 1F 1B 1BF 1B 2F 1B 1BF 5"
"H 6W 9B 6BB 6BB 6BB 1F 4B 1BF 1B 3F 2BF 1B 4F 1BF 1B 4F 1BF 2B 3F 1BB 1F 4B 1"
"H 7W 20B 7BB 7BB 7BB 7BB 7BB 7BB 3F 2B 2BB 3F 2B 2BB 7BB 7BB 4F 1B 2BB 4F 1B 2BB 3F 1B 3BB 2F 1B 4BB 1F 2B 4BF 2B 5BF 2B 3F 2BF 2B 3F 2BF 3B 2F 2BB 1F 5B 1"
"H 10W 11B 10BB 10BB 10BB 10BB 10BB 10BB 10BF 10BF 1B 9BF 1B 9BF 1B 9"
"H 10W 11B 10BB 10BB 10BB 10BB 10BB 10BB 10BF 10BB 9F 1BB 9F 1BB 9F 1"
"H 14W 16B 14BB 14BB 14BB 2F 1B 8F 1B 2BB 1F 2B 7F 1B 3BB 2F 1B 7F 1B 3BB 2F 1B 6F 1B 4BB 2F 1B 5F 1B 5BB 2F 1B 5F 1B 5BB 1F 3B 3F 1B 2F 3B 1BB 6F 1B 2F 1B 3F 1BB 5F 1B 7F 1BB 5F 1B 6F 1B 1BB 4F 1B 6F 1B 2BB 3F 1B 6F 1B 3BB 3F 1B 5F 5"
"H 15W 16B 15BB 15BB 15BB 2F 1B 9F 1B 2BB 1F 2B 8F 1B 3BB 2F 1B 7F 1B 4BB 2F 1B 7F 1B 4BB 2F 1B 6F 1B 5BB 2F 1B 5F 1B 6BB 1F 3B 3F 1B 5F 1B 1BB 7F 1B 4F 2B 1BB 6F 1B 4F 1B 1F 1B 1BB 5F 1B 4F 1B 2F 1B 1BB 4F 1B 5F 5BB 4F 1B 8F 1B 1BB 3F 1B 9F 1B 1"
"H 4W 20B 4BB 4BB 4BB 4BB 4BB 4BB 2F 2BB 2F 2BB 4BB 4BB 3F 1BB 3F 1BB 3F 1BB 3F 1BB 2F 2BB 2F 2BB 2F 2BB 2F 2BB 2F 2BB 2F 2"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BB 4F 1B 3F 1BB 3F 1B 3F 1B 1BB 2F 1B 3F 1B 2BB 1F 2B 2F 2B 2BF 2B 2F 2B 3BB 1F 2B 2F 2B 2BB 2F 1B 3F 1B 2BB 3F 1B 3F 1B 1BB 4F 1B 3F 1"
"H 9W 16B 9BB 9BB 9BB 9BB 9BB 9BB 9BF 1B 3F 1B 4BB 1F 1B 3F 1B 3BB 2F 1B 3F 1B 2BB 2F 2B 2F 2B 1BB 3F 2B 2F 2BB 2F 2B 2F 2B 1BB 2F 1B 3F 1B 2BB 1F 1B 3F 1B 3BF 1B 3F 1B 4"
"H 12W 19B 12BB 12BB 1F 1B 3F 1B 3F 1B 2BB 12BB 3F 1B 3F 1B 3F 1BB 12BB 1F 1B 3F 1B 3F 1B 2BB 12BB 3F 1B 3F 1B 3F 1BB 12BB 1F 1B 3F 1B 3F 1B 2BB 12BB 3F 1B 3F 1B 3F 1BB 12BB 1F 1B 3F 1B 3F 1B 2BB 12BB 3F 1B 3F 1B 3F 1BB 12BB 1F 1B 3F 1B 3F 1B 2"
"H 12W 19B 12BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BB 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BB 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BB 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BB 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1"
"H 12W 20B 12BB 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BF 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BF 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BF 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BF 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BF 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BF 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BF 12BF 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1BF 12BB 1F 1B 1F 1B 1F 1B 1F 1B 1F 1B 1F 1BF 12"
"H 8W 20B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2"
"H 8W 20B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BF 8BF 8BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2"
"H 8W 20B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BF 8BF 8BB 6F 2BB 6F 2BF 8BF 8BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2"
"H 10W 20B 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BF 6B 2F 2BF 6B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2"
"H 10W 20B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BB 10BF 10BF 10BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2"
"H 8W 20B 8BB 8BB 8BB 8BB 8BB 8BB 8BF 8BF 8BB 6F 2BB 6F 2BF 8BF 8BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2"
"H 10W 20B 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BF 6B 2F 2BF 6B 2F 2BB 8F 2BB 8F 2BF 6B 2F 2BF 6B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2"
"H 10W 20B 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2"
"H 10W 20B 10BB 10BB 10BB 10BB 10BB 10BB 10BF 10BF 10BB 8F 2BB 8F 2BF 6B 2F 2BF 6B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2"
"H 10W 13B 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BF 6B 2F 2BF 6B 2F 2BB 8F 2BB 8F 2BF 10BF 10"
"H 10W 11B 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BB 4F 2B 2F 2BF 10BF 10"
"H 8W 13B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BF 8BF 8BB 6F 2BB 6F 2BF 8BF 8"
"H 8W 20B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 8BB 8BF 8BF 8BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2"
"H 14W 11B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8"
"H 14W 11B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BF 14BF 14"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 11B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14"
"H 14W 20B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BF 14BF 14BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 6BB 4F 2B 2F 6BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 13B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 6BB 4F 2B 2F 6BB 4F 2B 8BB 4F 2B 8BB 4F 10BB 4F 10"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 4F 10BB 4F 10BB 4F 2B 8BB 4F 2B 8BB 4F 2B 2F 6BB 4F 2B 2F 6BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 13B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BF 6B 2F 6BF 6B 2F 6BB 14BB 14BF 14BF 14"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BB 14BB 14BF 6B 2F 6BF 6B 2F 6BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 20B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 6BB 4F 2B 2F 6BB 4F 2B 8BB 4F 2B 8BB 4F 2B 2F 6BB 4F 2B 2F 6BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 13B 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BB 14BB 14BF 14BF 14"
"H 15W 20B 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BF 7B 2F 6BF 7B 2F 6BB 15BB 15BF 7B 2F 6BF 7B 2F 6BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4BB 5F 2B 2F 2B 4"
"H 14W 13B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BF 14BF 14BB 14BB 14BF 14BF 14"
"H 14W 11B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BF 14BF 14"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BB 14BB 14BF 14BF 14BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 11B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 10BB 4F 10"
"H 14W 13B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 4F 10BB 4F 10BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 20B 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BF 14BF 14BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4BB 4F 2B 2F 2B 4"
"H 14W 20B 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BF 14BF 14BB 6F 2B 6BB 6F 2B 6BF 14BF 14BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 8W 11B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BF 8BF 8"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 6F 8BB 6F 8BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6BB 6F 2B 6"
"H 14W 20BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14"
"H 14W 20B 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BB 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14"
"H 7W 20BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7BF 7"
"H 14W 20B 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7BB 7F 7"
"H 14W 10BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14BF 14"
"H 10W 16B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 3F 2B 2F 2B 1BB 2F 2B 1F 1B 1F 2B 1BB 1F 2B 3F 3B 1BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 1F 2B 3F 2B 2BB 2F 2B 1F 3B 1F 1BB 3F 3B 2F 2"
"H 9W 16B 9BB 9BB 2F 5B 2BB 2F 1B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 2B 1BB 1F 2B 3F 1B 2BB 1F 2B 2F 2B 2BB 1F 2B 3F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 1F 2B 1F 1B 1BF 3B 1F 3B 2"
"H 11W 16B 11BB 11BB 11BF 11BB 2F 2B 5F 2BB 2F 2B 6F 1BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BB 2F 2B 7BF 6B 5"
"H 11W 16B 11BB 11BB 11BB 11BB 11BB 11BB 11BB 1F 10BF 1B 2F 1B 2F 2B 3BB 3F 1B 2F 2B 3BB 3F 1B 2F 2B 3BB 3F 1B 2F 2B 3BB 2F 2B 2F 2B 3BB 2F 1B 3F 2B 1F 1B 1BB 1F 2B 3F 4B 1BB 1F 2B 4F 2B 2"
"H 11W 16B 11BB 11BB 11BF 10B 1BB 1F 2B 5F 2B 1BB 2F 2B 5F 1B 1BB 2F 2B 7BB 3F 2B 6BB 4F 2B 5BB 4F 2B 5BB 4F 1B 6BB 3F 1B 7BB 2F 1B 7F 1BB 2F 1B 6F 2BB 1F 10BF 10B 1"
"H 11W 16B 11BB 11BB 11BB 11BB 11BB 11BB 11BB 3F 8BB 2F 2B 3F 1B 3BB 1F 2B 4F 2B 2BB 1F 2B 5F 2B 1BB 1F 2B 5F 2B 1BB 1F 2B 5F 2B 1BB 2F 2B 4F 2B 1BB 3F 2B 2F 2B 2BB 4F 4B 3"
"H 11W 20B 11BB 11BB 11BB 11BB 11BB 11BB 11BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 3F 2B 2BB 2F 2B 2F 3B 1F 1BB 2F 4B 1F 3B 1BB 2F 1B 8BB 1F 2B 8BB 1F 2B 8BB 1F 2B 8"
"H 8W 16B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 1F 7BF 1B 3F 1B 3BB 3F 2B 3BB 3F 2B 3BB 3F 2B 3BB 3F 2B 3BB 3F 2B 2F 1BB 3F 5BB 4F 3B 1"
"H 14W 16B 14BB 14BB 14BB 5F 6B 3BB 7F 2B 5BB 4F 7B 3BB 2F 3B 2F 2B 2F 2B 1BB 2F 1B 4F 2B 3F 2BB 1F 2B 4F 2B 3F 2BB 1F 2B 4F 2B 3F 2BB 1F 2B 4F 2B 3F 2BB 2F 1B 4F 2B 3F 2BB 2F 3B 2F 2B 2F 2B 1BB 4F 7B 3BB 7F 2B 5BB 5F 6B 3"
"H 13W 16B 13BB 13BB 13BB 5F 4B 4BB 3F 2B 4F 2B 2BB 2F 2B 6F 2B 1BB 2F 1B 7F 2B 1BB 1F 2B 2F 1B 2F 1B 2F 2BB 1F 2B 2F 4B 2F 2BB 1F 2B 2F 4B 2F 2BB 1F 2B 2F 1B 2F 1B 2F 2BB 1F 2B 8F 2BB 2F 2B 7F 1B 1BB 2F 2B 6F 2B 1BB 3F 2B 4F 2B 2BB 4F 5B 4"
"H 14W 16B 14BB 14BB 14BB 5F 6B 3BB 3F 2B 5F 2B 2BB 2F 2B 7F 2B 1BB 1F 2B 9F 2BB 1F 2B 9F 2BB 1F 2B 9F 2BB 1F 2B 9F 2BB 2F 2B 7F 2B 1BB 2F 3B 6F 2B 1BB 4F 2B 3F 2B 3BB 1F 1B 3F 1B 3F 1B 3F 1BB 1F 5B 3F 5BB 1F 5B 3F 5"
"H 9W 16B 9BB 9BB 3F 4B 2BB 2F 1B 3F 2B 1BB 2F 1B 4F 1B 1BB 3F 1B 5BB 4F 1B 4BB 4F 3B 2BB 2F 2B 2F 2B 1BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 1F 2B 4F 2BB 2F 2B 2F 2B 1BB 3F 4B 2"
"H 13W 15B 13BB 13BB 13BB 13BB 13BB 13BB 13BB 7F 4B 2BB 2F 2B 3F 1B 3F 1B 1BB 1F 1B 2F 1B 1F 2B 4F 1BF 1B 4F 2B 5F 1BF 1B 4F 2B 5F 1BF 1B 4F 2B 5F 1BB 1F 1B 2F 2B 1F 1B 3F 1B 1BB 2F 3B 3F 3B 2"
"H 11W 20B 11BB 11BB 11BB 11BB 11BB 11BB 11BB 3F 2B 2F 2B 2BB 2F 2B 2F 1B 1F 2B 1BB 1F 2B 3F 1B 2F 2BB 1F 2B 3F 1B 2F 2BB 1F 2B 3F 1B 2F 2BB 1F 2B 3F 1B 2F 2BB 2F 2B 2F 1B 2F 2BB 2F 3B 1F 1B 1F 2B 1BB 4F 5B 2BB 6F 1B 4BB 6F 1B 4BB 6F 1B 4BB 6F 1B 4"
"H 8W 16B 8BB 8BB 8BB 8BB 8BB 8BB 8BB 2F 5B 1BB 1F 2B 3F 2BB 1F 2B 5BB 1F 2B 5BB 3F 3B 2BB 1F 2B 5BB 1F 2B 4F 1BB 1F 2B 3F 2BB 2F 5B 1"
"H 13W 16B 13BB 13BB 5F 5B 3BB 4F 1B 5F 1B 2BB 3F 1B 7F 1B 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1BB 2F 1B 9F 1"
"H 11W 13B 11BB 11BB 11BB 11BB 11BB 11BF 11BB 11BB 11BF 11BB 11BB 11BF 11"
"H 11W 15B 11BB 11BB 11BB 11BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BF 11BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BB 5F 1B 5BF 11"
"H 11W 18B 11BB 11BB 11BB 11BB 11BF 1B 10BB 1F 3B 7BB 4F 3B 4BB 7F 3B 1BB 10F 1BB 7F 3B 1BB 4F 3B 4BB 1F 3B 7BF 1B 10BB 11BB 11BB 11BF 11"
"H 11W 18B 11BB 11BB 11BB 11BB 11BB 10F 1BB 7F 3B 1BB 4F 3B 4BB 1F 3B 7BF 1B 10BB 1F 3B 7BB 4F 3B 4BB 7F 3B 1BB 10F 1BB 11BB 11BB 11BF 11"
"H 11W 20B 7F 1B 1F 2BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3BB 6F 2B 3"
"H 8W 20B 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 6F 2BB 3F 2B 1F 1B 1"
"H 10W 14B 10BB 10BB 10BB 10BB 10BB 4F 2B 4BB 4F 2B 4BB 10BB 10BF 10BB 10BB 10BB 4F 2B 4BB 4F 2B 4"
"H 11W 14B 11BB 11BB 11BB 11BB 11BB 11BB 1F 3B 6F 1BF 1B 3F 3B 3F 1BF 1B 6F 3B 1BB 11BB 11BB 1F 3B 6F 1BF 1B 3F 3B 3F 1BF 1B 6F 3B 1"
"H 7W 9B 7BB 7BB 7BB 2F 4B 1BB 1F 2B 2F 2BB 1F 1B 4F 1BB 1F 1B 4F 1BB 1F 2B 2F 2BB 2F 4B 1"
"H 3W 10B 3BB 3BB 3BB 3BB 3BB 3BB 3BB 3BB 1F 2BB 1F 2"
"H 4W 10B 4BB 4BB 4BB 4BB 4BB 4BB 4BB 4BB 2F 2BB 2F 2"
"H 11W 17B 10F 1BB 10F 1BB 9F 1B 1BB 9F 1B 1BB 9F 1B 1BB 9F 1B 1BB 2F 2B 5F 1B 1BB 1F 1B 1F 1B 5F 1B 1BB 4F 1B 4F 1B 1BB 4F 1B 3F 1B 2BB 5F 1B 2F 1B 2BB 5F 1B 2F 1B 2BB 6F 1B 1F 1B 2BB 7F 2B 2BB 7F 2B 2BB 8F 1B 2BB 8F 1B 2"
"H 6W 10B 6BB 6BB 6BB 6BB 1F 1B 1F 2B 1BF 3B 1F 1B 1BB 1F 1B 2F 1B 1BB 1F 1B 2F 1B 1BB 1F 1B 2F 1B 1BF 6"
"H 5W 10B 5BB 5BB 5BB 1F 3B 1BF 1B 3F 1BB 4F 1BB 3F 1B 1BB 2F 1B 2BB 1F 1B 3BF 5"
"H 10W 16B 10BB 10BB 10BB 10BB 10BB 10BB 10BB 1F 9BB 1F 9BB 1F 9BB 1F 9BB 1F 9BB 1F 9BB 1F 9BB 1F 9BB 1F 9"
"H 4W 4BB 4BB 4BB 4BB 4"

now the actual program. Call it whatever you want. It's going to need that timmy.qdf file in the same directory if you want it to run without having to do a bunch of editing.
Code: (Select All)
' Fontmonkey  v0e.e01
' By James D Jarvis
' a crude bitmap font encoder/editor with display routines
' I'm calling the fonts it creates "dashfonts" with a file extenion of .qdf"
Dim Shared fonts As Integer
'Dim Shared chalimit As Integer
fonts = 3 'no good reason this is 3, I want to be able to load more than one font in a program i create using this so leaving this here
Const chalimit = 255 'you could theoretically change this but the universe might explode
Dim Shared char(fonts, chalimit) As String
Dim Shared currentfont
Dim Shared backgroundkolor
Dim Shared foregroundkolor
Dim Shared rcount(40)
Dim Shared ccount(40)
Dim Shared font_kerning(fonts)
Dim Shared chno
Dim Shared cc(40, 40)
backgroundkolor = 0
foregroundkolor = 15

currentfont = 1
For f = 1 To fonts: font_kerning(f) = 0: Next f
Dim Shared sh&
sh& = _NewImage(800, 600, 256)
Screen sh&
Dim Shared rootpath$, fontname$, fsize, f&
' sorry only works in windows without futher editing
rootpath$ = Environ$("SYSTEMROOT") 'normally "C:\WINDOWS"
fontname$ = "comic" 'you are going to want to change this
fontfile$ = rootpath$ + "\Fonts\" + fontname$ + ".ttf" 'TTF file in Windows
fltr$ = "a"
fsize = 20 'I found this size works well for encoding, yuo can of course change this but bear in mind the top size is 40 pixels

Dim Shared fchar$
Dim Shared lastcharwid
lastcharwid = 8
fnam$ = "timmy" 'the default dash font for the program you can of course edit this

loadqdf 1, fnam$ 'loads timmy as default font
loadqdf 2, fnam$ 'loads timmy as backup font
Do
    Print
    Print
    Input "Select a letter (or command word) ", ltt$
    If ltt$ = "" Then ltt$ = " "
    If Mid$(ltt$, 1, 1) = "-" Then
        ch = Val(ltt$) * -1
        chno = ch
    Else
        If Len(ltt$) > 1 Then ltt$ = LCase$(ltt$)
        ch = Asc(ltt$)
        chno = ch
    End If
    Locate 1, 1
    Print ltt$
    drawchar 100, 1, 0, 15, 1, 1, ch
    Locate 10, 1
    Print char(1, ch)
    If ltt$ = "zoom" Then zoom
    If ltt$ = "cls" Then Cls
    If ltt$ = "save" Then
        Cls
        Print "please enter a filename"
        Input fnam$
        savefont 1, fnam$
    End If
    If ltt$ = "load" Then
        Cls
        Print "enter name of font to load (no extension please)"
        Input fnam$
        fname$ = fnam$ + ".qdf"
        loadqdf 1, fnam$
    End If

    If ltt$ = "load2" Then
        Cls
        currentfont = 2
        Print "enter name of font to load (no extension please)"
        Input fnam$
        fname$ = fnam$ + ".qdf"
        loadqdf 2, fnam$

        currentfont = 1
    End If

    If ltt$ = "encode" Then
        Cls
        Print "enter name of font to encode (no extension please)"
        Input fnam$
        fname$ = fnam$ + ".qdf"
        encodefont fnam$, 20, 1
    End If

    If ltt$ = "show" Then
        Cls
        For y = 1 To 10
            For cc = 1 To 24
                drawchar (cc * 24), y * 25, backgroundkolor, foregroundkolor, 1, 1, (cc + (y - 1) * 24)
            Next cc
        Next y
        For cc = 241 To 255
            drawchar ((cc - 240) * 24), 275, backgroundkolor, foregroundkolor, 1, 1, cc
        Next cc
    End If
    If ltt$ = "show2" Then
        currentfont = 2
        Cls
        For y = 1 To 10
            For cc = 1 To 24
                drawchar (cc * 24), y * 25, backgroundkolor, foregroundkolor, 1, 1, (cc + (y - 1) * 24)
            Next cc
        Next y
        For cc = 241 To 255
            drawchar ((cc - 240) * 24), 275, backgroundkolor, foregroundkolor, 1, 1, cc
        Next cc
        currentfont = 1
    End If
    If ltt$ = "help" Then
        Cls
        Print " entering a single character will draw that character in the loaded font"
        Print "-#     : a negative number will display the positvre value as the asccii character code"
        Print "quit   : quits the program"
        Print "load   : will load a dash font as the active working font"
        Print "load2  : will load another dash font as the backup font or font to copy from"
        Print "encode : will load and encode a ttf font and convert it into a dash font, this font"
        Print "         becomes the working font but is NOT SAVED until you use the save comand"
        Print "zoom   : zoom on in and edit characters in the pixel eidtor in the working dash font."
        Print "show   : displays the working font"
        Print "show2  : displays the backup font"
        Print "cls    : Clean up the screen (eventually this is whole program is getting cleaned up)"
        Print "whole words that are not supported will simply display the first character"
        Print " "
    End If

    sampletext$ = "The brown cown jumped over the moon. Written in " + fnam$ + "."
    drawstring 2, 300, sampletext$
    drawstring 2, 350, "<cls><zoom><quit><load><load2><save><encode><show><show2><help>"
Loop Until ltt$ = "quit"
Cls
'crazystring exit message just for fun
'shows how scaling and color works with the drawchar command
byetext$ = "Goodbye. So long. BYE BYE."
Randomize Timer
lcrz = Len(byetext$)
For r = 1 To 6
    Cls
    _Limit 2
    x = 2: y = 200
    For n = 1 To lcrz
        lt$ = Mid$(byetext$, n, 1)
        ch = Asc(lt$)
        drawchar x, y, backgroundcolor, Int(Rnd * 239 + 16), Int(Rnd * 3) + 1, Int(Rnd * 3) + 1, ch
        x = x + lastcharwid + Int(Rnd * 4)
        _Display
    Next n
Next r
drawstring 2, 240, "BYE."

_Delay 1
System

Sub drawstring (xpos, ypos, A$)
    nl = Len(A$)
    x = xpos: y = ypos
    For n = 1 To nl
        lt$ = Mid$(A$, n, 1)
        ch = Asc(lt$)
        drawchar x, y, backgroundkolor, foregroundkolor, 1, 1, ch
        x = x + lastcharwid + font_kerning(currentfont)
    Next n
End Sub

Sub drawchar (xpos, ypos, bg, fg, drawH, drawW, ch)
    'draw a single character
    'drawH and DrawW are scaling factors to enlarge the character when drawn, default size is 1
    ndashes = 0
    cf = currentfont
    maxcc = Len(char(cf, ch))

    Dim DashPos(maxcc) As Integer
    'there will never be this many dashes but we are playing it safe
    Dim DNum(maxcc) As Integer

    Hpos = InStr(1, char(cf, ch), "H")
    Wpos = InStr(Hpos, char(cf, ch), "W")
    ndashes = 0
    firstdash = InStr(1, char(cf, ch), "B")
    If firstdash = 0 Then firstdash = InStr(1, char(cf, ch), "F")
    HH$ = Mid$(char(cf, ch), Hpos + 1, Wpos - Hpos - 1)
    Horz = Val(HH$)
    lastcharwid = Horz

    ' Print Horz
    VV$ = Mid$(char(cf, ch), Wpos + 1, firstdash - Wpos - 1)
    Vert = Val(HH$)
    ' Print Vert
    For cc = firstdash To maxcc
        p$ = Mid$(char(cf, ch), cc, 1)
        If p$ = "B" Then
            ndashes = ndashes + 1
            DashPos(ndashes) = cc
        End If
        If p$ = "F" Then
            ndashes = ndashes + 1
            DashPos(ndashes) = cc
        End If
    Next cc
    lastdash = ndashes

    dt = lastdash - 1
    DNum(lastdash) = Val(Mid$(char(cf, ch), DashPos(lastdash) + 1, maxcc))
    For d = 1 To dt
        tnum$ = Mid$(char(cf, ch), DashPos(d) + 1, DashPos(d + 1) - DashPos(d) - 1)
        DNum(d) = Val(tnum$)
    Next d
    x = xpos
    y = ypos
    If drawH = 1 And drawW = 1 Then
        For dd = 1 To lastdash
            p$ = Mid$(char(cf, ch), DashPos(dd), 1)
            If p$ = "F" Then
                For r = 0 To (DNum(dd) - 1)
                    PSet (x, y), fg
                    x = x + 1
                    If x = xpos + Vert Then
                        y = y + 1
                        x = xpos
                    End If
                Next r
            End If
            If p$ = "B" Then
                For r = 0 To (DNum(dd) - 1)
                    PSet (x, y), bg
                    x = x + 1
                    If x = xpos + Vert Then
                        y = y + 1
                        x = xpos
                    End If
                Next r
            End If
        Next dd
        If ch = 32 Then lastcharwid = 8
    End If
    If drawH > 1 Or drawW > 1 Then
        lastcharwid = lastcharwid * drawW
        For dd = 1 To lastdash
            p$ = Mid$(char(cf, ch), DashPos(dd), 1)
            If p$ = "F" Then
                For r = 0 To (DNum(dd) - 1)
                    Line (x, y)-(x + drawW, y + drawH), fg, BF
                    x = x + drawW
                    If x = xpos + Vert * drawW Then
                        y = y + drawH
                        x = xpos
                    End If
                Next r
            End If
            If p$ = "B" Then
                For r = 0 To (DNum(dd) - 1)
                    If noBKG < 1 Then Line (x, y)-(x + drawW, y + drawH), bg, BF
                    x = x + drawW
                    If x = xpos + Vert * drawW Then
                        y = y + drawH
                        x = xpos
                    End If
                Next r
            End If
        Next dd
        If ch = 32 Then lastcharwid = 8
    End If
End Sub

Sub encodefont (fnt$, siz, fontno)
    'convert a windows true type font into a dash font
    fontfile$ = rootpath$ + "\Fonts\" + fnt$ + ".ttf"
    style$ = "" 'font style is not case sensitive
    f& = _LoadFont(fontfile$, siz, style$)
    _Font f&
    zerocc 'cleans up the horrible character grid
    Dim frow$(40)
    fchar$ = ""
    'character zero isn't encoded
    ' each character is printed and loaded into a simple grid
    ' program is written with a hard limit of 40 pixels x 40 pixels per character
    For ch = 1 To 255
        fchar$ = ""
        _ControlChr Off
        Line (0, 0)-(200, 41), 0, BF
        _PrintString (1, 1), Chr$(ch)
        For x = 1 To 40
            For y = 1 To 40
                klr% = Point(x, y)
                If klr% > 0 Then klr% = 1
                cc(x, y) = klr%
            Next y
        Next x
        rmax = 0
        cmax = 0
        For xx = 1 To 40: rcount(xx) = 0: ccount(xx) = 0: Next xx
        For x = 1 To 40
            For y = 1 To 40
                If cc(x, y) > 0 Then
                    ccount(x) = x
                    PSet (x + 50, y), 12
                End If
            Next y
        Next x
        For y = 1 To 40
            For x = 1 To 40
                If cc(x, y) > 0 Then rcount(y) = y
            Next x
        Next y

        For xx = 1 To 40
            If rcount(xx) > rmax Then rmax = rcount(xx)
            If ccount(xx) > cmax Then cmax = ccount(xx)
        Next xx

        For x = 1 To rmax
            For y = 1 To cmax
                If cc(x, y) <> 0 Then PSet (x + 100, y), 13
            Next y
        Next x
        ' if you want to be bored watching each letter as it scans uncomment the following lines
        ' Locate 10, 1
        ' Print " rmax "; rmax, " cmax ", cmax
        ' Input a$
        fchar$ = fchar$ + "H" + Str$(cmax) + "W" + Str$(rmax)
        penflag$ = "B"
        count = 0
        For r = 1 To rmax
            frow$(r) = "B"
            For c = 1 To cmax
                If cc(c, r) = 0 Then
                    If penflag$ = "" Or penflag$ = "F" Then
                        penflag$ = "B"
                        If count > 0 Then frow$(r) = frow$(r) + Str$(count)
                        frow$(r) = frow$(r) + "B"
                        count = 0
                    End If
                    If penflag$ = "B" Then
                        count = count + 1
                    End If
                End If
                If cc(c, r) = 1 Then
                    If penflag$ = "" Or penflag$ = "B" Then
                        penflag$ = "F"
                        If count > 0 Then frow$(r) = frow$(r) + Str$(count)
                        frow$(r) = frow$(r) + "F"
                        count = 0
                    End If
                    If penflag$ = "F" Then
                        count = count + 1
                    End If
                End If
            Next c
            frow$(r) = frow$(r) + Str$(count)
            count = 0
            penflag$ = ""
            fchar$ = fchar$ + frow$(r)
        Next r
        If ch = 32 Then
            spw = Int(fsize * .667)
            fchar$ = "H1" + "W" + Str$(spw) + "B" + Str$(spw)
        End If
        char(fontno, ch) = fchar$
    Next ch
    _ControlChr On
End Sub


Sub savefont (fntNo, filename$)
    fileout$ = filename$ + ".qdf"
    Open fileout$ For Output As #1
    Write #1, "' ***************************************************"
    oline$ = "'         " + filename$
    Write #1, oline$
    Write #1, "' ***************************************************"
    Write #1, "' This Dash Font was wrtitten in QB64"
    Write #1, "' yup.... can't do much with it otherwise"
    For c = 1 To 255
        Write #1, char(fntNo, c)
    Next c
    Close #1
End Sub
Sub loadqdf (fntNo, filename$)
    filein$ = filename$ + ".qdf"
    Open filein$ For Input As #1
    For cc = 1 To 255
        Do
            Input #1, char(fntNo, cc)
            first$ = Mid$(char(fntNo, cc), 1, 1)
        Loop Until first$ <> "'"
    Next cc
    Close #1
End Sub
Sub zoom ()
    ' Dim cch(40, 40) As Integer
    zerocc
    Dim frow$(40)
    cf = currentfont
    redraw:
    Cls
    tchar$ = char(currentfont, chno)

    drawchar 1, 1, 0, 15, 1, 1, chno
    For x = 1 To 40
        For y = 1 To 40
            klr% = Point(x, y)
            If klr% > 0 Then klr% = 1
            cc(x, y) = klr%
        Next y
    Next x
    ch = chno
    Hpos = InStr(1, char(cf, ch), "H")
    Wpos = InStr(Hpos, char(cf, ch), "W")
    ndashes = 0
    firstdash = InStr(1, char(cf, ch), "B")
    If firstdash = 0 Then firstdash = InStr(1, char(cf, ch), "F")
    HH$ = Mid$(char(cf, ch), Hpos + 1, Wpos - Hpos - 1)
    rmax = Val(HH$)
    VV$ = Mid$(char(cf, ch), Wpos + 1, firstdash - Wpos - 1)
    cmax = Val(VV$)
    tchar$ = char(currentfont, chno)
    tchar$ = Right$(tchar$, Len(tchar$) - (firstdash - 1))
    For rr = 1 To rmax
        For cc = 1 To cmax
            If cc(rr, cc) > 0 Then
                Line (rr * 8 + 50, cc * 8)-(rr * 8 + 6 + 50, cc * 8 + 6), 15, BF
            Else
                Line (rr * 8 + 50, cc * 8)-(rr * 8 + 6 + 50, cc * 8 + 6), 2, B
            End If
        Next cc
    Next rr
    Locate 17, 1
    Print tchar$
    Locate 3, 1: Print "CHR"
    Locate 4, 1: Print chno
    Locate 21, 1
    Print "choose a letter, -# for ascii code, <done>,<+col>,<+row>,<left>,<right>,<up>"
    Print "<down>,<restore>,<trimc>,<trimr>,<setgrid>"
    Locate 23, 1
    Input a$
    cll = Len(a$)
    If cll = 1 Then
        chno = Asc(a$)
        If chno < 1 Then chno = 1
        If chno > 255 Then chno = 255

        GoTo redraw
    End If
    If InStr(1, a$, "-") = 1 Then
        chno = Val(a$): chno = chno * -1
        If chno < 1 Then chno = 1
        If chno > 255 Then chno = 255

        GoTo redraw
    End If
    If a$ = "+row" Then
        cmax = cmax + 1
        tchar$ = "H" + Str$(rmax) + "W" + Str$(cmax) + tchar$ + "B" + Str$(rmax)
        char(currentfont, chno) = tchar$

    End If
    If a$ = "+col" Then
        rmax = rmax + 1
        dashcc chno, rmax, cmax

    End If
    If a$ = "trimc" Then
        rmax = rmax - 1
        dashcc chno, rmax, cmax

    End If
    If a$ = "trimr" Then
        cmax = cmax - 1
        dashcc chno, rmax, cmax
    End If
    If a$ = "setgrid" Then
        Cls
        Print "current rows "; rmax, "current columns "; cmax
        Input "New rows", nr
        Input "New columns", nc
        If nr < 1 Then nr = 1
        If nr > 40 Then nr = 40
        If nc < 1 Then nc = 1
        If nc > 40 Then nc = 40
        cmax = nc
        rmax = nr
        dashcc chno, rmax, cmax
    End If
    If a$ = "left" Then
        For x = 2 To rmax
            For y = 1 To cmax
                cc(x - 1, y) = cc(x, y)
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If
    If a$ = "right" Then
        For x = (rmax - 1) To 2 Step -1
            For y = 1 To cmax
                cc(x, y) = cc(x - 1, y)
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If
    If a$ = "up" Then
        For x = 1 To rmax
            For y = 1 To (cmax - 1)
                cc(x, y) = cc(x, y + 1)
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If
    If a$ = "down" Then
        For x = 1 To rmax
            For y = cmax To 2 Step -1
                cc(x, y) = cc(x, y - 1)
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If
    If a$ = "neg" Then
        For x = 1 To rmax
            For y = 1 To cmax
                If cc(x, y) = 0 Then
                    cc(x, y) = 1
                Else
                    cc(x, y) = 0
                End If
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If

    If a$ = "help" Then
        Cls
        Print " entering a single charcter will drawthat character in the loaded font"
        Print "-#      : a negative number will display the positve value as the asccii character code"
        Print "done    : returns to the main program where the font can be saved"
        Print "mm      : activates the mouse editing of  the charcater shown, press any key in that mode to stop"
        Print "          yes, the mouse handling is bad here."
        Print "restore : will replace the charcter in the workign font with the one from the backup font"
        Print "+col    : adds a blank column to a character"
        Print "+row    : adds a blank row to the charcter"
        Print "left    : drags the character left one pixel"
        Print "right   : drags the character right one pixel"
        Print "up      : drags the character up one pixel"
        Print "setgrid : lets the grid for the charcter to be reset anywhere from 1 to 40 pixels"
        Print "trimr   : trims away the bottom row"
        Print "trimc   : trims away the right hand column"
        Print " "
        Print "moving a charcter outside the grid will cause loss of that data as will setting the grid too small"
        Print " "
        Print "changes must be saved in the main program or they will be lost"
        Print " "
        Input anyk$
    End If

    If a$ = "restore" Then
        char(currentfont, chno) = char(currentfont + 1, chno)
        zerocc
        Cls
        drawchar 1, 1, 0, 15, 1, 1, chno
        For x = 1 To 40
            For y = 1 To 40
                klr% = Point(x, y)
                If klr% > 0 Then klr% = 1
                cc(x, y) = klr%
            Next y
        Next x
        dashcc chno, rmax, cmax
    End If
    If a$ = "mm" Then
        'horrible mouse handling here, sorry
        md$ = ""
        Do While md$ = ""
            _Limit 500
            mflag = 0
            Mouser mx, my, mb
            If mb Then
                Do While mb 'wait for button release
                    _Limit 1000
                    Mouser mx, my, mb

                    If mx >= 58 And my >= 7 And mx <= (rmax * 8 + 57) And my <= (cmax * 8 + 6) Then
                        ' Beep
                        cpick = Int((mx - 50) / 8)
                        rpick = Int((my - 6) / 8) + 1
                        If cc(cpick, rpick) = 0 Then
                            cc(cpick, rpick) = 1
                            mflag = 0
                            dashcc chno, rmax, cmax
                            Line (cpick * 8 + 50, rpick * 8)-(cpick * 8 + 6 + 50, rpick * 8 + 6), 15, BF
                        Else
                            cc(cpick, rpick) = 0
                            dashcc chno, rmax, cmax
                            Line (cpick * 8 + 50, rpick * 8)-(cpick * 8 + 6 + 50, rpick * 8 + 6), 0, BF
                            Line (cpick * 8 + 50, rpick * 8)-(cpick * 8 + 6 + 50, rpick * 8 + 6), 2, B
                        End If

                        Locate 19, 1
                        Print cpick, rpick

                    Else
                        mflag = 1
                    End If

                Loop
            End If

            md$ = InKey$
        Loop
    End If

    If a$ <> "done" Then GoTo redraw
    Cls
End Sub
Sub Mouser (x, y, b)
    mi = _MouseInput
    b = _MouseButton(1)
    x = _MouseX
    y = _MouseY
End Sub

Sub zerocc ()
    For x = 1 To 40
        For y = 1 To 40
            cc(x, y) = 0
        Next y
    Next x
End Sub
Sub dashcc (ch, rmax, cmax)
    'this converts the cc array into the dashcode for a character in the font set
    fchar$ = ""
    fchar$ = fchar$ + "H" + Str$(rmax) + "W" + Str$(cmax)
    penflag$ = ""
    count = 0
    For r = 1 To cmax
        frow$ = "B"
        For c = 1 To rmax
            If cc(c, r) = 0 Then
                If penflag$ = "" Or penflag$ = "F" Then
                    penflag$ = "B"
                    If count > 0 Then frow$ = frow$ + Str$(count)
                    frow$ = frow$ + "B"
                    count = 0
                End If
                If penflag$ = "B" Then
                    count = count + 1
                End If
            Else
                If penflag$ = "" Or penflag$ = "B" Then
                    penflag$ = "F"
                    If count > 0 Then frow$ = frow$ + Str$(count)
                    frow$ = frow$ + "F"
                    count = 0
                End If
                If penflag$ = "F" Then
                    count = count + 1
                End If
            End If
        Next c
        frow$ = frow$ + Str$(count)
        count = 0
        penflag$ = ""
        fchar$ = fchar$ + frow$
    Next r
    char(currentfont, ch) = fchar$
End Sub

If you want another program to use the  dashfont this creates you will need to carry over the shared variables and thre subs drawstring, drawchar, and loadqdf.

It's crude, it's fairly simple, and while not done yet it is entirely useable so I'm sharing it here.

Print this item

  Simple GUI
Posted by: Coolman - 04-30-2022, 10:11 AM - Forum: General Discussion - Replies (42)

here is a gui made only with freebasic commands. it would be nice to adapt the code to qb64 :

https://www.freebasic-portal.de/download...i-356.html

Print this item

  qb64 and ramdisk compilation
Posted by: Coolman - 04-30-2022, 09:53 AM - Forum: General Discussion - Replies (4)

hello, my computer under linux has a lot of memory. to speed it up as much as possible i have configured half of the memory in ramdisk. i have examined the source code of qb64, it would be nice to have an option at compile time to create temp directories in the ramdisk. i think it could speed up the compilation of the programs by a factor 10 or more...

Print this item

  Steve's Quick Lesson on DIM
Posted by: SMcNeill - 04-30-2022, 05:25 AM - Forum: Learning Resources and Archives - Replies (2)

Let's talk about DIM for a moment!  To help us have this conversation, let's refer to the following code, which you can compile and stare at in your IDE if you want, just to test and make certain that the syntax is, indeed, correct.

Code: (Select All)
Dim a, b, c
Dim d As Integer, e As Double, f As Single
Dim g, h, i As _Float
Dim As String j, k, l


Now, let's break down what we're doing here, line by line.

Our first line of code is:
Code: (Select All)
Dim a, b, c

This is the simplest type of DIM statement, and it simply says that we're going to officially DIM and name three variables to whatever the default type is.  Without any DEF or _DEFINE statement, these three variables are all going to be the default type of SINGLE.

Code: (Select All)
Dim d As Integer, e As Double, f As Single

Here, we're assigning a set type of each variable in that single DIM statement.  d is an integer.  e is a double.  f is single.  Easy enough to follow along with the logic behind this statement, right?

Code: (Select All)
Dim g, h, i As _Float
Now this line gets a little tricky for some people, as they confuse it with the newest syntax for DIM.  They think that the way it's written, all the variables on this line are _FLOAT.  They're not!  Just compare this line to the one above it, and then apply the same logic as the first DIM statement we looked at.  What types are the three variables here?

g is implicitly defined to be our default variable type -- SINGLE, in this case.  So is h.  i, on the other hand, is explicitly defined by the user to be a _Float.

Code: (Select All)
Dim As String j, k, l
 And here, we have the new syntax for how one can DIM variables.  If you notice, the type comes first on the left, with all the variables of this explicit type to be to the right of the type definition.  j, k, and l are all String type variables.

See the difference in the 3rd and 4th lines' syntax, and understand why they're two completely different things?

If you want to define a large number of variables as a single type all at once, use the DIM AS <TYPE> syntax.  Anything else would be incorrect.  Wink

Print this item

  A bit dim about "DIM"
Posted by: PhilOfPerth - 04-30-2022, 03:34 AM - Forum: Help Me! - Replies (8)

I'm a bit confused, appropriately, about the DIM function.
I read that we can dim a whole range of vars, like a to z, as a group in one go, but I don't seem to be able to.
Is this implemented yet, or am I wrong again? Confused

Print this item

  rounded rectangles and buttons
Posted by: James D Jarvis - 04-29-2022, 09:20 PM - Forum: Programs - Replies (5)

This little program is a demo for simple  rounded rectangle routines. It'll draw buttons too (but i didn't code them to be clickable here).


Code: (Select All)
'simple rounded rectangles
Screen _NewImage(800, 480, 32)
Dim Shared klr(0 To 255) As _Unsigned Long
buildrefcolors
rbrect 1, 1, 798, 462, 4, 2, klr(4), klr(16) 'the demo screen is in a rounded rectangle
roundrect 20, 20, 100, 50, 12, klr(12)
_PrintString (150, 20), "roundrect  at 20,20  100 wide and 50 high, corner radius 12"

roundrect 20, 100, 100, 50, 200, klr(6)
_PrintString (150, 100), "roundrect  at 20,100  100 wide and 50 high, corner radius 200"
_PrintString (150, 117), "       the radius is trimmed down if is larger than height or width"

rbrect 20, 200, 100, 20, 5, 3, klr(12), klr(22)
_PrintString (150, 200), "round bordered rectangle at 20,200 40 wide adn 20 high, corner radius 5"
_PrintString (150, 217), "border thickness of 3"

rbrect_button 20, 250, 100, 30, 6, 4, klr(11), klr(22), "A Button"
_PrintString (150, 250), "Rounded bordered rectangle as a button image , "
_PrintString (150, 267), "similar to above but text is inserted and centered in sub"
rbrect_button 20, 320, 100, 30, 300, 3, klr(11), klr(22), "Second Btn"
_PrintString (150, 320), "same as above but with over-sized radius to get round sides"

Sub rbrect_button (xx, yy, ww, hh, r, brd, c1, c2, txt$)
    _PrintMode _KeepBackground
    rbrect xx, yy, ww, hh, r, brd, c1, c2
    bpw = _PrintWidth(txt$)
    bph = _FontHeight
    cx = (xx * 2 + ww) / 2
    tx = cx - bpw / 2
    ty = yy + hh / 2 - bph / 2
    _PrintString (tx, ty), txt$
End Sub

Sub rbrect (xx, yy, ww, HH, r, brdt, c1 As _Unsigned Long, c2 As _Unsigned Long)

    roundrect xx, yy, ww, HH, r, c1
    roundrect xx + brdt, yy + brdt, ww - (brdt * 2), HH - (brdt * 2), r - Int(brdt / 2), c2

End Sub
Sub roundrect (xx, yy, ww, HH, r, c As _Unsigned Long)
    dr = r
    If dr > ww / 2 Then dr = ww / 2 - 1
    If dr > HH / 2 Then dr = HH / 2 - 1
    x1 = xx: x2 = xx + ww - 1
    y1 = yy: y2 = yy + HH - 1
     'draw the circles at each corner inside the rectangle coordiates
    CircleFill x1 + dr, y1 + dr, dr, c
    CircleFill x2 - dr, y1 + dr, dr, c
    CircleFill x1 + dr, y2 - dr, dr, c
    CircleFill x2 - dr, y2 - dr, dr, c
    'connect them with properly sized rectangles
    Line (x1 + dr, y1)-(x2 - dr, y2), c, BF
    Line (x1, y1 + dr)-(x2, y2 - dr), c, BF
End Sub

Sub buildrefcolors
    'reference colors
    'very slightly cooled EGA palette
    _Source tiles&
    klr(0) = Point(1, 1)
    'very slightly cooled EGA palette
    klr(1) = _RGB32(0, 0, 170) 'ega_blue
    klr(2) = _RGB32(0, 170, 0) 'ega_green
    klr(3) = _RGB32(0, 170, 170) 'ega_cyan
    klr(4) = _RGB(170, 0, 0) 'ega_red
    klr(5) = _RGB32(170, 0, 170) 'ega_magenta
    klr(6) = _RGB32(170, 85, 0) 'ega_brown
    klr(7) = _RGB32(170, 170, 170) 'ega_litgray
    klr(8) = _RGB32(85, 85, 85) 'ega_gray
    klr(9) = _RGB32(85, 85, 250) 'ega_ltblue
    klr(10) = _RGB32(85, 250, 85) 'ega_ltgreen
    klr(11) = _RGB32(85, 250, 250) 'ega_ltcyan
    klr(12) = _RGB32(250, 85, 85) 'ega_ltred
    klr(13) = _RGB32(250, 85, 250) 'ega_ltmagenta
    klr(14) = _RGB32(250, 250, 85) 'ega_yellow
    klr(15) = _RGB(250, 250, 250) 'ega_white
    'filling the rest with greyscale
    For c = 16 To 255
        klr(c) = _RGB32(c, c, c)
    Next c
End Sub


Sub CircleFill (CX As Long, CY As Long, R As Long, C As _Unsigned Long)
    'sub by SMcNeill makes a filled circle without worrying about using the paint comamnd to fill an empty circle
    Dim Radius As Long, RadiusError As Long
    Dim X As Long, Y As Long
    Radius = Abs(R)
    RadiusError = -Radius
    X = Radius
    Y = 0
    If Radius = 0 Then PSet (CX, CY), C: Exit Sub
    ' Draw the middle span here so we don't draw it twice in the main loop,
    ' which would be a problem with blending turned on.
    Line (CX - X, CY)-(CX + X, CY), C, BF

    While X > Y
        RadiusError = RadiusError + Y * 2 + 1
        If RadiusError >= 0 Then
            If X <> Y + 1 Then
                Line (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
                Line (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
            End If
            X = X - 1
            RadiusError = RadiusError - X * 2
        End If
        Y = Y + 1
        Line (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
        Line (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
    Wend

End Sub

Print this item

  A-Z Collection of Programs and Master Zip.
Posted by: Pete - 04-29-2022, 09:04 PM - Forum: TheBOB - No Replies

A Collection of TheBOB Programs
[Note: Mini Golf pictured but not included. It is being debugged for QB64 and will be posted later. Stay tuned!]
[Image: Snowfall.png] [Image: Screenshot-637.png] [Image: Solitaire3.png] [Image: Screenshot-616.png] [Image: Stars-and-Stripes.png] [Image: Sudoku.png] [Image: White-Cake-Recipe.png] [Image: Screenshot-610.png] [Image: Abacus.png] [Image: Bandit.png] [Image: Beer-Wipe.png] [Image: BioChart.png] [Image: Pagging-Demo.png] [Image: Checkerboard.png] [Image: Chess-Board.png] [Image: Chopper.png] [Image: Christmas-Train.png] [Image: Clock.png] [Image: Dice-Demo.png] [Image: Egg-Timer.png] [Image: Fighter-Planes.png] [Image: GFX256.png] [Image: Gothic.png] [Image: Halftones.png] [Image: Halloween.png] [Image: Jigsaw-Anna-Chlunsky.png] [Image: Jigsaw-Jennifer-Aniston.png] [Image: Kong2.png] [Image: Leapfrog.png] [Image: MiniGolf.png] [Image: Monopoly-Board.png] [Image: Mystify.png] [Image: Screenshot-631.png] [Image: Pongg.png] [Image: Screenshot-628.png] [Image: Rattler.png] [Image: Scrambler.png] [Image: Screenshot-656.png]



Attached Files
.7z   TheBOB-Master-Zip.7z (Size: 4.05 MB / Downloads: 125)
Print this item