# The Grey Labyrinth is a collection of puzzles, riddles, mind games, paradoxes and other intellectually challenging diversions. Related topics: puzzle games, logic puzzles, lateral thinking puzzles, philosophy, mind benders, brain teasers, word problems, conundrums, 3d puzzles, spatial reasoning, intelligence tests, mathematical diversions, paradoxes, physics problems, reasoning, math, science.

Message body

 Emoticons View more Emoticons
 [quote="jeep"]Sure... but it looks ugly. ;) -JEEP [chessvariant][FEN "chess4"] (lcx)@a1{a1} (lco)@b2{b2} (lcx)@a3{a3} (lco)@a2{a2} (lcx)@c2{c2} (lco)@b1{b1} (lcx)@b3{b3} (lco)@c3{c3} (lcx)@c1{c1}[/chessvariant][/quote]
Options
HTML is OFF
BBCode is ON
Smilies are ON
 Disable BBCode in this post Disable Smilies in this post

 All times are GMT
 Jump to: Select a forum Puzzles and Games----------------Grey Labyrinth PuzzlesVisitor Submitted PuzzlesVisitor GamesMafia Games Miscellaneous----------------Off-TopicVisitor Submitted NewsScience, Art, and CulturePoll Tournaments Administration----------------Grey Labyrinth NewsFeature Requests / Site Problems
 Topic review
Author Message
jeep
Posted: Sat Jan 29, 2005 9:37 am    Post subject: 1

Sure... but it looks ugly.

-JEEP

abcd
11
abcd
-1:In move number: 4, (lco)@c3 is not valid and has been skipped
-1:In move number: 4, (lcx)@b3 is not valid and has been skipped
-1:In move number: 3, (lcx)@c2 is not valid and has been skipped
-1:In move number: 2, (lco)@a2 is not valid and has been skipped
-1:In move number: 2, (lcx)@a3 is not valid and has been skipped
-1:In move number: 1, (lco)@b2 is not valid and has been skipped
1a1b2
2a3a2
3c2b1
4b3c3
5c1
NeocortX
Posted: Sat Jan 29, 2005 1:21 am    Post subject: 0

jeep wrote:
There are more game tags supported now:

http://www.mafiascum.net/cgi-bin/wiki.pl?GameTags will be the "official" documentation.

abcd
11
abcd

Is there room to play Tic-Tac-Toe in the corners??

(I absolutely suck at chess .)
mathgrant
Posted: Sun Jan 23, 2005 3:47 pm    Post subject: -1

This topic is one of the disadvantages to having a screen resolution of 800x600.
jeep
Posted: Sun Jan 23, 2005 9:03 am    Post subject: -2

Hex and hexboard are VERY similar to go...

You can record a hex game using <hex>{GameScore}</hex>, where {GameScore} is the list of moves made in the game to date.

To add a piece to the board you simply type in the location to drop the piece. (eg. a2 will put a stone on a2)
To remove a piece from the board, use the minus sign and the location of the square to remove.
To pass, type in P or Pass.
To add a piece other than the default (which will be a solid red or green stone, depending on whose turn it is) you use the equal sign (=). Eg. a4=(g) will place the green stone instead of the stone that would normally be placed.
To increase your prisoner count append your move with a * for every prisoner taken or *<number of prisoners taken>
To make multiple moves in the same turn, connect the moves with a plus sign "+". (eg. a2+a3-d5* will put stones on a2 and a3 and will remove a stone from d5 and increase your prisoner count by 1)

The board is shown with a1 in the upper left corner. Only parallelogram boards are shown currently.

I allow tags, similar to the PGN notation for Chess. The format is open open bracket, tag, space, double quote, value, double quote, close bracket.
Three to take note of are:
BoardSize: in the form n or nxm. This is required. If only one number is specified, it will be a square board nxn. If the form nxm is used, then the board will be n points wide and m points tall.
Setup: This is a list of "moves" to be made before the start of the game. You will probably want to use the = to assign what piece gets placed.

The tags that are displayed are:
Boardsize, Event, Site, Date, Round, Green, Red, Result, Komi, SetupBlack, SetupWhite, Players

<hex][boardsize "11"][green "JEEP"][red "Other"][site "GL"][date "2004/??/??"][Round "1"][Event "GL Tournament"][result "*"]e4 e5 d4 P[/hex>
a b c d e f g h i j k
11
22
33
44
55
66
77
88
99
1010
1111
a b c d e f g h i j k
Green: JEEP
Red: Other
Site: GL
Date: 2004/??/??
Round: 1
Event: GL Tournament
Result: *
1e4e5
2d4P
jeep
Posted: Sun Jan 23, 2005 8:52 am    Post subject: -3

Shogi variants come in all shapes and sizes, so this tag is necessarily complex. I'll try to keep the instructions simple, though. If you understand the FFEN tags, this will be a piece of cake. Shogi and variants are specialized Chess Variants. Not all graphics have been created yet, they will be.

ShogiVarBoard
If you only want a board (perhaps for a puzzle), you can use the [shogivarboard] tag. You enclose the board setup string (see FFEN instructions below) in <shogivarboard></shogivarboard> (except use square brackets instead of angle brackets.)
Currently boards can be no wider than 26 squares.- I'm working on getting Tai Shogi working, though.

FFEN:
look two posts up.

ShogiVariant
The root tag for the shogi variant game is [shogivariant]. You must start the game with <shogivariant> and end it with </shogivariant>, except replace the angle brackets with square brackets. You will find that this very closely resembles Portable Game Notation (which is a Chess specific format...)

INITIAL SETUP
All boards must be given a starting setup. You do this by including a FEN tag (which has no end tag).
[FEN "<setup>"]
where <setup> is the initial postion of the board in FFEN (see above)
Currently boards can be no wider than 26 squares.
Some set-ups have been preconfigured, so the FFEN can also be one of the following tags:
• chu
• chushogi (same as above)

You may then specify the following optional tags (none of which has an end tag):
• [Aliases <abbreviation>=<piece>,<abbreviation2>=<piece2>...] This will allow you to use abbreviation in place of the piece name (in parens) (you may use a comma or whitespace). Some aliases will be preconfigured for you. See below.
• [PieceStyle "<Japanese|Western|figureine>"]
• [Players "<Number of players in the game>"]
• [Event "<event>"]
• [Site "<site>"]
• [Date "<date>"]
• [Round "<round>"]
• [White "<name of white player>"]
• [Black "<name of black player>"]
• [Red "<name of red player>"]
• [Green "<name of green player>"]
• [Result "<result>"]

MOVE LIST
After the tags, you will write the game score with a space between each turn. The format for moves is (this isn't complicated, so look at the examples if you have problems understanding this):
<square to more from><square to move to>[=<piece to promote to>]
or
<piece><@|'|*><square to add piece>
or
<x|-><square to remove piece from>

For example you might make the move:
e2e4 to start a standard chess game (move the piece from e2 to square e4)

If you make multiple moves in one turn, you seperate them with a plus sign (+). For example a man in draughts or checkers might make the move:
d2f4+f4d6+-e3+-e5
That is the man jumps from square d2 to square f4, then again from f4 to d6, then remove the men jumped.

Now this can lead to some rather ugly looking moves. If you have a better way to represent the move, you can change how it displays in the movelist by adding the new representation in curly braces {}.
For example if you want to change the draughts notation to look like it usually would you could write:
d2f4+f4d6+-e3+-35{42-33-22}
and the displayed move would be in a draughts notation:
42-33-22

For example:
-1:In move number: 16, d8d7 is not valid and has been skipped
-1:In move number: 16, i6g6 is not valid and has been skipped
-1:In move number: 15, k11l10 is not valid and has been skipped
-1:In move number: 15, d3c4 is not valid and has been skipped
-1:In move number: 14, j12k11 is not valid and has been skipped
-1:In move number: 14, c4c5 is not valid and has been skipped
-1:In move number: 13, k9k8 is not valid and has been skipped
-1:In move number: 13, h6i6 is not valid and has been skipped
-1:In move number: 12, e9e8 is not valid and has been skipped
-1:In move number: 12, g6h6 is not valid and has been skipped
-1:In move number: 11, l8l7 is not valid and has been skipped
-1:In move number: 11, j1i2 is not valid and has been skipped
-1:In move number: 10, l10l9 is not valid and has been skipped
-1:In move number: 10, l3l4 is not valid and has been skipped
-1:In move number: 9, l9l8 is not valid and has been skipped
-1:In move number: 9, l4l5 is not valid and has been skipped
-1:In move number: 8, j7k7 is not valid and has been skipped
-1:In move number: 8, i3k5 is not valid and has been skipped
-1:In move number: 7, h9j7 is not valid and has been skipped
-1:In move number: 7, j4j5 is not valid and has been skipped
-1:In move number: 6, f11h9 is not valid and has been skipped
-1:In move number: 6, h4h5 is not valid and has been skipped
-1:In move number: 5, h9h8 is not valid and has been skipped
-1:In move number: 5, g2e4 is not valid and has been skipped
-1:In move number: 4, a10a9 is not valid and has been skipped
-1:In move number: 4, g5g6 is not valid and has been skipped
-1:In move number: 3, g10g8 is not valid and has been skipped
-1:In move number: 3, f3g5 is not valid and has been skipped
-1:In move number: 2, a9a8 is not valid and has been skipped
-1:In move number: 2, e4e5 is not valid and has been skipped
-1:In move number: 1, (wpky)@f11 is not valid and has been skipped
White: Sketchwick
Black: JEEP
1PassHandicap
2Pe5a8
3Ln-g5Ln-g8
4Ln-g6a10a9
5Ph-e4h9h8
6h5f11h9
7j5h9j7
8DH-k5j7k7
9l5l9l8
10SM-l4l10l9
11C-i2l8l7
12g6h6e9e8
13Ln-i6k9k8
14P-c5C-k11
15DH-c4k11l10
16i6g6d8d7

-JEEP
jeep
Posted: Sun Jan 23, 2005 8:51 am    Post subject: -4

I have relaxed the requirements for goboard allowing for dimensions other than 9x9, 13x13 and 19x19. Also, go tags have been added.

GoBoard
You can show a go board graphic using the goboard tag. Because there is no really good format that exists, I used similar coding as the old GL tags. 'b' will place a black stone, 'w' a white stone, and 'e' and empty point. So a blank 9x9 board is
<goboard>
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e</goboard>

And it might look like this after a couple moves
<goboard>
e e e e e e e e e
e e e e e e e e e
e e b e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e w e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e</goboard>

If you want to manually add in handicap points, you can use a "h" to represent the empty point instead of an e.

As a training aid, you can also use b1-b100 and w1-w100 to place numbered stones. This is more diffictult to manage in the text of the code though, so be careful. Finally bt and wt will place stones with triangles.

9
8
7
6
5
4
3
2
1
0abcdefghj

The board does not need to be square, but only rectangular boards are handled nicely.

Go
You can record a go game using <go>{GameScore}</go>, where {GameScore} is the list of moves made in the game to date.

To add a piece to the board you simply type in the location to drop the piece. (eg. a2 will put a stone on a2)
To remove a piece from the board, use the minus sign and the location of the square to remove.
To pass, type in P or Pass.
To add a piece other than the default (which will be a solid black or white stone, depending on whose turn it is) you use the equal sign (=). Eg. a4=(b1) will place the black stone with a 1 in it instead of the plain stone that would normally be placed.
To increase your prisoner count append your move with a * for every prisoner taken or *<number of prisoners taken>
To make multiple moves in the same turn, connect the moves with a plus sign "+". (eg. a2+a3-d5* will put stones on a2 and a3 and will remove a stone from d5 and increase your prisoner count by 1)

There is not a good go format (SGF is to complex and Ishi is illegible). So I've tried to follow what will make sense. If you are familiar with go in other programs, please note the algebraic notation used. The board is shown with a1 in the lower left corner.

I allow tags, similar to the PGN notation for Chess. The format is open open bracket, tag, space, double quote, value, double quote, close bracket.
Three to take note of are:
BoardSize: in the form n or nxm. This will create a board other than the standard 19x19 board. If only one number is specified, it will be a square board nxn. If the form nxm is used, then the board will be n points wide and m points tall.
SetupBlack: This is a list of "moves" to be made before the start of the game. The default piece is black. (I expect this will be used for handicaps)
SetupWhite:This is the same as SetupBlack, except it placed white pieces by default.

The tags that are displayed are:
Boardsize, Event, Site, Date, Round, White, Black, Result, Komi, SetupBlack, SetupWhite, Players

<go>[white "JEEP"][Black "Other"][site "GL"][date "2004/??/??"][Round "1"][Event "GL Tournament"][result "*"]e4 e5 d4 P</go>

would produce:
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0abcdefghjklmnopqrst
White: JEEP
Black: Other
Site: Scum
Date: 2004/??/??
Round: 1
Event: Random Game
Result: *
1e4e5
2d4P
jeep
Posted: Sun Jan 23, 2005 8:49 am    Post subject: -5

There are more game tags supported now:

http://www.mafiascum.net/cgi-bin/wiki.pl?GameTags will be the "official" documentation.

abcd
11
abcd
White: Player1
Green: player2
Black: player3
Red: player4

Chess variants come in all shapes and sizes, so this tag is necessarily complex. I'll try to keep the instructions simple, though. Also, please note that some of the pieces *might* change over the next few days. I know that the naming convention for the Japanese Shogi Pieces will be changed to match that of the western pieces and some pieces will likely gain new colors and the shogi pieces with the japanese name are likely to go away since the others are better. Also, the page will get organized.

ChessVarBoard
If you only want a board (perhaps for a puzzle), you can use the [chessvarboard] tag. You enclose the board setup string (see FFEN instructions below) in <chessvarboard></chessvarboard> (except use square brackets instead of angle brackets.)
Currently boards can be no wider than 26 squares.

FFEN:
In order to represent a board using unusual pieces or shapes, you will use something very similar to Forsyth-Edwards Notation, I'm calling it Faerie Forsyth-Edwards Notation. There are some other version of FFEN around, but none are complete. (Standards are fun, so I decided to make my own. )

Here are the rules for the notation:

• Each square with a piece located on it will have it's contents reqresented inside parens. () *note the exception for FEN compatibility
• Start in the upper left corner of the board.
• If the square is empty, type a dot "." (alternately, you can specify the number of consecutive empty squares)
• If the square does not exist, type a dash "-"
• If you are at the end of the row, add a slash "/"
• I have kept all the notations for the white and black pieces from FEN. So, for standard pieces you MAY use rnbkqp for black pieces or RNBKQP for white pieces and leave off the parens.
• If there is a piece there that is non-standard (or even for standard pieces, if you want consistancy):
1. Determine its color
• If it is black, type "b" (sans quotation marks)
• If it is white, type "w"
• If it is green, type "g"
• If it is red, type "r"
2. Determine its name (see http://www.mafiascum.net/cgi-bin/wiki.pl?FaeriePieces). type it next to the color
3. Determine its rotation. Not all pieces have rotated graphics (see the list). If it is rotated, type its clockwise rotation (in degrees)

ChessVariant
The root tag for the chess variant game is [chessvariant]. You must start the game with <chessvariant> and end it with </chessvariant>, except replace the angle brackets with square brackets. You will find that this very closely resembles Portable Game Notation (which is a Chess specific format...)

INITIAL SETUP
All boards must be given a starting setup. You do this by including a FEN tag (which has no end tag).
[FEN "<setup>"]
where <setup> is the initial postion of the board in FFEN (see above)
Currently boards can be no wider than 26 squares.
There are a handful of predefined FFEN strings (if you want more, send me the name and string)
• standard
• wildebeest
• chess4

You may then specify the following optional tags (none of which has an end tag):
• [Aliases <abbreviation>=<piece>,<abbreviation2>=<piece2>...] This will allow you to use abbreviation in place of the piece name (in parens) (you may use a comma or whitespace
• [Players "<Number of players in the game>"]
• [Event "<event>"]
• [Site "<site>"]
• [Date "<date>"]
• [Round "<round>"]
• [White "<name of white player>"]
• [Black "<name of black player>"]
• [Red "<name of red player>"]
• [Green "<name of green player>"]
• [Result "<result>"]

MOVE LIST
After the tags, you will write the game score with a space between each turn. The format for moves is (this isn't complicated, so look at the examples if you have problems understanding this):
<square to more from><square to move to>[=<piece to promote to>]
or
<piece><@|'|*><square to add piece>
or
<x|-><square to remove piece from>

For example you might make the move:
e2e4 to start a standard chess game (move the piece from e2 to square e4)

If you make multiple moves in one turn, you seperate them with a plus sign (+). For example a man in draughts or checkers might make the move:
d2f4+f4d6+-e3+-e5
That is the man jumps from square d2 to square f4, then again from f4 to d6, then remove the men jumped.

Now this can lead to some rather ugly looking moves. If you have a better way to represent the move, you can change how it displays in the movelist by adding the new representation in curly braces {}.
For example if you want to change the draughts notation to look like it usually would you could write:
d2f4+f4d6+-e3+-35{42-33-22}
and the displayed move would be in a draughts notation:
42-33-22

-JEEP[/url]
CrystyB
Posted: Tue Jan 04, 2005 1:02 pm    Post subject: -6

mith:
<chess][white "p1"][Black "p2"]e4 e5 d4 d5 exd5[/chess>

PS This thread should be mentioned in the FAQ, imo...
jeep
Posted: Sat Dec 04, 2004 7:01 am    Post subject: -7

PGN notation now supported. Only the 7 tag roster will be displayed. The format is open open bracket, tag, space, double quote, value, double quote, close bracket.

The seven tags that are displayed are:
Event, Site, Date, Round, White, Black, Result

<chess>[white "JEEP"][Black "Other"][site "GL"][date "2004/??/??"][Round "1"][Event "GL Tournament"][result "*"]1. e4 e5 2. d4</chess>

would produce:
Other

JEEP

White: JEEP
Black: Other
Site: GL
Date: 2004/??/??
Round: 1
Event: GL Tournament
Result: *

1. e4 e5
2. d4
mith
Posted: Wed Dec 01, 2004 10:58 am    Post subject: -8

How do you change player names?
jeep
Posted: Wed Dec 01, 2004 10:54 am    Post subject: -9

Game Tags:

To use the tags, replace the < with [ and the > with ] in the examples.
Report bugs here in FR/SP

Dice:
You can make a dice roll using the Dice Tags. <dice>xdy</dice> will roll x y-sided dice (x<201, y<101). For example, if you are playing backgammon, you might roll: <dice>2d6</dice> Editting the post will put "Fixed" in the dice roll to help discourage cheating, but it's not 100%. If you don't trust the person you are playing you must either play in a forum where they cannot edit, find another random generator that you do trust, or not play with that person. The die roll is randomly generated when posted (previewing will do nothing.) Here is the result of the example above:
Dice Roll:
Original Roll String: 2d6 Fixed
2 6-Sided Dice Results: 6, 6 (Total = 12)

Note: The chess tags are broken right now. Use chessboard instead.

Quote:
Chess:
You can record a chess game using <chess>{GameScore}</chess>, where {GameScore} is the list of moves made in the game to date. you may use Short Algebraic Notation (SAN) or the old GL-style FromSquareToSquare format. Rules of chess ARE enforced. Illegal moves are not handled well (I developed this on mafiascum, which has PEAR.php loaded. I'll see if I can have Kevin load it here. If not, I'll find another way to handle errors).

I will also add a flag to allow free movement of pieces and I will replace illegal moves with text to indicate they were not made.
<chess>e4 c5 Nf3 d6 d4 cxd4 Nxd4</chess> will display the beginning of a game. The same game can be represented <chess>e2e4 c7c5 g1f3 d7d6 d2d4 c5d4 f3d4</chess>. Or you can mix and match and make things really confusing: <chess>Pe4 e5 g1f3 d6 Pd4 c5d4</chess>... however I always show the output in SAN (with the optional P kept if it's specified, omitted if it's not)
CHESS TAGS BROKEN - REPLACE WHEN FIXED

PGN notation now supported. Only the 7 tag roster will be displayed. The format is open open bracket, tag, space, double quote, value, double quote, close bracket.

The seven tags that are displayed are:
Event, Site, Date, Round, White, Black, Result

<chess>[white "JEEP"][Black "Other"][site "GL"][date "2004/??/??"][Round "1"][Event "GL Tournament"][result "*"]1. e4 e5 2. d4</chess>

would produce:
CHESS TAGS BROKEN - REPLACE WHEN FIXED

ChessBoard
You can display a chessboard (using standard pieces) by using <chessboard> tags. Then fill in the FEN for the position. I ignore all the "extra" information at the moment, but it will display the position.
Lowercase is black, uppercase is white, K=King, Q=Queen, R=Qook, B=Bishop, N=Knight, P=Pawn, a number between 1 and 8 represents the number of empty squares. I do NOT implement the possibility of filling in 16 to make 16 empty squares...
This is the code to make the opening position.
<chessboard>rbnqknbr/pppppppp/8/8/8/8/PPPPPPPP/RBNQKNBR</chessboard>

GoBoard
You can show an go board graphic using the goboard tag. Currently, 9x9, 13x13, and 19x19 are implemented <goboard9>, <goboard13>, <goboard19>. I used similar coding as the old GL tags. 'b' will place a black stone, 'w' a white stone, and 'e' and empty point. So a blank 9x9 board is
<goboard9>
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e</goboard9>

And it might look like this after a couple moves
<goboard9>
e e e e e e e e e
e e e e e e e e e
e e b e e e e e e
e e e e e e e e e
e e e e e e e e e
e e e e e e w e e
e e e e e e e e e
e e e e e e e e e
e e e e e e e e e</goboard9>

Captured stones are NOT currently given anyplace to be, but I'll add that soon enough.

As a training aid, you can also use b1-b100 and w1-w100 to place numbered stones. This is more diffictult to manage in the text of the code though, so be careful. Finally bt and wt will place stones with triangles.

9
8
7
6
5
4
3
2
1
0abcdefghj

13
12
11
10
9
8
7
6
5
4
3
2
1
0abcdefghjklmn

19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0abcdefghjklmnopqrst