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))); }
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]); }
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); }
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); }
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); }
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); }
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)); } } } } } }