public Game(Eingabe e, StreamWriter writer, string spielername1, string spielername2) //Konstruktor { spieler1.SETname(spielername1); spieler2.SETname(spielername2); this.writer = writer; userinterface(e); }
public void Run() { Console.WriteLine("Verbunden mit Client " + client.Client.RemoteEndPoint); client.NoDelay = true; //Verzögerung Deaktiviert wenn Sende und Empfangspuffer nicht voll client.LingerState = new LingerOption(true, 5); //Ruft Informationen zum Nachlaufzustand des zugeordneten Sockets ab oder legt sie fest. var stream = client.GetStream(); var reader = new StreamReader(stream, Encoding.Default); var writer = new StreamWriter(stream, Encoding.Default); writer.AutoFlush = true; Eingabe e = new Eingabe(reader, writer); Game game = new Game(e, writer, "Spieler1", "Spieler2"); }
public void userinterface(Eingabe e) { bool running = true; do { writer.WriteLine("Sie haben folgende Optionen: \n1 - Schere \n2 - Stein \n3 - Papier\nGeben Sie ihren Zug ein"); int ZugBenutzer = 0; bool ungültig = false; do { ZugBenutzer = e.EingabeInt(); //Benutzereingabe ungültig = false; if (ZugBenutzer > 3 || ZugBenutzer < 1) { ungültig = true; writer.WriteLine("Ungültiger Zug!"); } } while (ungültig == true); int ZugComputer = random.Next(1, 4); //Obere Grenze einen Wert über dem Zahlenbereich, Untere Grenze im Zahlenbereich !!! bool entschieden = Auswertung(ZugBenutzer, ZugComputer); if (entschieden == true) { if (Gegner == Spielzüge.Papier) { writer.WriteLine("1PAPIER"); //Spieler 1 ist der Gegner } if (Gegner == Spielzüge.Stein) { writer.WriteLine("1STEIN"); } if (Gegner == Spielzüge.Schere) { writer.WriteLine("1SCHERE"); } if (Benutzer == Spielzüge.Papier) { writer.WriteLine("2PAPIER"); //Spieler zwei der jew Nutzer } if (Benutzer == Spielzüge.Stein) { writer.WriteLine("2STEIN"); } if (Benutzer == Spielzüge.Schere) { writer.WriteLine("2SCHERE"); } } else { writer.WriteLine("Unentschieden!"); } writer.WriteLine("Der aktuelle Spielstand: \nComputer: " + spieler2.GETspielstand() + "\n" + spieler1.GETname() + ": " + spieler1.GETspielstand() + "\n"); CountExit++; if (CountExit >= 8) { writer.WriteLine("Geben Sie zum verlassen des Spiels das Schlüsselwort <exit> ein."); if (e.EingabeString() == "exit") { writer.WriteLine("EXIT"); running = false; } CountExit = 0; } } while (running); }
public void userinterface() { Eingabe e = new Eingabe(); //TCP abfragen erforderlich bool running = true; do { Console.WriteLine("Sie haben folgende Optionen: \n1 - Schere \n2 - Stein \n3 - Papier"); Console.WriteLine("Geben Sie ihren Zug ein"); int ZugBenutzer = 0; bool ungültig = false; do { ZugBenutzer = e.EingabeInt(); //Benutzereingabe ungültig = false; if (ZugBenutzer > 3 || ZugBenutzer < 1) { ungültig = true; Console.WriteLine("Ungültiger Zug!"); } } while (ungültig == true); int ZugComputer = random.Next(1, 4); //Obere Grenze einen Wert über dem Zahlenbereich, Untere Grenze im Zahlenbereich !!! bool entschieden = Auswertung(ZugBenutzer, ZugComputer); if (entschieden == true) { if (Gegner == Spielzüge.Papier) { Console.WriteLine("Der Gegner hat Papier genommen."); } if (Gegner == Spielzüge.Stein) { Console.WriteLine("Der Gegner hat sich für Stein entschieden."); } if (Gegner == Spielzüge.Schere) { Console.WriteLine("Der Gegner hat Schere gewählt. \n"); } if (Benutzer == Spielzüge.Papier) { Console.WriteLine("Ihr Zug: Papier"); } if (Benutzer == Spielzüge.Stein) { Console.WriteLine("Ihr Zug: Stein"); } if (Benutzer == Spielzüge.Schere) { Console.WriteLine("Ihr Zug: Schere \n"); } } else { Console.WriteLine("Unentschieden!"); } Console.WriteLine("Der aktuelle Spielstand: \nComputer: " + spieler2.GETspielstand() + "\n" + spieler1.GETname() + ": " + spieler1.GETspielstand() + "\n"); CountExit++; if (CountExit >= 8) { Console.WriteLine("Geben Sie zum verlassen des Spiels das Schlüsselwort <exit> ein."); if (e.EingabeString() == "exit") { //Schlüsselwort "EXIT" an Clients senden - TODO running = false; } CountExit = 0; } } while (running); }