コード例 #1
0
        public void StateAccess()
        {
            State o = new State(null);

            Assert.Equal("q", o.At(o.Live, 4, 8).Sym);
            Assert.Equal(Color.White, o.At(o.Live, 5, 1).Color);
            Assert.True(o.At(o.Live, 7, 7).Inert);

            Assert.Equal(Color.White, o.Turn(true));
            Assert.Equal(Color.Black, o.Turn(false));

            Piece blackKing = o.King(Color.Black, true);

            Assert.Equal(Color.Black, blackKing.Color);
            Assert.Equal(5, blackKing.X);
            Assert.Equal(8, blackKing.Y);

            o = new State("bbc3 wnf6");
            List <(int, int, int, int)> r = o.LineOfAttack(o.At(o.Live, 3, 3),
                                                           o.At(o.Live, 6, 6));

            Assert.Contains((3, 3, 3, 3), r);
            Assert.Contains((4, 4, 0, 0), r);
            Assert.Contains((5, 5, 0, 0), r);
        }