* 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 } }