示例#1
0
        public void TestSnakeBreak2Node()
        {
            var snake = new Snake();
            snake.GrowUp(2);
            snake.Move(DIRECTION.Up);
            snake.Move(DIRECTION.Up);
            snake.Move(DIRECTION.Up);

            var body = snake.GetBody();
            var bodyitems = body.ToArray();

            snake.Break(bodyitems[2]);

            body = snake.GetBody();
            bodyitems = body.ToArray();

            Assert.AreEqual(0, bodyitems[0].Position.X);
            Assert.AreEqual(3, bodyitems[0].Position.Y);

            Assert.AreEqual(0, bodyitems[1].Position.X);
            Assert.AreEqual(2, bodyitems[1].Position.Y);
        }
示例#2
0
        public void TestSnakeGrowUpMove2Step()
        {
            var snake = new Snake();

            snake.GrowUp(2);

            snake.Move(DIRECTION.Up);
            snake.Move(DIRECTION.Right);

            var body = snake.GetBody();
            var bodyitems = body.ToArray();

            Assert.AreEqual(3, snake.TotalLength);
            Assert.AreEqual(3, bodyitems.Length);

            Assert.AreEqual(1, bodyitems[0].Position.X);
            Assert.AreEqual(1, bodyitems[0].Position.Y);

            Assert.AreEqual(0, bodyitems[1].Position.X);
            Assert.AreEqual(1, bodyitems[1].Position.Y);

            Assert.AreEqual(0, bodyitems[2].Position.X);
            Assert.AreEqual(0, bodyitems[2].Position.Y);
        }
示例#3
0
        public void TestSnakeGrowUp()
        {
            var snake = new Snake();

            snake.GrowUp(1);

            Assert.AreEqual(2, snake.TotalLength);
        }