public void MateTest1() { var bod = "後手の持駒:角二 桂二 歩五 \n" + " 9 8 7 6 5 4 3 2 1\n" + "+---------------------------+\n" + "|v香 ・ ・ ・ ・ ・ ・ ・v香|一\n" + "| ・ ・ ・ ・ 銀 ・v金 ・ ・|二\n" + "| ・ ・ とv歩v歩 ・ ・v歩 ・|三\n" + "| ・ ・ ・ ・ ・ ・v歩 ・v歩|四\n" + "| 歩 ・ 銀 金 ・ 飛 ・ ・ ・|五\n" + "| ・ ・ 銀 歩 ・ 金 ・v玉 歩|六\n" + "| 玉 歩 桂 ・ ・ ・ ・ ・ ・|七\n" + "| ・ ・ 歩 ・ ・ 歩 金 ・ ・|八\n" + "| 香v飛 ・ ・ ・ 銀 ・ ・ 香|九\n" + "+---------------------------+\n" + "先手の持駒:桂 歩 \n" + "手数=130"; var board = BodBoard.Parse(bod); var move = BoardMove.CreateDrop( BWType.Black, new Square(2, 7), PieceType.Hu); Assert.False(board.CanMove(move)); Assert.False(board.DoMove(move)); }
public void MateTest2() { var bod = "# ---- 棋譜ファイル ----\n" + "先手:先手\n" + "後手:後手\n" + "後手の持駒:歩三 \n" + " 9 8 7 6 5 4 3 2 1\n" + "+---------------------------+\n" + "|v香v桂 ・ ・ ・ ・ ・ ・ ・|一\n" + "| ・ ・ ・ ・ ・ ・ ・ ・ ・|二\n" + "|v玉v桂v歩 金 ・ ・ ・ ・ ・|三\n" + "| ・ ・ ・ ・ ・ ・ ・ ・ ・|四\n" + "| ・ 銀 ・ 歩 ・ ・ ・ ・ ・|五\n" + "| 玉 ・ 歩 ・ 歩 香 ・ ・ ・|六\n" + "| ・v金 銀 金 ・ ・ ・ ・ ・|七\n" + "| ・ ・v馬 銀 ・ ・ ・ ・ ・|八\n" + "| 香 ・ ・ ・ ・ ・ ・ ・ ・|九\n" + "+---------------------------+\n" + "先手の持駒:飛二 角 金 銀 桂二 香 歩十一 \n" + "手数=0\n" + "後手番\n"; var board = BodBoard.Parse(bod); var move = BoardMove.CreateDrop( BWType.White, new Square(9, 5), PieceType.Hu); Assert.False(board.CanMove(move)); Assert.False(board.DoMove(move)); }
/// <summary> /// bod形式の局面を読み取り、実際の局面に直します。 /// </summary> public Board ParseBoard(string text) { var board = BodBoard.Parse(text); Assert.NotNull(board); Assert.True(board.Validate()); var bod = board.ToBod(); Assert.True(bod.Contains(text)); return(board); }
public void BlackTest3() { var board = BodBoard.Parse( "後手の持駒:飛 金二 銀 歩二\n" + " 9 8 7 6 5 4 3 2 1\n" + "+---------------------------+\n" + "|v香v桂 ・v金v玉v金v銀v桂v香|一\n" + "| ・ ・ ・ ・ ・ ・ ・ ・ ・|二\n" + "|v歩 ・v歩v歩v歩v歩 ・v歩v歩|三\n" + "| ・v歩 ・ ・ ・ ・v歩 ・ ・|四\n" + "| ・ ・ ・ ・ ・ ・ ・ ・ ・|五\n" + "| ・ ・ 歩 ・ ・ ・ ・ ・ ・|六\n" + "| 歩 歩 ・ 歩v龍v馬 歩 歩 歩|七\n" + "| ・ ・ ・ ・ ・ ・v銀 ・ ・|八\n" + "| 香 桂 銀 ・ 玉 ・ ・ 桂 香|九\n" + "+---------------------------+\n" + "先手の持駒:角"); Assert.True(board.IsChecked(BWType.Black)); Assert.False(board.IsChecked(BWType.White)); Assert.False(board.IsCheckMated()); }
/// <summary> /// bod形式の文字列から局面を作成します。 /// </summary> public static Board ParseBod(string bod) { return(BodBoard.Parse(bod)); }