Impressum
Inhalt

Projekt Zahlenratespiel

Überblick

In diesem Spiel soll der Benutzer eine ganze Zahl erraten. Nach jedem Rateversuche erhält er vom Computer einen Hinweis ob die gesuchte Zahl kleiner oder größer als die eingegebene ist. Ist die Zahl gleich der gesuchten so hat er gewonnen.

Beschreibung

Am Anfang des Programms wird eine Variable mit der zu erratenden Zahl vorbelegt (später kann man sie zufällig wählen). In einer weiteren Variablen wird die vom Benutzer eingegebene Zahl gespeichert.
Ist die zu erratende Zahl kleiner als die eingegebene Zahl, so wird "die gesuchte Zahl ist kleiner", ist sie größer wird "die gesuchte Zahl ist größer" ausgegeben.
In diesen beiden Fällen geht das Programm mit der nächsten Benutzereingabe weiter.
Ist die gesuchte Zahl erraten wird eine Gewonnen-Meldung ausgegeben und das Programm ist zu ende.

Variablen:

Wir benötigen zwei Variablen (geheim und geraten), welche die geheime Zahl und die Eingabe des Spielers speichern. Hierfür verwenden wir ganze Zahlen (int).

Algorithmus (Ablauf)

  1. Deklarieren und Initialisieren der Variablen.
  2. Es wird eine Ausgabe mit Write gemacht, welche den Benutzer nach seiner Eingabe fragt.
  3. Die Eingabe wird mit der geheimen Zahl verglichen und eine entsprechende Ausgabe gemacht. Ist die geratene Zahl gleich wie die geheime Zahl so wird hier nichts ausgegeben.
  4. Damit mehrere Rateversuche möglich sind müssen die Punkte 2 und 3 zusammen in eine Schleife gepackt werden. Hier bietet sich eine do-while-Schleife an, da mindestens ein Rateversuch benötigt wird. Überlegen Sie sich eine geeignete Bedingung für die Schleife, so dass sie genau dann endet, wenn die Zahl erraten wurde!
  5. Wird die Schleife beendet, so wurde die Zahl erraten. Somit kann nach der Schleife die Gewonnen-Meldung ausgegeben werden.

Youtube Video: Zahlenratespiel in C#

Der Quellcode unten und das YouTube-Video enthalten Erweiterungen, welche die Rateversuche begrenzen und die gesuchte Zahl zufällig wählen.

Der Quellcode

using System; class Program { static void Main(string[] args) { string eing; int geraten; int geheim; int versuche=0; Random zufall = new Random(); geheim = zufall.Next(101); do { Console.Write("Zahl eingeben (0-100): "); eing = Console.ReadLine(); geraten = Convert.ToInt32(eing); if(geraten<geheim) { Console.WriteLine("Eingabe zu klein"); } if(geraten>geheim) { Console.WriteLine("Eingabe zu groß"); } versuche = versuche+1; } while(geraten!=geheim && versuche<6); if(geraten==geheim) { Console.WriteLine("Super! Du hast nur "+ versuche +" Versuche benötigt"); } else { Console.WriteLine("Verloren es wäre "+geheim +" gewesen!"); } Console.ReadKey(); } }