Anda di halaman 1dari 3

/*

* To change this template, choose Tools | Templates


* and open the template in the editor.
*/
package game_aja;
/**
*
* @author NASRUL_TAMRIN
*/
import java.util.Random;
import java.util.Scanner;
import java.lang.String;
public class TebakKata2 { // deklarasi variable array gidang lagu
private static String[] gudangKata = {"michaelfaraday", "cristianoronaldo","
lionelmessi", "markzuckerberg", "andyrubin","bayernmunich", "alberteinstein","ku
tu", "jetli"}; // deklarasi variable array kata kunci
private static String[] kataKunci = {"Penemu Listrik", "pemain bola bernomor
punggung 7 diReal Madrid", "Pemenang piala ballon d'or tahun 2013", "Penemu Fac
ebook", "Penemu Android","Sebutan lain dari bayern munchen","tokoh dunia","nama
panggilan mahasiswa ithb jurusan SK", "nama panggilan mahasiswa ithb jurusan EL"
};
public static void main(String[] args) {// deklarasi variable dan Class
Scanner scan = new Scanner(System.in);
Random rand = new Random();
int acak = 0;
int kesempatan;
String kataPilihan = "";
boolean ulangi = false;
boolean loncat = false;
char pilih = 0, jawab = 0;
String pilih2 = "";
String[] ubah;
boolean back;
do {// tempat jika ingin mengulang permainan
// tampilan utama
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(" Game Tebak Kata");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(" 1. anda akan diberi kesempatan menebak 8 kali ");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
lanjut(); // method untuk pemperhenti kompiler
acak = rand.nextInt(gudangKata.length); // pengacakan angka dengan angka maksim
al panjang gudangKata
kataPilihan = ""; // mereset String kataPilihan
kesempatan = 8; // memberi kesempatan 8x
ubah = gudangKata[acak].split(""); // mengubah String ke Array
for (int c = 0; c <= gudangKata[acak].length(); c++) { // mengganti semua kata
dengan simbol
ubah[c] = "-"; // proses penggantian
kataPilihan = kataPilihan.concat(ubah[c]); // proses yang sudah diganti di gabu
ngkan dalam kataPilihan
}
do { // tempat perulangan proses berlangsung permainan
System.out.println("\n kesempatan anda menebak : " + kesempatan); // untuk mena
mpilkan jumlah kesempatan menebak
System.out.println(" Kata Kunci : " + kataKunci[acak]); // untuk menamplikan ka
ta kunci sebagai pemandu penebakan
System.out.println(" Tebak kata apa ini : " + kataPilihan); // unutk menampilka
n kata yang harus ditebak
System.out.print(" Anda tebak : "); // inputan pilihan
pilih = scan.next().toLowerCase().charAt(0); // proses inputan
pilih2 = String.valueOf(pilih); // mengubah dari char ke String
kataPilihan = proses(kataPilihan, pilih2, acak); // memasukkan hal2 yang pentin
g ke dalam method proses
if (kataPilihan.equals(gudangKata[acak])) { // melakukan pengecekan apakah suda
h sama kata yang ditembak dengan kata yang sebenarnya
System.out.println("\n Selamat Anda Menang... ^_^"); // mencetak bahwa anda ber
hasil
break; // selesai dari permainan
}
if (gudangKata[acak].contains(pilih2)) { // apabila kata yang dinputkan mengand
ung unsur kata yang sebenarya maka perhitungan kesempatan diberhentikan
continue; // melompat ke akhir permainan
}
kesempatan--; // kesempatan berkurang satu apabija jawabannya salah
} while (kesempatan > 0); // berhenti berulang apabila kesempatan habis
if(kesempatan==0 && !kataPilihan.equals(gudangKata[acak])){ // apabila kesempat
an habis dan tabakan salah maka akan mengeluarkan komentar
System.out.println("\n maaf, anda kurang beruntung!!"); // komentar
System.out.println(" Jawaban yang benar adalah : "+gudangKata[acak]+"\n\n"); //
komentar dan pemberitahuan jawaban yang benar
lanjut(); // proses pemberhentian sementara
}
do { // tempat melakukan perulangan jika salah input data
back = false; // nilai default fasle (tidak mengulang)
System.out.print("\n Apalah Anda ingin mengulanginya lagi [y/n]: "); // menampi
lkan pertanyaan
jawab = scan.next().toUpperCase().charAt(0); // proses input
System.out.println("\n"); // ganti baris 2 kali
if (jawab == 'Y') { // apabila menjawab Ya
ulangi = true; // maka akan mengulangi permainan lagi
} else if (jawab == 'N') { ////apabila menjawab tidak
ulangi = false;// maka akan meluar dari permainan
} else { // jika tidak ada dua2nya
back = true; // maka anda akan kembali intuk ditanyakan lgi apakah pertanyaan
}
} while (back); // mengulang apabila pemain salah memasukkan pilihan
} while (ulangi); // mengulang apabila pemain menginginkan untuk main lagi
penutupan(); //menampilkan kata perpisahan
}
private static String proses(String kataPilihan, String pilih2, int acak) { // m
etode proses kata
String[] ubah2 = gudangKata[acak].split(""); // mengubah string biasa ke String
Array untuk mengecek jawaban yang benar
String[] ubah = kataPilihan.split(""); // mengubah string biasa ke String Array
pada kata yang ditanyakan
kataPilihan = ""; // peresetan katabilihan supaya tidak tumpukan
for (int c = 0; c <= gudangKata[acak].length(); c++) { // melakukan perulangan
sebanyak gudanKata
if (ubah2[c].equalsIgnoreCase(pilih2)) { // mengecek apabila kata yang diinputk
an apakah sama dengan kata yang sebenarnya
ubah[c] = ubah2[c]; // mengisi kata yang blm diketahui dari kata yang sebenarny
a yang sesuai dengan yang diinputkan
}
kataPilihan = kataPilihan.concat(ubah[c]); // menggabungkan semua array menjadi
sebuah String
}
return kataPilihan; // mengembalikan nilai yang sudah diproses
}
public static void penutupan() { // menampilkan kata perpisahan biar lebih sopan
gtu...
System.out.println("\n\n\n\n\n\n\n");
System.out.println(" **********************************************************
********************");
System.out.println();
System.out.println(" -----########-------------------------##-----########-----
--------------------");
System.out.println(" ---##---------------------------------##-----##------##---
--------------------");
System.out.println(" -##-------------######---######---######-----##------##--#
#------##----####---");
System.out.println(" -##----######-##----##-##----##-##----##-----########-----
-##--##----##----##-");
System.out.println(" -##--------##-##----##-##----##-##----##-----##------##---
-##--##----########-");
System.out.println(" -####------##-##----##-##----##-##----##-----##------##---
-####------##-------");
System.out.println(" -----########-########-########---######-----########-----
---##--------######-");
System.out.println(" ----------------------------------------------------------
---##---------------");
System.out.println(" ----------------------------------------------------------
-##-----------------");
System.out.println();
System.out.println(" **********************************************************
********************");
System.out.println("\n\n");
}
public static void lanjut() { // untuk pemberhentian sementara
Scanner scan = new Scanner(System.in); // deklarasi class
char jawab=0; // deklarasi varialbe
do {// tempat melakukan perulangan jika menjawab salah
System.out.print(" Tekan \"c\" kemudian \"enter\" untuk melanjutkan..."); //men
ampikan kata
jawab = scan.next().toUpperCase().charAt(0); //memproses inputan
} while (jawab != 'C');// jika jawabnya tidak c maka akan mengulang
}
}

Anda mungkin juga menyukai