diff --git a/README.md b/README.md index 8ec6cb0..3e9fdbb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -chessParser -=========== +##PGN to PHP array parser 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 @@ -8,7 +7,245 @@ This is the chess parser used in DHTML Chess at dhtml-chess.com Example of use: - getGames()); - ?> +```PHP +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" + } + ] + } +] +``` \ No newline at end of file