Friday, June 23, 2023

Kod Java Untuk Permainan Matematik

Berikut adalah contoh kode Java untuk permainan matematika dengan berbagai level dan mode:

```java
import java.util.*;

public class MathGame {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Selamat datang di permainan matematika!");
        System.out.println("Silakan pilih tingkat kesulitan:");
        System.out.println("1. Senang");
        System.out.println("2. Sederhana");
        System.out.println("3. Susah");
        int level = scanner.nextInt();
        System.out.println("Silakan pilih mode permainan:");
        System.out.println("1. Satu pemain");
        System.out.println("2. Dua pemain");
        int mode = scanner.nextInt();
        if (mode == 1) {
            playSinglePlayer(level);
        } else if (mode == 2) {
            playTwoPlayers(level);
        } else {
            System.out.println("Mode tidak valid");
        }
    }

    public static void playSinglePlayer(int level) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int score = 0;
        int numQuestions = 0;
        int maxQuestions = 10;
        int minNum = 0;
        int maxNum = 10;
        if (level == 1) {
            maxNum = 5;
        } else if (level == 2) {
            maxNum = 10;
        } else if (level == 3) {
            maxNum = 20;
        }
        while (numQuestions < maxQuestions) {
            int num1 = random.nextInt(maxNum - minNum + 1) + minNum;
            int num2 = random.nextInt(maxNum - minNum + 1) + minNum;
            int answer = num1 + num2;
            System.out.print(num1 + " + " + num2 + " = ");
            int guess = scanner.nextInt();
            if (guess == answer) {
                System.out.println("Benar!");
                score++;
            } else {
                System.out.println("Salah. Jawabannya adalah " + answer);
            }
            numQuestions++;
        }
        System.out.println("Selesai! Skor Anda adalah " + score + " dari " + maxQuestions + " pertanyaan");
    }

    public static void playTwoPlayers(int level) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int score1 = 0;
        int score2 = 0;
        int numQuestions = 0;
        int maxQuestions = 10;
        int minNum = 0;
        int maxNum = 10;
        if (level == 1) {
            maxNum = 5;
        } else if (level == 2) {
            maxNum = 10;
        } else if (level == 3) {
            maxNum = 20;
        }
        while (numQuestions < maxQuestions) {
            int num1 = random.nextInt(maxNum - minNum + 1) + minNum;
            int num2 = random.nextInt(maxNum - minNum + 1) + minNum;
            int answer = num1 + num2;
            System.out.println("Pertanyaan " + (numQuestions + 1));
            System.out.print("Pemain 1: " + num1 + " + " + num2 + " = ");
            int guess1 = scanner.nextInt();
            if (guess1 == answer) {
                System.out.println("Benar!");
                score1++;
            } else {
                System.out.println("Salah. Jawabannya adalah " + answer);
            }
            System.out.print("Pemain 2: " + num1 + " + " + num2 + " = ");
            int guess2 = scanner.nextInt();
            if (guess2 == answer) {
                System.out.println("Benar!");
                score2++;
            } else {
                System.out.println("Salah. Jawabannya adalah " + answer);
            }
            numQuestions++;
        }
        System.out.println("Selesai! Skor akhir:");
        System.out.println("Pemain 1: " + score1);
        System.out.println("Pemain 2: " + score2);
    }
}
```

Dalam kode di atas fungsi `playSinglePlayer` dan `playTwoPlayers` mengatur tata letak permainan sesuai dengan mode yang dipilih. Kode ini juga menyediakan tiga tingkat kesulitan di mana level 1 memiliki bilangan acak dengan rentang 0 hingga 5 level 2 memiliki bilangan acak dengan rentang 0 hingga 10 dan level 3 memiliki bilangan acak dengan rentang 0 hingga 20.

Gunakan fungsi `main` untuk meminta pengguna memilih mode dan tingkat kesulitan. Kemudian panggil salah satu fungsi permainan tergantung pada mode yang dipilih.

No comments:

Post a Comment