Kita akan membuat program untuk main suit. Permainan ini terdiri dari
dua pemain. Dalam permainan real, biasanya dua pemain mengadu suit
dengan saling menunjukkan jari. Hanya 3 jari yang boleh dipakai: jempol,
telunjuk, dan kelingking.
Peraturannya : Jempol menang lawan Telunjuk, Telunjuk menang lawan Kelingking, dan Kelingking menang lawan Jempol.
Dalam program ini, komputer adalah pemain pertama, sedangkan user
adalah pemain kedua. Komputer akan menggunakan perintah random() untuk
menghitung salah satu dari 3 pilihan. 0 berarti Jempol, 1 berarti
Telunjuk, dan 2 berarti Kelingking.
User akan diberikan pertanyaan untuk memasukkan J untuk Jempol, T
untuk Telunjuk dan K untuk Kelingking. Kemudian dengan pernyataan
switch, J, T, dan K akan diubah menjadi angka 0, 1, dan 2 seperti pada
komputer.
Hasil perhitungan komputer dan hasil input dari user akan
dibandingkan, kemudian hasilnya siapa yang menang akan ditampilkan di
layar.
=========================================================================
package mainsuit; import java.io.*; public class MainSuit { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // cetak aturan main dan input dari user System.out.println("Permainan suit"); System.out.println("=============="); System.out.println("Masukkan salah satu dari 3 kemungkinan :"); System.out.println("J untuk Jempol"); System.out.println("T untuk Telunjuk"); System.out.println("K untuk Kelingking"); System.out.println(""); // baris kosong // variabel untuk mengambil input dari user BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = null; // Kita gunakan pernyataan while hingga user betul // memasukkan salah satu dari J, T, atau K boolean inputvalid = false; int suitKomputer = 0; int suitUser = 0; // selama input tidak valid, jalankan perulangan ini while (!inputvalid) { System.out.print("Masukkan suit Anda "); try { input = br.readLine(); } catch (IOException ioe) { System.out.println("Kesalahan IO, program berhenti"); System.exit(1); } // pastikan bahwa user memasukkan sesuatu dengan mengecek // apakah panjang input > 0 // jika tidak, maka perulangan akan dilanjutkan if (input.length() > 0) { switch (input.charAt(0)) { case 'j' : case 'J' : suitUser = 0; inputvalid = true; // kita ganti inputvalid agar perulangan selesai break; case 't' : case 'T' : suitUser = 1; inputvalid = true; // kita ganti inputvalid agar perulangan selesai break; case 'k' : case 'K' : suitUser = 2; inputvalid = true; // kita ganti inputvalid agar perulangan selesai break; } } } // sekarang menghitung suit komputer // Math.random() menghasilkan nilai acak antara 0 dan 1 // jika kita kali 3, berarti menghasilkan nilai acak antara 0 dan 3 // perintah (int) untuk mengubah bilangan real menjadi bilangan bulat // dengan cara menghilangkan semua digit di belakang koma // misalnya 1.0232323 menjadi 1 suitKomputer = (int)(Math.random()*3); // suatu saat "mungkin" nilai random bernilai 3 // karena 3 tidak ada dalam suit kita, maka kita harus ubah menjadi // salah satu suit yang valid, yaitu 0, 1, atau 2 // dalam hal ini kita ganti jadi 2 if (suitKomputer == 3) { suitKomputer = 2; } // menghitung siapa yang menang switch (suitKomputer) { // jika komputer Jempol case 0: // cetak suit Komputer System.out.println("Suit komputer = Jempol"); switch (suitUser) { // jika user Jempol case 0: System.out.println("Seri"); break; // jika user Telunjuk case 1: System.out.println("Anda kalah"); break; // jika user Kelingking case 2: System.out.println("Anda menang"); break; } break; // dari switch(suitKomputer) // jika komputer Telunjuk case 1: // cetak suit Komputer System.out.println("Suit komputer = Telunjuk"); switch (suitUser) { // jika user Jempol case 0: System.out.println("Anda menang"); break; // jika user Telunjuk case 1: System.out.println("Seri"); break; // jika user Kelingking case 2: System.out.println("Anda kalah"); break; } break; // dari switch(suitKomputer) // jika komputer Kelingking case 2: // cetak suit Komputer System.out.println("Suit komputer = Kelingking"); switch (suitUser) { // jika user Jempol case 0: System.out.println("Anda kalah"); break; // jika user Telunjuk case 1: System.out.println("Anda menang"); break; // jika user Kelingking case 2: System.out.println("Seri"); break; } break; // dari switch(suitKomputer) } } }
==============================================================================
Listing program di atas dapat Anda unduh melalui zip file atau pada gudang SVN di alamat
by : http://java.lyracc.com
0 comments:
Posting Komentar