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....!!!
Sign up here with your email
1 komentar:
Write komentarmakasih buat infonya ya kak
Replymarkaindo
ConversionConversion EmoticonEmoticon