C++ Academy · Pelajaran

Permainan Tebak Bilangan

Implementasikan permainan tebak bilangan interaktif sederhana dengan bilangan acak

Pelajaran 3 dari 414 langkah

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 branch

Menyesuaikan 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.

Gratis untuk memulai

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

  1. Membangun CLI Kalkulator Sederhana
  2. Membaca dan Menulis File CSV
  3. Permainan Tebak Bilangan
  4. Penghitung Frekuensi Kata
← Kembali ke C++ Academy