Exemple #1
0
        /// <summary>
        /// Gets free spaces and randomly pick one for finish tile
        /// </summary>
        /// <returns>Map position x and y</returns>
        public (int x, int y) GetFinishPosition()
        {
            Random             random       = new Random();
            List <GameElement> gameElements = GetAllElements(true);

            GameElement randElement = gameElements[random.Next(gameElements.Count)];

            return(randElement.MapPositionX, randElement.MapPositionY);
        }
Exemple #2
0
 private void AddBomb()
 {
     foreach (var bomb in Bombs)
     {
         // if there is bomb on the same tile
         if (GameElement.OnTheSameTile(bomb, Player))
         {
             return;
         }
     }
     Bombs.Add(new Bomb(Player.MapCenterPositionX, Player.MapCenterPositionY));
 }
Exemple #3
0
        public List <GameElement> GetCloseElements(GameElement element)
        {
            List <GameElement> elements = new List <GameElement>();
            int x = element.MapPositionX;
            int y = element.MapPositionY;

            for (int i = y - 1; i <= y + 1; i++)
            {
                for (int j = x - 1; j <= x + 1; j++)
                {
                    if (Map[i, j] is Grass is false)
                    {
                        elements.Add(Map[i, j]);
                    }
                }
            }

            return(elements);
        }
Exemple #4
0
 public static bool OnTheSameTile(GameElement element1, GameElement element2)
 => element1.MapPositionX == element2.MapPositionX && element1.MapPositionY == element2.MapPositionY;
Exemple #5
0
 public bool IntersectWith(GameElement otherElement)
 => ElementRectangle.IntersectsWith(otherElement.ElementRectangle);
Exemple #6
0
 public void RemoveElement(GameElement element)
 {
     Map[element.MapPositionY, element.MapPositionX] = new Grass(element.MapPositionX, element.MapPositionY);
 }
Exemple #7
0
 public void AddElement(GameElement element)
 {
     Map[element.MapPositionY, element.MapPositionX] = element;
 }