コード例 #1
0
        public bool CheckForCollision(Point point)
        {
            var targetPosition = new Point(GamePlayManager.Player.CurrentPlayerPosition.row + point.row, GamePlayManager.Player.CurrentPlayerPosition.column + point.column);
            var targetTile     = GamePlayManager.GetTileAtPoint(targetPosition);

            if (targetTile is WallTile)
            {
                return(false);
            }
            if (targetTile is Door && !GamePlayManager.Player.CheckForKey(targetTile.Color))
            {
                return(false);
            }
            return(true);
        }
コード例 #2
0
        public void Interact(GamePlayManager gamePlayerManager)
        {
            var tempTile = gamePlayerManager.GetTileAtPoint(new Point(6, 31));

            if (!tempTile.IsExplored)
            {
                gamePlayerManager.GameObjects.Remove(tempTile);
                gamePlayerManager.GameObjects.Add(new FloorTile(tempTile.Position, false));
            }
            else if (tempTile.IsExplored)
            {
                gamePlayerManager.GameObjects.Remove(tempTile);
                gamePlayerManager.GameObjects.Add(new FloorTile(tempTile.Position, true));
                ConsoleHandler.WriteCharAt(tempTile.Symbol, tempTile.Position, tempTile.Color);
            }
        }
コード例 #3
0
        private void ExploreTilesAroundPlayer(GamePlayManager gamePlayManager, Point currentPlayerPosition)
        {
            Point      point;
            GameObject tempTile;

            for (int row = currentPlayerPosition.row - 1; row < currentPlayerPosition.row + 2; row++)
            {
                for (int column = currentPlayerPosition.column - 1; column < currentPlayerPosition.column + 2; column++)
                {
                    point    = new Point(row, column);
                    tempTile = gamePlayManager.GetTileAtPoint(point);

                    ConsoleHandler.WriteCharAt(tempTile.Symbol, point, tempTile.Color);
                    tempTile.IsExplored = true;
                }
            }
        }