public void VerarbeiteSchussErgebniss(Koordinaten koords, SchussErgebnis result) { int index = koords.Reihe + koords.Spalte; var Tile = this.schussSpielfeld.SpielfeldTiles.At(koords.Reihe, koords.Spalte);// schussSpielfeld.SpielfeldTiles[index];//.At(koords.Reihe, koords.Spalte); switch (result) { case SchussErgebnis.Hit: Tile.Teilbelegung = Teilbelegung.Getroffen; break; default: Tile.Teilbelegung = Teilbelegung.Miss; break; } }
public SchussErgebnis VerarbeiteSchuss(Koordinaten koords) { int index = koords.Reihe + koords.Spalte; SpielfeldTile Tile = Spielfeld.SpielfeldTiles.At(koords.Reihe, koords.Spalte);// [index];//.At(koords.Reihe, koords.Spalte); if (!Tile.istBesetzt) { //Main.EventBox.Text += Environment.NewLine + Name + " says: \"Miss!\""; return(SchussErgebnis.Miss); } else { var schiff = Schiffe.First(x => x.Teilbelegung == Tile.Teilbelegung); schiff.Treffer++; if (schiff.istGesunken) { Brush brush = Brushes.Red; //Main.EventBox.Text += Environment.NewLine + Name + " says: \" Du hast mein " + schiff.Name + " versenkt!"; if (schiff.Teilbelegung == Teilbelegung.AircraftCarrier && this.Name == "AI") { Main.ACControl.SetColor(brush); } else if (schiff.Teilbelegung == Teilbelegung.Battleship && this.Name == "AI") { Main.BSControl.SetColor(brush); } else if (schiff.Teilbelegung == Teilbelegung.Cruiser && this.Name == "AI") { Main.CControl.SetColor(brush); } else if (schiff.Teilbelegung == Teilbelegung.Destroyer && this.Name == "AI") { Main.DControl.SetColor(brush); } else if (schiff.Teilbelegung == Teilbelegung.Submarine && this.Name == "AI") { Main.SControl.SetColor(brush); } } else { //Main.EventBox.Text += Environment.NewLine + Name + " says: \"Treffer!\""; } return(SchussErgebnis.Hit); } }
public Koordinaten convertCanvasNameToKoordinaten(string name) { String[] alphabet = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" }; string test = name.Substring(0, 1); int reihe = Array.IndexOf(alphabet, test); string test2 = ""; if (name.Length == 2) { test2 = name.Substring(1, 1); } else if (name.Length == 3) { test2 = name.Substring(1, 2); } int spalte = (int.Parse(test2) - 1); Koordinaten result = new Koordinaten(reihe, spalte); return(result); }
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 SpielfeldTile(int reihe, int spalte) { this.name = alphabet[reihe] + (spalte + 1); koordinaten = new Koordinaten(reihe, spalte); Teilbelegung = Teilbelegung.Leer; }