0Pricing
C++ Academy · Lektion

Ein Zahlenratespiel

Implementieren Sie ein kleines interaktives Zahlenratespiel mit Zufallszahlen.

Ein Zahlenratespiel ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Spielplan

Das Programm wählt eine geheime Zahl zwischen 1 und 100. Der Benutzer rät, und das Programm meldet „zu hoch“ oder „zu niedrig“. Gewonnen wird nach einer festen Anzahl von Versuchen oder sobald die richtige Zahl geraten wurde.

Benötigte Header

Für Zufallszahlen sowie Ein- und Ausgabe.

#include <iostream>
#include <random>
#include <string>

Die geheime Zahl erzeugen

Verwenden Sie die modernen Funktionen aus <random>. Initialisieren Sie den Zufallszahlengenerator einmal.

std::random_device rd;
std::mt19937 engine(rd());
std::uniform_int_distribution<int> dist(1, 100);
int secret = dist(engine);

Hauptschleife

Geben Sie eine Eingabeaufforderung aus, lesen Sie die Eingabe, vergleichen Sie sie und wiederholen Sie den Vorgang, bis die Zahl stimmt.

int guess;
int attempts = 0;
while (true) {
    ++attempts;
    std::cout << "Guess (1-100): ";
    if (!(std::cin >> guess)) break;
    if (guess == secret) {
        std::cout << "Got it in " << attempts << " tries\n";
        break;
    }
    std::cout << (guess < secret ? "too low" : "too high") << "\n";
}

Versuche begrenzen

Fügen Sie eine maximale Anzahl von Versuchen hinzu, um das Spiel schwieriger zu machen.

const int MAX = 10;
if (attempts >= MAX) {
    std::cout << "Out of tries! It was " << secret << "\n";
    break;
}

Eingaben validieren

Wenn der Benutzer eine nichtnumerische Eingabe macht, wechselt cin in den Fehlerzustand. Behandeln Sie dies zuverlässig.

if (!(std::cin >> guess)) {
    std::cin.clear();
    std::cin.ignore(10000, '\n');
    std::cout << "Please enter a number\n";
    continue;
}

Schätzungen außerhalb des Bereichs

Weisen Sie Zahlen außerhalb des Bereichs 1..100 zurück, bevor Sie den Versuch zählen.

if (guess < 1 || guess > 100) {
    std::cout << "Out of range\n";
    --attempts;     // not a real attempt
    continue;
}

Wiederholungsschleife

Fragen Sie den Benutzer nach dem Ende einer Runde, ob er noch einmal spielen möchte.

std::cout << "Play again? (y/n): ";
char reply;
std::cin >> reply;
if (reply != 'y') break;

Statistiken erfassen

Bewahren Sie die Gesamtwerte über mehrere Spiele hinweg auf – Bestwert, durchschnittliche Anzahl der Versuche und Siege insgesamt.

int wins = 0;
int bestAttempts = INT_MAX;
// update inside the win branch

Bereich anpassen

Lassen Sie den Benutzer zwischen den Modi Einfach (1..10), Mittel (1..100) und Schwer (1..1000) wählen. Passen Sie dist entsprechend an.

Hinweissystem

Optional: Grenzen Sie den Bereich nach mehreren falschen Schätzungen ein. „Die Zahl ist mindestens 40.“

In Funktionen aufteilen

Strukturieren Sie den Code in generateSecret(), readGuess(), playRound() und main() um. Jede Funktion übernimmt genau eine Aufgabe.

Kurztest

Welche Folge von Header-Includes wird für eine moderne C++-Zufallszahl benötigt?

Zusammenfassung

Ein Zahlenratespiel verbindet die Erzeugung von Zufallszahlen, Eingabevalidierung, Schleifen und Spielzustand. Strukturieren Sie den Code in kleine Funktionen um und ergänzen Sie Wiederholung, Statistiken und Schwierigkeitsgrade für den letzten Feinschliff.

Häufig gestellte Fragen

Ist die Lektion „Ein Zahlenratespiel“ kostenlos?

Ja — der vollständige Text von „Ein Zahlenratespiel“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Ein Zahlenratespiel“?

Implementieren Sie ein kleines interaktives Zahlenratespiel mit Zufallszahlen. Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Ein Zahlenratespiel“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Eine einfache Taschenrechner-CLI erstellen
  2. CSV-Dateien lesen und schreiben
  3. Ein Zahlenratespiel
  4. Ein Worthäufigkeitszähler
← Zurück zu C++ Academy