Exemple #1
0
        public List <Koordinaten> GetGetroffeneNachbarn()
        {
            List <SpielfeldTile> spielfeldTilesSf = new List <SpielfeldTile>();
            var trefferSammlung = SpielfeldTiles.Where(x => x.Teilbelegung == Teilbelegung.Getroffen);

            foreach (var treffer in trefferSammlung)
            {
                spielfeldTilesSf.AddRange(GetNachbarn(treffer.koordinaten).ToList());
            }
            return(spielfeldTilesSf.Distinct().Where(x => x.Teilbelegung == Teilbelegung.Leer).Select(x => x.koordinaten).ToList());
        }
Exemple #2
0
        public List <SpielfeldTile> GetNachbarn(Koordinaten koordinaten)
        {
            int reihe  = koordinaten.Reihe;
            int spalte = koordinaten.Spalte;
            List <SpielfeldTile> spielfeldTiles = new List <SpielfeldTile>();

            if (spalte > 0)
            {
                spielfeldTiles.Add(SpielfeldTiles.At(reihe, spalte - 1));
            }
            if (reihe > 0)
            {
                spielfeldTiles.Add(SpielfeldTiles.At(reihe - 1, spalte));
            }
            if (reihe < 9)
            {
                spielfeldTiles.Add(SpielfeldTiles.At(reihe + 1, spalte));
            }
            if (spalte < 9)
            {
                spielfeldTiles.Add(SpielfeldTiles.At(reihe, spalte + 1));
            }
            return(spielfeldTiles);
        }
Exemple #3
0
 public List <Koordinaten> GetUebrigeRandomSpielfeldTiles()
 {
     return(SpielfeldTiles.Where(x => x.Teilbelegung == Teilbelegung.Leer && x.istTeilDiagonalVerfügbar).Select(x => x.koordinaten).ToList());
 }