示例#1
0
        private static void PlayTurns(PgnGame game, ChessGame chessGame)
        {
            PgnTurn lastTurn = null;

            try
            {
                foreach (var gameTurn in game.Turns)
                {
                    lastTurn = gameTurn;
                    if (gameTurn.White != null)
                    {
                        chessGame.Move(gameTurn.White.San);
                    }

                    if (gameTurn.Black != null)
                    {
                        chessGame.Move(gameTurn.Black.San);
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Problem with: {lastTurn}", e);
            }
        }
示例#2
0
        public void Parse_should_handle_annotations(string turnText)
        {
            var parsed = PgnTurn.Parse(turnText, out var result).First();

            Assert.That(parsed.Turn, Is.EqualTo(1));
            Assert.That(parsed.White.San, Is.EqualTo("d4"));
            Assert.That(parsed.White.Annotation, Is.EqualTo("white annotation block"));
            Assert.That(parsed.Black.San, Is.EqualTo("d5"));
            Assert.That(parsed.Black.Annotation, Is.EqualTo("black annotation block"));
        }
示例#3
0
        public void Parse_should_handle_single_turn(string turnText, int turn, string white, string black)
        {
            var parsed = PgnTurn.Parse(turnText, out var result).First();

            Assert.That(parsed.Turn, Is.EqualTo(turn));
            Assert.That(parsed.White.San, Is.EqualTo(white));
            Assert.Null(parsed.White.Annotation);
            Assert.That(parsed.Black.San, Is.EqualTo(black));
            Assert.Null(parsed.Black.Annotation);
        }