C# :: Aufgabe #106 :: Lösung #4

10 Lösungen Lösungen öffentlich
#106

Stein, Papier, Schere, Echse, Spock

Anfänger - C# von Energy - 24.09.2015 um 15:22 Uhr
Programmiere das Spiel Stein, Papier, Schere, Echse, Spock, sodass man selbst eine Figur auswählen kann und der Computer eine zufällige Figur auswählt. Ermittele dann, wer diese Partie gewonnen hat.
#4
vote_ok
von Snuuug (120 Punkte) - 02.10.2015 um 12:02 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            Random rnd = new Random();
            List<Knobeln> Knobelliste = new List<Knobeln>();

            Knobeln Schere = new Knobeln();
            Schere.Name = "Schere";
            Schere.StrongerThan = new string[] { "Papier", "Echse" };
            Schere.WeakerThan = new string[] { "Spock", "Stein" };
            Knobelliste.Add(Schere);

            Knobeln Papier = new Knobeln();
            Papier.Name = "Papier";
            Papier.StrongerThan = new string[] { "Stein", "Spock" };
            Papier.WeakerThan = new string[] { "Schere", "Echse" };
            Knobelliste.Add(Papier);

            Knobeln Stein = new Knobeln();
            Stein.Name = "Stein";
            Stein.StrongerThan = new string[] { "Echse", "Schere" };
            Stein.WeakerThan = new string[] { "Papier", "Spock" };
            Knobelliste.Add(Stein);

            Knobeln Echse = new Knobeln();
            Echse.Name = "Echse";
            Echse.StrongerThan = new string[] { "Spock", "Papier" };
            Echse.WeakerThan = new string[] { "Schere", "Stein" };
            Knobelliste.Add(Echse);

            Knobeln Spock = new Knobeln();
            Spock.Name = "Spock";
            Spock.StrongerThan = new string[] { "Schere", "Stein" };
            Spock.WeakerThan = new string[] { "Echse", "Papier" };
            Knobelliste.Add(Spock);


            Console.WriteLine("Wählen Sie aus(Schere,Stein,Papier,Echse,Spock)");
            var tmpChoice1 = Console.ReadLine();

            var tmpCharacter1 = from element in Knobelliste
                                where element.Name == tmpChoice1
                                select element;

            int counter = 0;
            var r = rnd.Next(Knobelliste.Count);
            Knobeln tmpCharacter2 = new Knobeln();
            foreach (var item in Knobelliste)
            {
                if (counter == r)
                {
                    tmpCharacter2 = item;
                }
                counter++;
            }

            if (tmpCharacter1.First().StrongerThan.Contains(tmpCharacter2.Name))
            {
                Console.WriteLine("You have won!");
                Console.WriteLine("You beat " + tmpCharacter2.Name);
                Console.ReadKey();
            }
            else if (tmpCharacter1.First().WeakerThan.Contains(tmpCharacter2.Name))
            {
                Console.WriteLine("You have lost!");
                Console.WriteLine(tmpCharacter2.Name + "beat you ");
                Console.ReadKey();
            }
        }

        class Knobeln
        {
            public string Name { get; set; }
            public string[] StrongerThan { get; set; }
            public string[] WeakerThan { get; set; }

            public Knobeln()
            {

            }
        }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben