Un gioco di indovinare i numeri
Implementi un piccolo gioco interattivo per indovinare i numeri usando numeri casuali
Un gioco di indovinare i numeri è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.
Piano di gioco
Il programma sceglie un numero segreto da 1 a 100. L'utente prova a indovinarlo; il programma indica se il tentativo è "troppo alto" o "troppo basso". Si vince dopo un numero fisso di tentativi o quando si indovina il numero.
Header necessari
Servono per i numeri casuali e l'I/O.
#include <iostream>
#include <random>
#include <string>Generare il numero segreto
Utilizzi le funzionalità moderne di <random>. Inizializzi il generatore una sola volta.
std::random_device rd;
std::mt19937 engine(rd());
std::uniform_int_distribution<int> dist(1, 100);
int secret = dist(engine);Ciclo principale
Mostri il prompt, legga l'input, lo confronti e ripeta finché il numero non è corretto.
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";
}Limitare i tentativi
Aggiunga un numero massimo di tentativi per rendere il gioco più difficile.
const int MAX = 10;
if (attempts >= MAX) {
std::cout << "Out of tries! It was " << secret << "\n";
break;
}Convalidare l'input
Se l'utente digita un input non numerico, cin entra nello stato di errore. Gestisca la situazione in modo appropriato.
if (!(std::cin >> guess)) {
std::cin.clear();
std::cin.ignore(10000, '\n');
std::cout << "Please enter a number\n";
continue;
}Tentativi fuori intervallo
Rifiuti i numeri al di fuori dell'intervallo da 1 a 100 prima di conteggiare il tentativo.
if (guess < 1 || guess > 100) {
std::cout << "Out of range\n";
--attempts; // not a real attempt
continue;
}Ciclo di rigioco
Al termine di una partita, chieda all'utente se desidera giocare di nuovo.
std::cout << "Play again? (y/n): ";
char reply;
std::cin >> reply;
if (reply != 'y') break;Tenere traccia delle statistiche
Conservi i totali tra una partita e l'altra: miglior punteggio, media dei tentativi e vittorie totali.
int wins = 0;
int bestAttempts = INT_MAX;
// update inside the win branchPersonalizzare l'intervallo
Permetta all'utente di scegliere la modalità facile (da 1 a 10), media (da 1 a 100) o difficile (da 1 a 1000). Adatti dist di conseguenza.
Sistema di suggerimenti
Facoltativo: dopo diversi tentativi errati, restringa l'intervallo. "È almeno 40."
Suddividere in funzioni
Rifattorizzi il codice in generateSecret(), readGuess(), playRound() e main(). Ogni funzione svolge un solo compito.
Verifica rapida
Quale sequenza di inclusioni degli header è necessaria per generare un numero casuale in C++ moderno?
Riepilogo
Un gioco di indovinare i numeri riunisce generazione di numeri casuali, convalida dell'input, cicli e stato del gioco. Rifattorizzi il codice in funzioni piccole e aggiunga rigioco, statistiche e livelli di difficoltà per rifinirlo.
Domande Frequenti
La lezione «Un gioco di indovinare i numeri» è gratuita?
Sì — il testo completo di «Un gioco di indovinare i numeri» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.
Cosa imparerò in «Un gioco di indovinare i numeri»?
Implementi un piccolo gioco interattivo per indovinare i numeri usando numeri casuali Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C++ Academy?
Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Un gioco di indovinare i numeri»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C++ Academy?
Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Costruire una semplice calcolatrice CLI
- Lettura e scrittura di file CSV
- Un gioco di indovinare i numeri
- Un contatore della frequenza delle parole