Fixed problem with fens like 8/7P/8/8/1k15/8/P7/K7 w - - 0 1, i.e. 1k15(and not 1k6)
This commit is contained in:
@@ -118,10 +118,6 @@ class FenParser0x88
|
|||||||
}
|
}
|
||||||
$pos++;
|
$pos++;
|
||||||
} else if ($i < $len - 1 && isset(Board0x88Config::$numbers[$token])) {
|
} else if ($i < $len - 1 && isset(Board0x88Config::$numbers[$token])) {
|
||||||
$token2 = $this->fenParts['pieces'][$i + 1];
|
|
||||||
if (preg_match("/[0-9]/", $token2)) {
|
|
||||||
$token = $token . $token2;
|
|
||||||
}
|
|
||||||
$pos += intval($token);
|
$pos += intval($token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -90,7 +90,7 @@ Qe7 28. e4 Nh7 29. h5 Nf8 30. Qb8 g5 31. Qc8 Ne6 32. Bxe6 Qxe6 33. Qxe6 fxe6
|
|||||||
$game = $pgnParser->getFirstGame();
|
$game = $pgnParser->getFirstGame();
|
||||||
|
|
||||||
$parser = new FenParser0x88();
|
$parser = new FenParser0x88();
|
||||||
$parser->newGame();
|
$parser->setFen('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1');
|
||||||
$parser->move("g1f3");
|
$parser->move("g1f3");
|
||||||
$notation = $parser->getNotation();
|
$notation = $parser->getNotation();
|
||||||
|
|
||||||
@@ -106,6 +106,38 @@ Qe7 28. e4 Nh7 29. h5 Nf8 30. Qb8 g5 31. Qc8 Ne6 32. Bxe6 Qxe6 33. Qxe6 fxe6
|
|||||||
$this->assertEquals("Nf3", $notation);
|
$this->assertEquals("Nf3", $notation);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function shouldParseProblematic2(){
|
||||||
|
$game = '[Event "ProofOfConcept"]
|
||||||
|
[Site "Exploit"]
|
||||||
|
[Date "2015.??.??"]
|
||||||
|
[Round "?"]
|
||||||
|
[White "N.N."]
|
||||||
|
[Black "N.N."]
|
||||||
|
[Result "1-0"]
|
||||||
|
[Annotator ""]
|
||||||
|
[SetUp "1"]
|
||||||
|
[FEN "8/7P/8/8/1k15/8/P7/K7 w - - 0 1"]
|
||||||
|
[PlyCount "1"]
|
||||||
|
[EventDate "2015.??.??"]
|
||||||
|
[EventType "game"]
|
||||||
|
[EventCountry "GER"]
|
||||||
|
|
||||||
|
1. a3+';
|
||||||
|
$pgnParser = new PgnParser();
|
||||||
|
$pgnParser->setPgnContent($game);
|
||||||
|
$game = $pgnParser->getFirstGame();
|
||||||
|
|
||||||
|
var_dump($game);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user