Beispiel #1
0
 public Game(Eingabe e, StreamWriter writer, string spielername1, string spielername2) //Konstruktor
 {
     spieler1.SETname(spielername1);
     spieler2.SETname(spielername2);
     this.writer = writer;
     userinterface(e);
 }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }