RPS in GUI
Hai semua, apa kabar? Ketemu lagi...:) Setelah postingan saya yang kemarin mengenai pembuatan program RPS pada java menggunakan Java NetBeans, kali ini saya juga masih tetap meggunakan Java NetBeans. Hari ini, saya mendapatkan kuliah Algoritma dan Pemrograman 2. Dan mulai hari ini, saya akan selalu mengikuti perkuliahan ini di laboratorium pemrograman Sistem Informasi (LPSI). Saya mendapatkan ujian mengenai pembuatan RPS lagi. Namun, kali ini lebih menantang. Saya harus menampilkannya dalam bentuk GUI (bingung). Namun pada akhirnya, saya masih belum maksimal dalam membuat program tersebut. Saya masih mengalami sedikit kesulitan dan kebingungan untuk menyelesaikan programnya. Sepulang dari kuliah, saya mencoba untuk menyelesaikan program tersebut dan akhirnya program tersebut selesai. Berikut adalah source code programnya:
import java.util.Random;
import javax.swing.JOptionPane;
/**
*
* @Muh. Idil Haq Amir
* www.idil810.blogspot.com
*/
public class RPS_GUI extends javax.swing.JFrame {
int skorUser=0;
int skorKom=0;
int loseUser=0;
int loseKom=0;
int draw=0;
public RPS_GUI() {
initComponents();
}
/** Creates new form RPS */
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
Batu = new javax.swing.JButton();
Gunting = new javax.swing.JButton();
Kertas = new javax.swing.JButton();
Exit = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
Batu.setText("Batu");
Batu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BatuActionPerformed(evt);
}
});
Gunting.setText("Gunting");
Gunting.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GuntingActionPerformed(evt);
}
});
Kertas.setText("Kertas");
Kertas.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
KertasActionPerformed(evt);
}
});
Exit.setText("Exit");
Exit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ExitActionPerformed(evt);
}
});
jLabel1.setText("RPS");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(Exit, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(Gunting, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(Batu, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(Kertas, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addGap(179, 179, 179)
.addComponent(jLabel1)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(30, 30, 30)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(Kertas)
.addComponent(Gunting)
.addComponent(Batu))
.addGap(74, 74, 74)
.addComponent(Exit)
.addContainerGap(136, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void GuntingActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Random random=new Random();
int kom=random.nextInt(3)+1;
rule("GUNTING", kom);
}
private void BatuActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Random random=new Random();
int kom=random.nextInt(3)+1;
rule("BATU", kom);
}
private void KertasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Random random=new Random();
int kom=random.nextInt(3)+1;
rule("KERTAS", kom);
}
private void ExitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new RPS_GUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton Batu;
private javax.swing.JButton Exit;
private javax.swing.JButton Gunting;
private javax.swing.JButton Kertas;
private javax.swing.JLabel jLabel1;
// End of variables declaration
public void rule(String input, int kom){
String com;
if(kom==1){
com="GUNTING";
}else{
if(kom==2){
com="BATU";
}else{
com="KERTAS";
}
}
JOptionPane.showMessageDialog(null,"Anda memilih : "+input
+"\nKomputer memilih : "+com);
if (input.equals(com))
{
JOptionPane.showMessageDialog(null,"Kamu beruntung...Hasilnya imbang!");
draw++;
result();
}
else if (input.equals("BATU"))
{
if (com.equals("GUNTING")){
JOptionPane.showMessageDialog(null,"Batu menghancurkan Gunting. Kamu menang!!");
skorUser++;
loseKom++;
result();
}else{
if (com.equals("KERTAS"))
JOptionPane.showMessageDialog(null,"Kertas membungkus Batu. Kamu kalah!!");
skorKom++;
loseUser++;
result();
}
}
else if (input.equals("KERTAS"))
{
if (com.equals("GUNTING")){
JOptionPane.showMessageDialog(null,"Gunting memotong Kertas. Kamu kalah!!");
skorKom++;
loseUser++;
result();
}else{
if (com.equals("BATU"))
JOptionPane.showMessageDialog(null,"Kertas membungkus Batu. Kamu menang!!");
skorUser++;
loseKom++;
result();
}
}
else if (input.equals("GUNTING"))
{
if (com.equals("KERTAS")){
JOptionPane.showMessageDialog(null,"Gunting memotong Kertas. Kamu menang!!");
skorUser++;
loseKom++;
result();
}else{
if (com.equals("BATU"))
JOptionPane.showMessageDialog(null,"Batu menghancurkan Gunting. Kamu kalah!!");
skorKom++;
loseUser++;
result();
}
}
}
public void result(){
JOptionPane.showMessageDialog(null,"Skor Anda adalah : "
+ "\nAnda Menang sebanyak "+skorUser+" kali"
+ "\nAnda Kalah sebanyak "+loseUser+" kali"
+ "\nSkor Komputer adalah : "
+ "\nKomputer Menang sebanyak "+skorKom+" kali"
+ "\nKomputer Kalah sebanyak "+loseKom+" kali"
+ "\nDraw sebanyak : "+draw+" kali");
}
}
Tampilan GUI dari RPS |
0 comments: