コード例 #1
0
        public void BoardLogicRemovePiece()
        {
            PieceLogic[] expectedPieces = new PieceLogic[24];
            for (int i = 0; i < 12; i++)
            {
                PieceLogic p = new PieceLogic(i, "Red");
                expectedPieces[i] = p;
            }
            for (int i = 11; i < 24; i++)
            {
                PieceLogic p = new PieceLogic(i, "Black");
                expectedPieces[i] = p;
            }
            BoardLogic board = new BoardLogic(expectedPieces);

            int idToRemove = 1;

            // test RemovePiece
            board.RemovePiece(idToRemove);
            PieceLogic[] actualPieces = board.GetPieces();
            for (int i = 0; i < actualPieces.Length; i++)
            {
                if (actualPieces[i].GetId() == idToRemove)
                {
                    int[] actualLocation   = actualPieces[i].GetLocation();
                    int[] expectedLocation = new int[] { -1, -1 };
                    Assert.AreEqual(actualLocation[0], expectedLocation[0]);
                }
            }
        }
コード例 #2
0
        public void BoardLogicGetSet()
        {
            PieceLogic[] expectedPieces = new PieceLogic[24];
            for (int i = 0; i < 12; i++)
            {
                PieceLogic p = new PieceLogic(i, "Red");
                expectedPieces[i] = p;
            }
            for (int i = 11; i < 24; i++)
            {
                PieceLogic p = new PieceLogic(i, "Black");
                expectedPieces[i] = p;
            }
            BoardLogic board = new BoardLogic(expectedPieces);

            PieceLogic[] actualPieces = board.GetPieces();

            // test GetPieces
            Assert.AreEqual(expectedPieces, actualPieces);

            for (int i = 0; i < 12; i++)
            {
                PieceLogic p = new PieceLogic(i, "Black");
                expectedPieces[i] = p;
            }
            for (int i = 11; i < 24; i++)
            {
                PieceLogic p = new PieceLogic(i, "Red");
                expectedPieces[i] = p;
            }

            // test SetPieces
            board.SetPieces(expectedPieces);
            actualPieces = board.GetPieces();
            Assert.AreEqual(expectedPieces, actualPieces);
        }
コード例 #3
0
    ///////////////////////////////////////////////////////////////////
    //////////////////////////// Methods //////////////////////////////
    ///////////////////////////////////////////////////////////////////

    /// <summary>
    /// Queries database every 0.2 seconds.  When it is the player's turn, returns true.
    /// Does not return until then.  Never returns false.
    /// </summary>

    /*
     * public bool IsMyTurn()
     * {
     *  while (true)
     *  {
     *      //Query database for whose turn it is: Nick - how do I get whose turn it is from the database?
     *      HackshTable myTable = this._client.getGame(GetGameId());
     *      string currPlayerTurn = myTable.get("Turn")[0];
     *      if (currPlayerTurn == this.GetPlayerColor())
     *      {
     *          return true;
     *      }
     *      Thread.Sleep(200);
     *  }
     * }
     */

    /// <summary>
    /// Finds the piece at the given location
    /// </summary>
    public PieceLogic FindPiece(int x, int y)
    {
        for (int i = 0; i < _board.GetPieces().Length; i++)
        {
            if (_board.GetPieces()[i].GetLocation()[0] == x)
            {
                if (_board.GetPieces()[i].GetLocation()[1] == y)
                {
                    return(_board.GetPieces()[i]);
                }
            }
        }
        return(null);
    }