Cara Membuat Game Tebak Angka Menggunakan C++

Belajar C++ akan terasa lebih menyenangkan jika langsung dipraktikkan melalui pembuatan program sederhana. Salah satu proyek yang cocok untuk pemula adalah game tebak angka. Selain mudah dibuat, proyek ini membantu Anda memahami berbagai konsep dasar C++, seperti variabel, percabangan, perulangan, fungsi, dan penggunaan angka acak.

Pada artikel ini, Anda akan belajar cara membuat game tebak angka menggunakan C++ langkah demi langkah beserta penjelasan setiap bagian kode sehingga mudah dipahami.


Apa Itu Game Tebak Angka?

Game tebak angka adalah permainan sederhana di mana komputer akan memilih sebuah angka secara acak, kemudian pemain diminta menebak angka tersebut.

Jika tebakan terlalu kecil, program akan memberikan petunjuk bahwa angka yang dimasukkan masih kurang.

Jika tebakan terlalu besar, program akan memberi tahu bahwa angka tersebut terlalu tinggi.

Permainan akan berakhir ketika pemain berhasil menebak angka yang benar.

Melalui proyek ini, Anda akan mempelajari:

  • Variabel
  • Input dan output
  • Percabangan (if, else if, else)
  • Perulangan (do while)
  • Angka acak (rand())
  • Library C++

Persiapan

Sebelum mulai membuat program, pastikan Anda sudah memiliki compiler C++, misalnya:

  • Code::Blocks
  • Dev-C++
  • Visual Studio Code dengan MinGW
  • Visual Studio
  • CLion

Langkah 1: Import Library

Tambahkan library berikut.

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

Penjelasan

  • iostream digunakan untuk input dan output.
  • cstdlib digunakan untuk fungsi rand().
  • ctime digunakan agar angka acak selalu berbeda setiap program dijalankan.

Langkah 2: Membuat Program

Berikut contoh program lengkap.

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand(time(0));

    int angkaRahasia = rand() % 100 + 1;
    int tebakan;
    int percobaan = 0;

    cout << "==============================" << endl;
    cout << "      GAME TEBAK ANGKA" << endl;
    cout << "==============================" << endl;
    cout << "Tebak angka dari 1 sampai 100." << endl;

    do
    {
        cout << "\nMasukkan tebakan Anda : ";
        cin >> tebakan;

        percobaan++;

        if(tebakan < angkaRahasia)
        {
            cout << "Terlalu kecil!" << endl;
        }
        else if(tebakan > angkaRahasia)
        {
            cout << "Terlalu besar!" << endl;
        }
        else
        {
            cout << "\nSelamat!" << endl;
            cout << "Anda berhasil menebak angka." << endl;
            cout << "Jumlah percobaan : " << percobaan << endl;
        }

    } while(tebakan != angkaRahasia);

    return 0;
}

Cara Kerja Program

Program dimulai dengan menghasilkan angka acak antara 1 hingga 100.

srand(time(0));
int angkaRahasia = rand() % 100 + 1;

Setelah itu pengguna diminta memasukkan tebakan.

cin >> tebakan;

Program kemudian membandingkan nilai yang dimasukkan dengan angka rahasia.

if(tebakan < angkaRahasia)

Jika tebakan lebih kecil, program menampilkan pesan:

Terlalu kecil!

Jika tebakan terlalu besar:

Terlalu besar!

Sedangkan jika benar:

Selamat!
Anda berhasil menebak angka.

Program akan terus berjalan menggunakan perulangan do while hingga angka berhasil ditebak.


Contoh Output

==============================
      GAME TEBAK ANGKA
==============================
Tebak angka dari 1 sampai 100.

Masukkan tebakan Anda : 40
Terlalu kecil!

Masukkan tebakan Anda : 75
Terlalu besar!

Masukkan tebakan Anda : 61
Terlalu kecil!

Masukkan tebakan Anda : 68

Selamat!
Anda berhasil menebak angka.
Jumlah percobaan : 4

Penjelasan Konsep C++ yang Digunakan

1. Variabel

Program menggunakan beberapa variabel.

int angkaRahasia;
int tebakan;
int percobaan;

Masing-masing memiliki fungsi berbeda, yaitu menyimpan angka rahasia, tebakan pemain, dan jumlah percobaan.


2. Percabangan

Percabangan digunakan untuk menentukan respon program.

if
else if
else

Dengan percabangan, program dapat memberikan petunjuk kepada pemain.


3. Perulangan

Perulangan memastikan permainan terus berlangsung sampai pemain berhasil.

do
{
    ...
}
while(tebakan != angkaRahasia);

4. Random Number

Bagian berikut digunakan untuk menghasilkan angka acak.

rand() % 100 + 1

Artinya angka yang dihasilkan berada pada rentang 1–100.


Cara Mengembangkan Game

Setelah memahami program dasar di atas, Anda dapat menambahkan berbagai fitur agar permainan menjadi lebih menarik.

Beberapa ide pengembangan:

  • Menambahkan pilihan tingkat kesulitan.
  • Memberikan batas maksimal jumlah percobaan.
  • Menampilkan skor pemain.
  • Menambahkan fitur bermain lagi tanpa menutup program.
  • Menambahkan timer agar permainan lebih menantang.
  • Menyimpan skor tertinggi ke dalam file.
  • Membuat tampilan menu utama.

Dengan fitur-fitur tersebut, game sederhana dapat berkembang menjadi proyek C++ yang lebih kompleks.


Kesalahan yang Sering Dilakukan Pemula

Saat membuat game tebak angka, beberapa kesalahan yang sering terjadi antara lain:

  • Lupa menambahkan srand(time(0)); sehingga angka acak selalu sama.
  • Salah menggunakan operator perbandingan.
  • Tidak memperbarui jumlah percobaan.
  • Salah menempatkan kurung kurawal.
  • Menggunakan = padahal seharusnya ==.

Memahami kesalahan-kesalahan tersebut akan membantu Anda lebih cepat menguasai pemrograman C++.


Kesimpulan

Membuat game tebak angka menggunakan C++ merupakan latihan yang sangat baik bagi pemula karena menggabungkan berbagai konsep dasar dalam satu proyek sederhana. Melalui latihan ini, Anda belajar menggunakan variabel, input dan output, percabangan, perulangan, serta fungsi pembangkit angka acak.

Setelah berhasil membuat program ini, Anda dapat melanjutkan ke proyek lain yang lebih menantang, seperti kalkulator, sistem kasir, game batu-gunting-kertas, atau aplikasi CRUD sederhana. Semakin sering berlatih, semakin cepat kemampuan pemrograman C++ Anda berkembang.

FAQ

Apakah game tebak angka cocok untuk pemula?

Ya. Proyek ini sangat cocok karena mengajarkan konsep dasar C++ secara praktis dan mudah dipahami.

Mengapa menggunakan srand(time(0))?

Fungsi tersebut membuat angka acak yang dihasilkan berbeda setiap kali program dijalankan.

Bagaimana cara membatasi jumlah percobaan?

Anda dapat menambahkan kondisi pada perulangan untuk menghentikan permainan setelah mencapai jumlah percobaan tertentu, misalnya 10 kali.

Apakah program ini bisa dikembangkan menjadi game yang lebih menarik?

Tentu. Anda dapat menambahkan level kesulitan, sistem skor, timer, penyimpanan skor tertinggi, hingga antarmuka grafis menggunakan pustaka seperti SFML atau Qt.

Leave a Reply

Your email address will not be published. Required fields are marked *