Example #1
0
 public void Move(BoardSquare currSquare, BoardSquare targetSquare)
 {
     throw new NotImplementedException();
 }
Example #2
0
        public void Select(BoardSquare currSquare)
        {
            //Create Outline on Selected
            boardState[currSquare.XCoord, currSquare.YCoord].Selected = true;
            // set selected = true; in the BoardSquare Object

            List <BoardSquare> MovementOptions = new List <BoardSquare>();

            //Get Diagonal Objects if They are On the Board
            // up left
            if (currSquare.XCoord > 0 && currSquare.YCoord > 0)
            {
                BoardSquare UpLeft = boardState[currSquare.XCoord - 1, currSquare.YCoord - 1];
                MovementOptions.Add(UpLeft);
            }
            // up right
            // if(XCoord < 8 && YCoord > 2) {BoardSquare UpRight = Board[XCoord + 1, YCoord - 1];}
            if (currSquare.XCoord < 7 && currSquare.YCoord > 0)
            {
                BoardSquare UpRight = boardState[currSquare.XCoord + 1, currSquare.YCoord - 1];
                MovementOptions.Add(UpRight);
            }
            // down left
            // if(XCoord > 2 && YCoord < 8) {BoardSquare DownLeft = Board[XCoord - 1, YCoord + 1];}
            if (currSquare.XCoord > 0 && currSquare.YCoord < 7)
            {
                BoardSquare DownLeft = boardState[currSquare.XCoord - 1, currSquare.YCoord + 1];
                MovementOptions.Add(DownLeft);
            }
            // down right
            // if(XCoord < 8 && YCoord < 8) {BoardSquare DownRight = Board[XCoord + 1, YCoord + 1];}
            if (currSquare.XCoord < 7 && currSquare.YCoord < 7)
            {
                BoardSquare DownRight = boardState[currSquare.XCoord + 1, currSquare.YCoord + 1];
                MovementOptions.Add(DownRight);
            }

            // Check for Presence
            foreach (BoardSquare moveOption in MovementOptions)
            {
                if (moveOption.Occupied == false)
                {
                    //Case: Open => Ok to Move
                    boardState[moveOption.XCoord, moveOption.YCoord].CanMove = true;
                    //	//Set JS to create outline OnHover
                }

                else if (moveOption.Occupied == true)
                {
                    //Case: Occupied + Same Team => Cannot Move
                    if (moveOption.TeamNumber == currSquare.TeamNumber)
                    {
                        boardState[moveOption.XCoord, moveOption.YCoord].CanMove = false;
                    }

                    //Case: Occupied  + Other Team => Can Move and Take
                    if (moveOption.TeamNumber != currSquare.TeamNumber)
                    {
                        boardState[moveOption.XCoord, moveOption.YCoord].CanMove = true;
                    }
                    //	//Set JS to create outline OnHover
                }
            }
        }
Example #3
0
 public void Deselect(BoardSquare currSquare)
 {
     boardState[currSquare.XCoord, currSquare.YCoord].Selected = false;
 }