Updated readme

This commit is contained in:
Alf Magne Kalleland
2013-02-15 15:12:10 +01:00
parent 93da7b53f5
commit 73abdc81e2

249
README.md
View File

@@ -1,5 +1,4 @@
chessParser ##PGN to PHP array parser
===========
PHP class for conversion of Chess PGN files to PHP array or JSON. PHP class for conversion of Chess PGN files to PHP array or JSON.
This is the chess parser used in DHTML Chess at dhtml-chess.com This is the chess parser used in DHTML Chess at dhtml-chess.com
@@ -8,7 +7,245 @@ This is the chess parser used in DHTML Chess at dhtml-chess.com
Example of use: Example of use:
<?php ```PHP
$parser = new PgnParser('my-games.pgn'); <?php
echo json_encode($parser->getGames()); $parser = new PgnParser('my-games.pgn');
?> echo json_encode($parser->getGames());
?>
```
This will give you data in this format:
```JSON
[
{
"metadata":{
"blackelo":"2400",
"opening":"Grunfeld",
"time":"10:41:37",
"variation":"Three Knights Variation",
"whiteelo":"2400",
"whitetype":"human",
"blacktype":"human",
"castle":1
},
"event":"Computer chess game",
"site":"BORROW-PC",
"date":"2013.01.19",
"round":"?",
"white":"White player",
"black":"Black player",
"result":"*",
"eco":"D90",
"timecontrol":"300",
"termination":"unterminated",
"plycount":"21",
"fen":"rnbqkbnr\/pppppppp\/8\/8\/8\/8\/PPPPPPPP\/RNBQKBNR w KQkq - 0 1",
"moves":[
{
"m":"e4",
"from":"e2",
"to":"e4",
"fen":"rnbqkbnr\/pppppppp\/8\/8\/4P3\/8\/PPPP1PPP\/RNBQKBNR b KQkq - 0 1"
},
{
"m":"d5",
"variations":[
[
{
"m":"e5",
"comment":"Test comment before",
"from":"e7",
"to":"e5",
"fen":"rnbqkbnr\/pppp1ppp\/8\/4p3\/4P3\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 0 2"
},
{
"m":"Nf3",
"comment":"Test comment after",
"from":"g1",
"to":"f3",
"fen":"rnbqkbnr\/pppp1ppp\/8\/4p3\/4P3\/5N2\/PPPP1PPP\/RNBQKB1R b KQkq - 1 2"
},
{
"m":"Nc6",
"from":"b8",
"to":"c6",
"fen":"r1bqkbnr\/pppp1ppp\/2n5\/4p3\/4P3\/5N2\/PPPP1PPP\/RNBQKB1R w KQkq - 2 3"
},
{
"m":"Bc4",
"from":"f1",
"to":"c4",
"fen":"r1bqkbnr\/pppp1ppp\/2n5\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R b KQkq - 3 3"
},
{
"m":"Nf6",
"variations":[
[
{
"m":"d6",
"from":"d7",
"to":"d6",
"fen":"r1bqkbnr\/ppp2ppp\/2np4\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R w KQkq - 0 4"
},
{
"m":"O-O",
"comment":"(O-O Ng8-f6 Nb1-c3 Nc6-d4 Nf3-g5 d6-d5 e4xd5 h7-h6 Ng5-e4 c7-c6 d5xc6 Nf6xe4 Nc3xe4 b7xc6) +0.48\/11 8",
"from":"e1",
"to":"g1",
"fen":"r1bqkbnr\/ppp2ppp\/2np4\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 b kq - 1 4"
},
{
"m":"Nf6",
"from":"g8",
"to":"f6",
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 w kq - 2 5"
},
{
"m":"Nc3",
"comment":"Last move in variation",
"from":"b1",
"to":"c3",
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/2N2N2\/PPPP1PPP\/R1BQ1RK1 b kq - 3 5"
}
]
],
"from":"g8",
"to":"f6",
"fen":"r1bqkb1r\/pppp1ppp\/2n2n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R w KQkq - 4 4"
},
{
"m":"O-O",
"comment":"Variation ended",
"from":"e1",
"to":"g1",
"fen":"r1bqkb1r\/pppp1ppp\/2n2n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 b kq - 5 4"
},
{
"m":"d6",
"from":"d7",
"to":"d6",
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 w kq - 0 5"
}
]
],
"from":"d7",
"to":"d5",
"fen":"rnbqkbnr\/ppp1pppp\/8\/3p4\/4P3\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 0 2"
},
{
"m":"exd5",
"comment":"Variation ended",
"from":"e4",
"to":"d5",
"fen":"rnbqkbnr\/ppp1pppp\/8\/3P4\/8\/8\/PPPP1PPP\/RNBQKBNR b KQkq - 0 2"
},
{
"m":"Nf6",
"from":"g8",
"to":"f6",
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/8\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 1 3"
},
{
"m":"c4",
"variations":[
[
{
"m":"Nf3?!",
"from":"g1",
"to":"f3",
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/8\/5N2\/PPPP1PPP\/RNBQKB1R b KQkq - 2 3"
},
{
"m":"Qxd5",
"from":"d8",
"to":"d5",
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/3q4\/8\/5N2\/PPPP1PPP\/RNBQKB1R w KQkq - 0 4"
},
{
"m":"Nc3",
"from":"b1",
"to":"c3",
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/3q4\/8\/2N2N2\/PPPP1PPP\/R1BQKB1R b KQkq - 1 4"
},
{
"m":"Qa5",
"from":"d5",
"to":"a5",
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/q7\/8\/2N2N2\/PPPP1PPP\/R1BQKB1R w KQkq - 2 5"
},
{
"m":"d4",
"from":"d2",
"to":"d4",
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/q7\/3P4\/2N2N2\/PPP2PPP\/R1BQKB1R b KQkq - 0 5"
}
]
],
"from":"c2",
"to":"c4",
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/2P5\/8\/PP1P1PPP\/RNBQKBNR b KQkq - 0 3"
},
{
"m":"Bf5",
"comment":"Variation ended",
"variations":[
[
{
"m":"Nbd7",
"from":"b8",
"to":"d7",
"fen":"r1bqkb1r\/pppnpppp\/5n2\/3P4\/2P5\/8\/PP1P1PPP\/RNBQKBNR w KQkq - 1 4"
},
{
"m":"Nf3",
"from":"g1",
"to":"f3",
"fen":"r1bqkb1r\/pppnpppp\/5n2\/3P4\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R b KQkq - 2 4"
},
{
"m":"Nb6",
"from":"d7",
"to":"b6",
"fen":"r1bqkb1r\/ppp1pppp\/1n3n2\/3P4\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R w KQkq - 3 5"
},
{
"m":"d4",
"from":"d2",
"to":"d4",
"fen":"r1bqkb1r\/ppp1pppp\/1n3n2\/3P4\/2PP4\/5N2\/PP3PPP\/RNBQKB1R b KQkq d3 0 5"
},
{
"m":"g6",
"from":"g7",
"to":"g6",
"fen":"r1bqkb1r\/ppp1pp1p\/1n3np1\/3P4\/2PP4\/5N2\/PP3PPP\/RNBQKB1R w KQkq - 0 6"
},
{
"m":"Nc3",
"from":"b1",
"to":"c3",
"fen":"r1bqkb1r\/ppp1pp1p\/1n3np1\/3P4\/2PP4\/2N2N2\/PP3PPP\/R1BQKB1R b KQkq - 1 6"
},
{
"m":"Qd6",
"from":"d8",
"to":"d6",
"fen":"r1b1kb1r\/ppp1pp1p\/1n1q1np1\/3P4\/2PP4\/2N2N2\/PP3PPP\/R1BQKB1R w KQkq - 2 7"
}
]
],
"from":"c8",
"to":"f5",
"fen":"rn1qkb1r\/ppp1pppp\/5n2\/3P1b2\/2P5\/8\/PP1P1PPP\/RNBQKBNR w KQkq - 1 4"
},
{
"m":"Nf3",
"from":"g1",
"to":"f3",
"fen":"rn1qkb1r\/ppp1pppp\/5n2\/3P1b2\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R b KQkq - 2 4"
}
]
}
]
```