Thom Boyer

Ban Chi (online)

California Solitaire Online

Hex Templates

Hex Board Editor

Go Interfaces Are Cool

The Hex Board Editor

The text below is rendered by hex-painter.js into the orange-bordered picture that follows. You may edit this text, and the picture will automatically update to reflect your changes.



Vocabulary

The language used to describe hex boards is made up of several tokens, which are documented in the tables below. Newlines are significant: they cause hex-painter to move to the next line. Whitespace is otherwise ignored, except when it separates tokens that would otherwise be treated as one.
Full Hexes
.
O
*
0
@
#
!
%
        [SMALL-NEWLINE]
        .
        [SMALL-NEWLINE]
        O
        [SMALL-NEWLINE]
        *
        [SMALL-NEWLINE]
        0
        [SMALL-NEWLINE]
        @
        [SMALL-NEWLINE]
        #
        [SMALL-NEWLINE]
        !
        [SMALL-NEWLINE]
        %

Borders and Corners
b
u
c
n
bu
uc
nc
bn
        [SMALL-NEWLINE]
        b
        [SMALL-NEWLINE]
        u
        [SMALL-NEWLINE]
        c
        [SMALL-NEWLINE]
        n
        [SMALL-NEWLINE]
        bu
        [SMALL-NEWLINE]
        uc
        [SMALL-NEWLINE]
        cn
        [SMALL-NEWLINE]
        bn
4
8
6
2
7
9
3
1
        [SMALL-NEWLINE]
        4
        [SMALL-NEWLINE]
        8
        [SMALL-NEWLINE]
        6
        [SMALL-NEWLINE]
        2
        [SMALL-NEWLINE]
        7
        [SMALL-NEWLINE]
        9
        [SMALL-NEWLINE]
        3
        [SMALL-NEWLINE]
        1

Full-hex tokens may be immediately followed by a border or corner token, with no intervening whitespace, to produce a partial cell of that type. Here are some examples (it is a known bug that the blue dots aren't properly cropped):

Colored Borders and Corners
.4
Ou
*6
0n
@7
#uc
!3
%bn
        [SMALL-NEWLINE]
        .4
        [SMALL-NEWLINE]
        Ou
        [SMALL-NEWLINE]
        *6
        [SMALL-NEWLINE]
        0n
        [SMALL-NEWLINE]
        @7
        [SMALL-NEWLINE]
        #uc
        [SMALL-NEWLINE]
        !3
        [SMALL-NEWLINE]
        %bn

White Space
O - O
(half space)
O _ O
(full space)
O
newline
_O
O[SMALL-NEWLINE]
newline
_O
(half-height)
        [SMALL-NEWLINE]
        O - O
        [SMALL-NEWLINE]
        O _ O
        [SMALL-NEWLINE]
        O
        _ O
        [SMALL-NEWLINE]
        O[SMALL-NEWLINE]
        _ O

Highlighted Border
\
^
/
         8 8
         - \ -
        
           8 8
          - ^
        
          8 9
         - / -
        

Mnemonic Aids for Vocabulary Tokens

Here are some notes to help you remember the vocabulary tokens.

Gray hexagons are used to represent the background of a pattern. In plain-text communications, empty cells are often represented by a period ('.'), so I use that character for a gray hexagon. Empty (white) cells are visually similar to a capital oh ('O').

Cells owned by the current player are of particular interest. The asterisk ('*') is often used to mark items of interest, and has a vaguely hexagonal shape in some fonts, so it is used for 'owned' cells. Zero ('0') also looks kind of like an empty cell, so I use it to represent empty but highlighted (yellow) hexes. The at-sign ('@') looks like a circle within a circle, so I use it to represent a yellow hex marked with a blue dot. I use the pound sign ('#') for a yellow hex with a smaller dot; the only mnemonic value it has is that it's next to the at-sign on U.S. keyboards. The exclamation point ('!') makes a yellow hex with a very small dot, reminiscent of the dot at the bottom of the exclamation point. As for ('%') for opponent-owned cells, all I can say is that I'm running out of punctuation.

For the border tokens, notice that the shape of 'u', 'c', 'n', and (to a lesser extent) 'b' are similar to the shape of their corresponding half-hexes. Corner pieces (quarter-hexes) are built by putting a top- or bottom-edge letter together with a left- or right-edge letter.

The digit aliases for the border and corner tokens are based on their position on a numeric keypad. For instance, 4 represents a left-edge half-hex because 4 is on the left edge of a numeric keypad.

Examples

These are samples that show how the tokens can be put together to create pictures.

        u u u u u u u    _ _    u u u    _ _   bu u u uc
       b . . * 0 . . c   _ _   b . . c   _ _     . . .
        . . O 0 @ . .    _ _    . . .    _ _    b . . c
       b . O O 0 0 . c   _ _   b . . c   _ _     . . .
        _ \ ^ ^ ^ / _    _ _    n n n    _ _   bn n n nc
        
        u u u u u u u    _ _    u u u    _ _   bu u u uc
       b . . * 0 . . c   _ _   b . . c   _ _     . . .
        . . O 0 @ . .    _ _    . . .    _ _    b . . c
       b . O O 0 0 . c   _ _   b . . c   _ _     . . .
        _ \ ^ ^ ^ / _    _ _    n n n    _ _   bn n n nc
        

      ub u u u u u u cu  _ _   7 8 8 9   _ _     8 8 8
        . . . . . . .    _ _    . . .    _ _    4 . . 6
       b . . * . . . c   _ _   4 . . 6   _ _     . . .
        . 0 . . O . .    _ _    . . .    _ _    4 . . 6
       b . . @ . . . c   _ _   4 . . 6   _ _     . . .
        . . . . . . .    _ _    . . .    _ _    4 . . 6
      nb n n n n n n cn  _ _   1 2 2 3   _ _     2 2 2
        
      ub u u u u u u cu  _ _   7 8 8 9   _ _     8 8 8
        . . . . . . .    _ _    . . .    _ _    4 . . 6
       b . . * . . . c   _ _   4 . . 6   _ _     . . .
        . 0 . . O . .    _ _    . . .    _ _    4 . . 6
       b . . @ . . . c   _ _   4 . . 6   _ _     . . .
        . . . . . . .    _ _    . . .    _ _    4 . . 6
      nb n n n n n n cn  _ _   1 2 2 3   _ _     2 2 2
        

      *7 *8 *8 *9  _  @7 @8 @8 @9   _  07 08 08 09  _  O7  O8  O8  O9
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *4 .  .  *6  _  @4 .  .  @6   _  04 .  .  06  _  O4   .   .  O6
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *4 .  .  *6  _  @4 .  .  @6   _  04 .  .  06  _  O4   .   .  O6
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *1 *2 *2 *3  _  @1 @2 @2 @3   _  01 02 02 03  _  O1  O2  O2  O3
        
      *7 *8 *8 *9  _  @7 @8 @8 @9   _  07 08 08 09  _  O7  O8  O8  O9
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *4 .  .  *6  _  @4 .  .  @6   _  04 .  .  06  _  O4   .   .  O6
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *4 .  .  *6  _  @4 .  .  @6   _  04 .  .  06  _  O4   .   .  O6
        .  .  .    _    .  .  .     _    .  .  .    _     .   .   .  
      *1 *2 *2 *3  _  @1 @2 @2 @3   _  01 02 02 03  _  O1  O2  O2  O3
        

    [SMALL-NEWLINE]
       O   *  0  *  0  *  O       - -  
                                       
       O   bn O  bu O  uc O  nc O - -  O  0nb O 0ub O 0cu O 0cn O - -  
                                                                         
       O  .bn O .bu O .uc O .nc O - -  O  @nb O @ub O @cu O @cn O - -    
                                                                         
       O  *bn O *bu O *uc O *nc O - -  O  Obn O Obu O Ouc O Onc O - -    
        
    [SMALL-NEWLINE]
       O   *  0  *  0  *  O       - -  
                                       
       O   bn O  bu O  uc O  nc O - -  O  0nb O 0ub O 0cu O 0cn O - -  
                                                                         
       O  .bn O .bu O .uc O .nc O - -  O  @nb O @ub O @cu O @cn O - -    
                                                                         
       O  *bn O *bu O *uc O *nc O - -  O  Obn O Obu O Ouc O Onc O - -