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()); }
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); }
public List <Koordinaten> GetUebrigeRandomSpielfeldTiles() { return(SpielfeldTiles.Where(x => x.Teilbelegung == Teilbelegung.Leer && x.istTeilDiagonalVerfügbar).Select(x => x.koordinaten).ToList()); }