Hendzcode

Heloo,

Heloo,

Hendzcode adalah website yang aku buat untuk mebagikan pengalaman serta wawasanku seputar pemrograman. Bahasa pemrograman yang aku tulis disini mungkin akan lebih ke arah web dan java. Tapi aku bukan profesional di bidang itu sih, cuma kebetulan hobi nulis aja, wakaka. Selain itu aku juga akan menulis tentang tema lain yang masih seputar IT.

Membuat Game Suit Batu Gunting Kertas (JAVA FOR NEWBIE)

Assalamualaikum kawan - kawan sanak famili, berjumpa lagi denganku power ranger merah hahaha. Oke kali ini aku mau nulis tutorial membuat game suit batu, gunting, kertas di java. Bagi yang belum tahu apa itu permainan suit batu,gunting, kertas coba cari di google. Nah bagi yang sudah tau ucapkan hamdalah bersama-sama, ALHAMDULILAH... oke gak usah banyak cincong lagi..!! Sourcecodenya udah ada dibawah, terus penjelasanya dibawahnya sourcecode, nah dibawah lagi ada...........ga ada apa - apa sih, tapi kalau dibawah perut ada...? jawab dalam hati ya :)

import java.util.Random;
import java.util.Scanner;

public class SuitGame {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String[] tangan = {"batu","gunting","kertas"};
  int batas, tangan_pem, tangan_mus;
  int main = 1;
  int score_pem = 0;
  int score_mus = 0;
  int putaran = 0;
  String pilih;
  
  Scanner scan = new Scanner(System.in);
  Random rand = new Random();
  
  do{
   System.out.print("mau main kagak? main(m) / gak(g): ");
   pilih = scan.nextLine();
   
   if (pilih.equalsIgnoreCase("m")){
    System.out.print("mau main berapa kali? Gak boleh > 7 : ");
    batas = scan.nextInt();
    
    while (putaran < batas && batas < 8 && batas !=0){
     System.out.print("\nketik\n1 => batu\n2 => gunting\n3 => kertas\npilhanmu: ");
     tangan_pem = scan.nextInt() - 1;
     tangan_mus = rand.nextInt(3);
     
     switch(tangan_pem){
      case 0:
      if (tangan_mus == 1){
       score_pem++;
      }else if (tangan_mus == 2){
       score_mus++;
      } 
      break;
      
      case 1:
      if (tangan_mus == 2){
       score_pem++;
      }else if (tangan_mus == 0){
       score_mus++;
      }
      break;
      
      case 2:
      if (tangan_mus == 0){
       score_pem++;
      }else if (tangan_mus == 1){
       score_mus++;
      }
      break;
     }
     System.out.println("anda memilih: " + tangan[tangan_pem] + " musuh: " + tangan[tangan_mus]);
     System.out.println("score sementara(pemain / musuh): " + score_pem + "-" + score_mus);
     putaran++;
    }
    System.out.println("\nScore Akhir: " + score_pem + "-" + score_mus);
    System.out.println("----------------------------------------------------------------------------");
   }else if (pilih.equalsIgnoreCase("g")){
    main = 0;
   }
  }while(main == 1);
  
  System.out.println("Bye...!!!");
 }

}

SCREENSHOT HASIL (KLICK UTK PERBESAR)



PENJELASAN KODING

String[] tangan = {"batu","gunting","kertas"};
int batas, tangan_pem, tangan_mus;
int main = 1;
int score_pem = 0;
int score_mus = 0;
int putaran = 0;
String pilih;
  
Scanner scan = new Scanner(System.in);
Random rand = new Random();

Kode diatas merupakan deklarasi variabel. Variabel String[] tangan digunakan untuk menyimpan nilai string untuk 3 kondisi yaitu "batu","gunting"dan"kertas". Variabel tersebut yang nantinya berperan untuk menampilkan kondisi yang dipilih pemain dan musuh. Variabel batas menyimpan berapa banyak giliran pada permainan. Sedangkan tangan_pem dan tangan_mus menyimpan angka yang nantinya angka ini digunakan sebagai indeks untuk mengambil nilai di variabel String[] tangan. Variabel score digunakan untuk menyimpan nilai pemain / musuh. Variabel putaran digunakan untuk memberi tanda putaran / giliran yang keberapa pada saat permainan berlangsung. Yang terakhir String pilih yang nantinya digunakan untuk memilih menu pada game (menunya cuma 2, pilih "main" ato "kagak", wkwk).

do{
...
}while(main==1)

Koding diatas bermaksud bahwa menu atau permainan pada game akan terus dijalankan (menjalankan program dibawah do) selama nilai main = 1 ato sampai pemain menekan tombol "g" atau udah kagak mau main, disini nilai main diisi 0.

System.out.print("\nketik\n1 => batu\n2 => gunting\n3 => kertas\npilhanmu: ");
tangan_pem = scan.nextInt() - 1;
tangan_mus = rand.nextInt(3);

Koding ini digunakan untuk memasukan pemain pilih batu gunting ato kertas. Sedangkan inputan musuh diambil dengan nilai acak 0 sampai 2. Karea rand.nextInt(3) berarti mengambil nilai acak 0 sampai 2, itu sebabnya tidak perlu dikurangi 1 seperti pada inputan pemain (tangan_pem) karena inputan usernya 1 sampai 3. Nilai ini nantinya digunakan untuk perbandingan dan sebagai penentu indeks mana yang akan digunakan di variabel String[] tangan.

switch(tangan_pem){
...
}

Nah, untuk menentukan siapa yang menang diambil kondisi pemain yaitu 0,1,2 terus dibandingin ma kondisi musuh. Nilai 0,1,2 juga berarti batu,gunting, kertas, (lihat indeks 0-2 di String[]tangan). Kalau pemain menang score pemain ditambah, nah kalau kalah?? lah kalau kalah ya score musuh yang ditambah. Gitu.

Oke, kawan - kawan sanak famili yang dimuliakan oleh saya sendiri, wkwkwk. Segitu aja dululah tutorialnya. Masih bingung? tanya aku, tapi kalau tetep bingung tanya google, masih bingung tanya sama rumput yang sedang bergoyang-goyang. Wasalamualaikum, daaaah....!!!
Previous
Next Post »

1 komentar:

Write komentar
Miliana
AUTHOR
16 November 2021 pukul 23.07 delete

makasih buat infonya ya kak

markaindo

Reply
avatar