public void ConcatGroups() { Game.Instance.Start("White Player", "Black Player", Board.BoardSize.Tournament); Piece piece1 = new Piece(null, army, new PiecePosition(1, 2)); Assert.AreEqual(4, piece1.Group.Liberties); Piece piece2 = new Piece(null, army, new PiecePosition(1, 3)); Assert.AreEqual(6, piece2.Group.Liberties); Assert.AreSame(piece1.Group, piece2.Group); Game.Instance.Stop(); }
public void GroupNotNull() { Game.Instance.Start("White Player", "Black Player", Board.BoardSize.Tournament); firstPiece = new Piece(null, army, new PiecePosition(1, 2)); Assert.IsNotNull(firstPiece.Group); Assert.IsNotNull(Board.Instance[new PiecePosition(1, 2)]); Game.Instance.Stop(); for(int i = 0; i != 19; ++i) { for(int j = 0; j != 19; ++j) { Assert.IsNull(Board.Instance[new PiecePosition(i, j)], "Position (" + i + ", " + j + ") is not null."); } } }
public void NearBoardLimit() { Piece piece = new Piece(null, army, new PiecePosition(0, 10)); Assert.AreEqual(3, piece.Group.Liberties); Assert.AreEqual(3, piece.Group.Liberties); }
public void IsFromArmy() { Game.Instance.Start("White Player", "Black Player", Board.BoardSize.Tournament); firstPiece = new Piece(null, army, new PiecePosition(1, 2)); Assert.IsTrue(firstPiece.Group.Army == army); Game.Instance.Stop(); }
public void InUpperCorner() { Piece piece = new Piece(null, army, new PiecePosition(0, 0)); Assert.AreEqual(2, piece.Group.Liberties); Assert.AreEqual(2, piece.Group.Liberties); }
// Construtors public PieceException(Piece badPiece, String message) : base(message) { this.badPiece = badPiece; }
void CheckNeighbour(Piece neighbour, ref int remaingLiberties) { if(neighbour == null) { return; } if(neighbour.Group.Army != army) { --neighbour.Group.Liberties; --remaingLiberties; return; } Group = neighbour.Group; --Group.Liberties; --remaingLiberties; }
// Methods public void AddPiece(Piece piece) { piece.Group = this; Pieces.Add(piece); }