private static void NaechsteRunde() { Console.WriteLine("Sie befinden an Position {0}", hoehle.Spieler.Position); Console.Write("An diesem Ort befindet sich "); bool andereFigur = false; foreach (var figur in hoehle.Figuren) { if (figur == hoehle.Spieler) { continue; } else { if (hoehle.Spieler.Position.Equals(figur.Position)) { Console.WriteLine(figur); andereFigur = true; } } } if (!andereFigur) { Console.WriteLine("nichts."); } var key = Console.ReadKey(); himmelsrichtungen richtung = himmelsrichtungen.sueden; switch (key.KeyChar) { case 'w': richtung = himmelsrichtungen.norden; break; case 's': richtung = himmelsrichtungen.osten; break; case 'a': richtung = himmelsrichtungen.westen; break; case 'y': richtung = himmelsrichtungen.sueden; break; default: Console.WriteLine("Unbekanter Befehl"); break; } hoehle.Spieler.Gehen(richtung); }
public void Gehen(himmelsrichtungen himmelsrichtung) { switch (himmelsrichtung) { case himmelsrichtungen.norden: if (Position.Y > 0) { Position.Y--; } break; case himmelsrichtungen.osten: if (Position.X < Hoehle.Laenge) { Position.X++; } break; case himmelsrichtungen.sueden: if (Position.Y < Hoehle.Breite) { Position.Y++; } break; case himmelsrichtungen.westen: if (Position.X > 0) { Position.X--; } break; default: break; } }