Yusuf

Program Permainan Tebak Angka Dengan Java

Program game tebak angka ini saya buat ketika mencoba memahami fungsi dari Math.random(). Jadi Anda harus memahami fungsi dari Math.random() terlebih dahulu agar bisa memahami program ini. Karena program ini menjadi asyik berkat angka acak dari fungsi tersebut.

Cara mainnya adalah user diminta untuk menebak angka acak. Jika salah menebak maka masih memiliki kesempatan lagi untuk menebak sampai kesempatan habis. Jawaban akan diberikan ketika user benar menebak ataupun salah menebak. Contoh output:

==== TEBAK ANGKA ====
Angka berkisar dari 1 sampai 50
Silahkan tebak angka berapa itu
Anda memiliki 5 kesempatan untuk menebak

masukkan angka : 25

angka anda lebih besar dari jawaban
masukkan angka : 17

angka anda lebih besar dari jawaban
masukkan angka : 10

angka anda lebih kecil dari jawaban
masukkan angka : 15

angka anda lebih besar dari jawaban
masukkan angka : 12

Selamat! Tebakan anda benar! jawabannya adalah 12 :D

Baiklah, berikut ini adalah source code program permainan tebak angka menggunakan bahasa java. Anda bisa mengubah batas awal dan batas akhir angka serta jumlah kesempatan menebak.

import java.util.Scanner;
 
/**
 * Program tebak angka
 * @author Yusuf
 * https://yusufmalikul.com
 */
public class TebakAngka {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int batasAwal = 1;
        int batasAkhir = 50;
        int kesempatan = 5;
        int jawaban = (int) (Math.random() * ((batasAkhir + 1) - batasAwal)) + batasAwal;
        int tebakan;
        boolean win = false;
 
        System.out.println("==== TEBAK ANGKA ====");
        System.out.println("Angka berkisar dari " + batasAwal + " sampai " + batasAkhir);
        System.out.println("Silahkan tebak angka berapa itu ");
        System.out.println("Anda memiliki " + kesempatan + " kesempatan untuk menebak");
        System.out.println();
 
        while (kesempatan != 0) {
            System.out.print("masukkan angka : ");
            tebakan = sc.nextInt();
            kesempatan--;
            if (tebakan < jawaban) {
                System.out.println("\nangka anda lebih kecil dari jawaban");
            } else if (tebakan > jawaban) {
                System.out.println("\nangka anda lebih besar dari jawaban");
            } else {
                win = true;
                break;
            }
        }
 
        if (win == true) {
            System.out.println("\nSelamat! Tebakan anda benar! jawabannya adalah " + jawaban + " :D\n");
        } else {
            System.out.println("\nMaaf, kesempatan anda telah habis! jawabannya adalah " + jawaban + " :P\n");
        }
    }
}