Permainan Tebak Bilangan
Implementasikan permainan tebak bilangan interaktif sederhana dengan bilangan acak
Permainan Tebak Bilangan adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Rencana Permainan
Program memilih angka rahasia 1..100. Pengguna menebak; program mengatakan "terlalu tinggi" atau "terlalu rendah". Pengguna menang setelah jumlah percobaan yang ditentukan atau setelah menebak dengan benar.
Header yang Diperlukan
Untuk bilangan acak dan masukan/keluaran.
#include <iostream>
#include <random>
#include <string>Membuat Angka Rahasia
Gunakan fasilitas <random> modern. Tetapkan benih satu kali.
std::random_device rd;
std::mt19937 engine(rd());
std::uniform_int_distribution<int> dist(1, 100);
int secret = dist(engine);Perulangan Utama
Tampilkan permintaan, baca, bandingkan, lalu ulangi hingga benar.
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";
}Membatasi Percobaan
Tambahkan jumlah percobaan maksimum agar permainan menjadi lebih sulit.
const int MAX = 10;
if (attempts >= MAX) {
std::cout << "Out of tries! It was " << secret << "\n";
break;
}Memvalidasi Masukan
Jika pengguna mengetik masukan nonnumerik, cin masuk ke keadaan gagal. Pulihkan keadaan tersebut dengan baik.
if (!(std::cin >> guess)) {
std::cin.clear();
std::cin.ignore(10000, '\n');
std::cout << "Please enter a number\n";
continue;
}Tebakan di Luar Rentang
Tolak angka di luar 1..100 sebelum menghitungnya sebagai percobaan.
if (guess < 1 || guess > 100) {
std::cout << "Out of range\n";
--attempts; // not a real attempt
continue;
}Perulangan Main Lagi
Setelah permainan berakhir, tanyakan apakah pengguna ingin bermain lagi.
std::cout << "Play again? (y/n): ";
char reply;
std::cin >> reply;
if (reply != 'y') break;Melacak Statistik
Simpan total dari seluruh permainan—skor terbaik, rata-rata percobaan, dan total kemenangan.
int wins = 0;
int bestAttempts = INT_MAX;
// update inside the win branchMenyesuaikan Rentang
Biarkan pengguna memilih mode mudah (1..10), sedang (1..100), atau sulit (1..1000). Sesuaikan dist dengan pilihan tersebut.
Sistem Petunjuk
Opsional: setelah beberapa tebakan salah, persempit rentangnya. "Nilainya setidaknya 40."
Memecah Menjadi Fungsi
Refaktor menjadi generateSecret(), readGuess(), playRound(), dan main(). Setiap fungsi melakukan satu hal.
Pemeriksaan Singkat
Urutan penyertaan header apa yang diperlukan untuk bilangan acak C++ modern?
Ringkasan
Permainan tebak angka menyatukan pembuatan bilangan acak, validasi masukan, perulangan, dan keadaan permainan. Refaktorkan menjadi fungsi-fungsi kecil, lalu tambahkan fitur main lagi, statistik, dan tingkat kesulitan agar lebih baik.
Belajar C++ dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Permainan Tebak Bilangan” gratis?
Ya — teks lengkap “Permainan Tebak Bilangan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Permainan Tebak Bilangan”?
Implementasikan permainan tebak bilangan interaktif sederhana dengan bilangan acak Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Permainan Tebak Bilangan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membangun CLI Kalkulator Sederhana
- Membaca dan Menulis File CSV
- Permainan Tebak Bilangan
- Penghitung Frekuensi Kata