Esempio n. 1
0
        public void Fertiliser(int buff)
        {
            if (buff > 1)
            {
                int x = Position.Key;
                int y = Position.Value;

                Cellule cell = Grille.GetInstance().GetCellule(x + 1, y);
                if (cell)
                {
                    cell.Fertiliser(buff - 1);
                }

                cell = Grille.GetInstance().GetCellule(x - 1, y);
                if (cell)
                {
                    cell.Fertiliser(buff - 1);
                }

                cell = Grille.GetInstance().GetCellule(x, y + 1);
                if (cell)
                {
                    cell.Fertiliser(buff - 1);
                }

                cell = Grille.GetInstance().GetCellule(x, y - 1);
                if (cell)
                {
                    cell.Fertiliser(buff - 1);
                }
            }
        }
Esempio n. 2
0
        public HashSet <Cellule> GetInRadius(int radius)
        {
            Cellule           cellule;
            HashSet <Cellule> resultList = new HashSet <Cellule> {
                this
            };

            if (radius < 1)
            {
                return(resultList);
            }

            cellule = Grille.GetInstance().GetCellule(Position.Key + 1, Position.Value);
            if (cellule)
            {
                resultList.UnionWith(cellule.GetInRadius(radius - 1));
            }

            cellule = Grille.GetInstance().GetCellule(Position.Key, Position.Value + 1);
            if (cellule)
            {
                resultList.UnionWith(cellule.GetInRadius(radius - 1));
            }

            cellule = Grille.GetInstance().GetCellule(Position.Key - 1, Position.Value);
            if (cellule)
            {
                resultList.UnionWith(cellule.GetInRadius(radius - 1));
            }

            cellule = Grille.GetInstance().GetCellule(Position.Key, Position.Value - 1);
            if (cellule)
            {
                resultList.UnionWith(cellule.GetInRadius(radius - 1));
            }

            return(resultList);
        }