Esempio n. 1
0
 private bool IsSameItem(IBoardItem a, IBoardItem b)
 {
     if (a == null || b == null)
     {
         return(false);
     }
     return(a.type == b.type);
 }
Esempio n. 2
0
        private void ValidateMove(IBoardItem item)
        {
            var position1 = selectedPiece.File.ToString() + selectedPiece.Rank.ToString();
            var position2 = item.File.ToString() + item.Rank.ToString();

            var move = position1 + position2;

            moves.Append(" " + move);
            SendMovesToEngine(moveValidationTime);
        }
Esempio n. 3
0
        public int CompareTo(IBoardItem other)
        {
            if (dayCount != other.DayCount)
            {
                return(dayCount - other.DayCount);
            }
            if (!timeAdded.Equals(other.TimeAdded))
            {
                return(timeAdded.CompareTo(other.TimeAdded));
            }

            return(string.CompareOrdinal(playerName, other.PlayerName));
        }
Esempio n. 4
0
        /// <summary>
        /// Converts
        /// </summary>
        /// <param name="boardName"></param>
        /// <param name="boardItem"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        public void PlaceObjectAtPosition(string boardName, IBoardItem boardItem, Vector2 position)
        {
            var board = GetBoard(boardName);

            var destPosition = boardPositionConverter.FromBoardCoordinates(position, board);

            if (!positionValidator.IsPositionValid(board, destPosition))
            {
                throw new RobotOutOfBoundsException(position);
            }

            boardItem.Position = position;
            board.BoardItems[destPosition.X, destPosition.Y] = boardItem;
        }
Esempio n. 5
0
        /// <summary>
        /// Creates a new board populating with empty tiles and storing it in the data store
        /// </summary>
        /// <param name="name"></param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        /// <returns></returns>
        public Board CreateNewBoard(string name, int width, int height)
        {
            var boardItems = new IBoardItem[width, height];

            for (var x = 0; x < width; x++)
            {
                for (var y = 0; y < height; y++)
                {
                    var boardPosition = boardPositionConverter.ToBoardCoordinates(new Vector2(x, y), height);
                    boardItems[x, y] = new DefaultBoardItem(boardPosition);
                }
            }

            var board = new Board(name, width, height, boardItems);

            boards.Add(board);
            return(board);
        }
Esempio n. 6
0
        public bool IsMoveValid(IBoardItem boardItem)
        {
            if (gameManager.IsPlayerOnTurnAI)
            {
                return(false);
            }
            gameManager.Move.AddRange(new List <int> {
                boardItem.Col, boardItem.Row, (int)boardItem.PieceType
            });
            if (gameManager.IsMoveValid(gameManager.Move))
            {
                //OutputMessage("Valid move!");
                return(true);
            }

            OutputMessage("Invalid move!");
            gameManager.Move.RemoveRange(3, 3);
            return(false);
        }
Esempio n. 7
0
        //Validates selected unit piece
        public bool IsSelectValid(IBoardItem boardItem)
        {
            if (gameManager.IsPlayerOnTurnAI)
            {
                return(false);
            }
            TempMove = new List <int> {
                boardItem.Col, boardItem.Row, (int)boardItem.PieceType
            };
            if (gameManager.IsSelectValid(TempMove))
            {
                gameManager.Move.Clear();
                //OutputMessage("Valid select!");
                gameManager.Move.AddRange(TempMove);
                return(true);
            }

            //OutputMessage("Invalid select!");
            return(false);
        }
        private void InitBoardItems()
        {
            Customs.UnityCustoms.DestroyAllChilds(gmst.boardItemsParent);
            Customs.UnityCustoms.DestroyAllChilds(gmst.figureItemsParent);

            BoardItems = new IBoardItem[BoardSize_X, BoardSize_Y];
            for (int i = 0; i < BoardSize_X; i++)
            {
                for (int j = 0; j < BoardSize_Y; j++)
                {
                    var board_item_obj = GameObject.Instantiate(preload.boardItemPrefab) as GameObject;
                    board_item_obj.name = "board_item";
                    IBoardItem board_item = board_item_obj.GetComponent <IBoardItem>();
                    board_item.SetPosition(i, j);
                    BoardItems[i, j] = board_item;

                    board_item_obj.transform.SetParent(gmst.boardItemsParent.transform);
                    board_item_obj.transform.position = GetBoardWorldPosition(i, j);
                    boardWorldPosition.ScaleItemSprite(board_item_obj.GetComponent <SpriteRenderer>());
                }
            }
        }