Exemple #1
0
 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();
 }
Exemple #2
0
 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.");
         }
     }
 }
Exemple #3
0
 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);
 }
Exemple #4
0
 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();
 }
Exemple #5
0
 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);
 }
Exemple #6
0
 // Construtors
 public PieceException(Piece badPiece, String message)
     : base(message)
 {
     this.badPiece = badPiece;
 }
Exemple #7
0
 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;
 }
Exemple #8
0
 // Methods
 public void AddPiece(Piece piece)
 {
     piece.Group = this;
     Pieces.Add(piece);
 }