//Mengimport Method
import java.util.*;
import java.lang.*;
public class Animaletter {
//Deklarasi variable array yang berisi kata-kata pada "kumpulan kata" di sebuah string
private static String[] kumpulan_kata = {"giraffe","beaver","scorpion","rooster","horse","buffalo","mouse","monkey","bat","bear","fox","bee","bison","frog","camel","cat","cattle","spider","chicken","hedgehog","crab","crocodile","crow","deer","dog","elephant","gorilla","goat","snake","dragon","fish"};
//Proses
public static void main(String[] args) {
//Deklerasi String
String [] jawaban_benar = {"Benar!!","Benar Sekali","Anda Jenius"};
String [] jawaban_salah = {"Salah","Oops Salah!!","Salah lho"};
String [] kata;
String [] kata_cadangan;
//Dekelarasi scan untuk input data dari user
Scanner scan = new Scanner(System.in);
//Random kan string
Random string = new Random();
//Deklerasi varible integer
int i,diacak=0,z=0,panjang, banyak, nilai, ksmptn=5;
//Deklerasi charakter
char lanjut=0;
//Deklerasi Boolean untuk mendapatkan nilai true atau false
boolean output=true, proses=true, error=true;
//Tampilan Awal
System.out.println ("\n\n\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
System.out.println ("\t\t<\t\tGAME ANIMALETTER\t\t>");
System.out.println ("\t\t _______________________________________________\n\n\n");
System.out.print (" Peraturan:\n * Anda diberikan waktu 5 detik sebelum menjawab\n * Diberikesempatan 5x bila salah...\n\n");
//Memproses pada tujuan program
while(proses){
// Merandom indeks dari String setelah itu kata yang telah dirandom dipegang oleh "diacak"
diacak = string.nextInt(kumpulan_kata.length);
//Mengubah String ke Array
kata = kumpulan_kata[diacak].split("");
kata_cadangan = kumpulan_kata[diacak].split("");
//Mennetukan Panjang dari kata
for(panjang=0;panjang<kumpulan_kata[diacak].length();panjang++);{
banyak=panjang;
}
//Mengganti semua charakter menjadi '_'
for(i=0;i<kumpulan_kata[diacak].length();i++){
kata_cadangan[i] = "_";
}
//Menentukan banyak kapasitas kata yang akan di isi dan di kosongkan untuk game
if(banyak==3){
for(i=0;i<1;i++){
nilai = (int) (Math.random()*banyak);
kata_cadangan[nilai]=kata[nilai+1];
}
}
else if(banyak==4){
for(i=0;i<2;i++){
nilai = (int) (Math.random()*banyak);
kata_cadangan[nilai]=kata[nilai+1];
}
}
else if(banyak==5){
for(i=0;i<2;i++){
nilai = (int) (Math.random()*banyak);
kata_cadangan[nilai]=kata[nilai+1];
}
}
else if(banyak==6){
for(i=0;i<3;i++){
nilai = (int) (Math.random()*banyak);
kata_cadangan[nilai]=kata[nilai+1];
}
}
else if(banyak>=7){
for(i=0;i<4;i++){
nilai = (int) (Math.random()*banyak);
kata_cadangan[nilai]=kata[nilai+1];
}
}
System.out.println(kumpulan_kata[diacak]);
do{
System.out.println(" Kesempatan Anda: "+ksmptn);
//outputnya untuk Menampilkan kata yang telah dirandom
System.out.print(" Soal Tersedia "+banyak);
System.out.print(" Huruf Kecil: ");
for(i=0;i<kumpulan_kata[diacak].length();i++){
System.out.print( kata_cadangan[i]);
}
//untuk memberi jeda 5000 milidetik (5 detik)
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
System.out.print("\t 1");
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
System.out.print(" 2");
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
System.out.print(" 3");
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
System.out.print(" 4");
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
System.out.print(" 5 Silahkan Jawab!!!");
System.out.print("\n Ayo Ditebak Gan: "); // Meminta user untuk menebak kata
// Meminta user untuk menebak kata
Scanner scan2 = new Scanner(System.in);
String kata3 = scan2.nextLine();
/* Membandingkan apakah kata yang input user sesuai dengan kata yang ada */
if(kata3.equals(kumpulan_kata[diacak])){ //jika benar maka akan keluar dari looping do-while
int Benar = (int) (Math.random()*2+1);
System.out.println(" ==> " +jawaban_benar[Benar]);
output=false;
}
else{
int Salah = (int) (Math.random()*2+1);
System.out.println(" ==> "+jawaban_salah[Salah]+"\n"); //jika salah maka akan berulang
output=true;
ksmptn--;
if(ksmptn == 0){
System.out.println("\n Kesempatan Anda Habis!!!");
output=false;
}
}
}while(output);
/* Menanyakan user untuk melanjutkan permainan atau berhenti */
System.out.print("\n Apakah anda ingin melanjutkan (Y/T) : ");
lanjut = scan.next().toLowerCase().charAt(0); // Mengecilkan dan mengambail huruf dari user
//untuk melanjutkan permainan
if(lanjut=='y')
proses=true;
//untuk memberhentikan permainan
else if(lanjut=='t')
proses = false;
else //Jika User mengetik selain Y atau T maka program akan mengeluarkan peringatan dan meminta pilihan pada tombol yang benar
do{
System.out.print ("\n Maaf Pilihan anda Salah, Silahkan untuk pilih Y atau T: ");
Scanner scan3= new Scanner (System.in);
String next=scan3.nextLine(); //meminta inputan string dari user
if(next.equals("Y")||next.equals("y"))
break;
else if(next.equals("T")||next.equals("t")){
error=false;
proses=false;
}
else
continue;
}while(error);
}
//Tampilan Ketika Permainan di Berhentikan
System.out.print ("\n\n\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^\n");
System.out.print ("\t\t\t(\tGAME OVER\t)");
System.out.print ("\n\t\t\t _______________________\n\n\n\n");
}
}