コード例 #1
0
        public void TestBlockIsAt()
        {
            RedBlock red = new RedBlock(0, 0);              //default width 60, height 50

            Assert.IsTrue(red.IsAt(SwinGame.PointAt(50, 50)));
            Assert.IsTrue(red.IsAt(SwinGame.PointAt(25, 25)));
            Assert.IsFalse(red.IsAt(SwinGame.PointAt(70, 50)));
            Assert.IsFalse(red.IsAt(SwinGame.PointAt(50, 70)));
        }
コード例 #2
0
ファイル: TestBoard.cs プロジェクト: darrenw1996/Bejeweled
        public void TestAddBlock()
        {
            RedBlock  red   = new RedBlock(20, 20);
            BlueBlock blue  = new BlueBlock(0, 0);
            Board     board = new Board();

            board.AddBlock(0, 0, red);
            board.AddBlock(0, 1, blue);

            Assert.AreSame(blue, board.Block [0, 1]);
        }
コード例 #3
0
        public void TestBlockColor()
        {
            RedBlock    red    = new RedBlock(0, 0);
            GreenBlock  green  = new GreenBlock(0, 0);
            BlueBlock   blue   = new BlueBlock(0, 0);
            YellowBlock yellow = new YellowBlock(0, 20);

            Assert.AreEqual(Color.Yellow, yellow.Color);
            Assert.AreEqual(Color.Red, red.Color);
            Assert.AreEqual(Color.Blue, blue.Color);
            Assert.AreEqual(Color.Green, green.Color);
        }
コード例 #4
0
ファイル: TestBoard.cs プロジェクト: darrenw1996/Bejeweled
        public void TestSwapNotNeighbour()
        {
            RedBlock  red   = new RedBlock(20, 20);
            BlueBlock blue  = new BlueBlock(0, 0);
            Board     board = new Board();

            //add blocks into board
            board.AddBlock(0, 0, red);
            board.AddBlock(1, 1, blue);

            //the color of both blocks should remain unchanged as they are not neighbour block
            board.Swap(red, blue);
            Assert.AreEqual(Color.Red, red.Color);
            Assert.AreEqual(Color.Blue, blue.Color);
        }
コード例 #5
0
ファイル: TestBoard.cs プロジェクト: darrenw1996/Bejeweled
        public void TestSwapLeftRight()
        {
            RedBlock  red   = new RedBlock(20, 20);
            BlueBlock blue  = new BlueBlock(0, 0);
            Board     board = new Board();

            //add blocks into board
            //red and blue blocks are next to each other
            board.AddBlock(0, 0, red);
            board.AddBlock(0, 1, blue);

            board.Swap(red, blue);
            Assert.AreEqual(Color.Blue, red.Color);
            Assert.AreEqual(Color.Red, blue.Color);

            board.Swap(red, blue);
            Assert.AreEqual(Color.Red, red.Color);
            Assert.AreEqual(Color.Blue, blue.Color);
        }
コード例 #6
0
ファイル: TestBoard.cs プロジェクト: darrenw1996/Bejeweled
        public void TestSwapUpDown()
        {
            RedBlock  red   = new RedBlock(20, 20);
            BlueBlock blue  = new BlueBlock(0, 0);
            Board     board = new Board();

            //add blocks into board
            //red block is above blue block
            board.AddBlock(0, 0, red);
            board.AddBlock(1, 0, blue);

            board.Swap(red, blue);
            Assert.AreEqual(Color.Blue, red.Color);
            Assert.AreEqual(Color.Red, blue.Color);

            board.Swap(red, blue);
            Assert.AreEqual(Color.Red, red.Color);
            Assert.AreEqual(Color.Blue, blue.Color);
        }
コード例 #7
0
ファイル: Board.cs プロジェクト: darrenw1996/Bejeweled
        public void Swap(ColorBlock firstSelected, ColorBlock secondSelected)
        {
            RedBlock temp = new RedBlock(0, 0);

            for (int x = 0; x < 9; x++)
            {
                for (int y = 0; y < 9; y++)
                {
                    if (_blocks [x, y] == firstSelected)
                    {
                        //if the first selected and second selected are neighbour blocks, swap them
                        if ((y >= 1 && _blocks [x, y - 1] == secondSelected) || (y <= 7 && _blocks [x, y + 1] == secondSelected) || (x >= 1 && _blocks [x - 1, y] == secondSelected) || (x <= 7 && _blocks [x + 1, y] == secondSelected))
                        {
                            temp.Color           = firstSelected.Color;
                            firstSelected.Color  = secondSelected.Color;
                            secondSelected.Color = temp.Color;



                            /* JOSEPH - swap the diamond blocks animation*/
                            string sprt1 = "";
                            string sprt2 = "";

                            if (firstSelected.Color == Color.Red)
                            {
                                sprt1 = "redDiamond";
                            }
                            else if (firstSelected.Color == Color.Blue)
                            {
                                sprt1 = "blueDiamond";
                            }
                            else if (firstSelected.Color == Color.Green)
                            {
                                sprt1 = "greenDiamond";
                            }
                            else if (firstSelected.Color == Color.Yellow)
                            {
                                sprt1 = "yellowDiamond";
                            }
                            else if (firstSelected.Color == Color.White)
                            {
                                sprt1 = "timerBlock";
                            }
                            else if (firstSelected.Color == Color.MistyRose)
                            {
                                sprt1 = "rainbowDiamond";
                            }

                            if (secondSelected.Color == Color.Red)
                            {
                                sprt2 = "redDiamond";
                            }
                            else if (secondSelected.Color == Color.Blue)
                            {
                                sprt2 = "blueDiamond";
                            }
                            else if (secondSelected.Color == Color.Green)
                            {
                                sprt2 = "greenDiamond";
                            }
                            else if (secondSelected.Color == Color.Yellow)
                            {
                                sprt2 = "yellowDiamond";
                            }
                            else if (secondSelected.Color == Color.White)
                            {
                                sprt2 = "timerBlock";
                            }
                            else if (secondSelected.Color == Color.MistyRose)
                            {
                                sprt2 = "rainbowDiamond";
                            }

                            if (sprt1 != "timerBlock" && sprt2 != "timerBlock")
                            {
                                SwinGame.SpriteSetX(UIController.getSprite(sprt1), firstSelected.X + 10);
                                SwinGame.SpriteSetY(UIController.getSprite(sprt1), firstSelected.Y + 15);
                                SwinGame.DrawSprite(UIController.getSprite(sprt1));
                            }

                            if (sprt1 != "timerBlock" && sprt2 != "timerBlock")
                            {
                                SwinGame.SpriteSetX(UIController.getSprite(sprt2), secondSelected.X + 10);
                                SwinGame.SpriteSetY(UIController.getSprite(sprt2), secondSelected.Y + 15);
                                SwinGame.DrawSprite(UIController.getSprite(sprt2));
                            }
                        }
                    }
                }
            }
        }