Java sax sten påse med GUI
Hej
Först jag vill att säga ursäkta med mitt språk eftersom jag är inte svensk man
Jag har skapat ett sax sten påse program i java med GUI
Jag har tre JButton med namn "Sten" "Sax" "Påse"
När man trycker på JButton, datorn ska ge ett slumptal mellan intervallet 1~3
Resultatet ska visas i JTextArea
Mitt kod ses ut så:
package Kapitel6;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Uppgift6_7 extends JFrame implements ActionListener{
JButton sten = new JButton("Sten");
JButton sax = new JButton("Sax");
JButton påse = new JButton("Påse");
JPanel p = new JPanel();
JPanel p2 = new JPanel();
JTextArea area = new JTextArea(10,60);
public Uppgift6_7(){
area.setFont(new Font("Monospaced", Font.PLAIN, 12));
p.setLayout(new FlowLayout());
p.add(sten); p.add(sax); p.add(påse); p2.add(area);
sten.addActionListener(this);
sax.addActionListener(this);
påse.addActionListener(this);
add(p, BorderLayout.NORTH);
add(p2, BorderLayout.SOUTH);
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
int slumptal;
int SAX = 1;
int STEN = 2;
int PÅSE =3;
int förlora = 0;
int vinna = 0;
if(e.getSource()==sax){
slumptal = ((int) Math.random()*3+1);
if(slumptal == STEN){
förlora++;
area.setText("Du har förlorat" + förlora + "gånger respektive" + vinna + "gånger");
}
if(slumptal == PÅSE){
vinna++;
area.setText("Du har vunnit" + vinna + "gånger respektive" + förlora + "gånger");
}
else
area.setText("DRAW!");
}
if(e.getSource()==sten){
slumptal = ((int) Math.random()*3+1);
if(slumptal == PÅSE){
förlora++;
area.setText("Du har förlorat" + förlora + "gånger respektive" + vinna + "gånger");
}
if(slumptal == SAX){
vinna++;
area.setText("Du har vunnit" + vinna + "gånger respektive" + förlora + "gånger");
}
else
area.setText("DRAW!");
}
if(e.getSource()==påse){
slumptal = ((int) Math.random()*3+1);
if(slumptal == SAX){
förlora++;
area.setText("Du har förlorat" + förlora + "gånger respektive" + vinna + "gånger");
}
if(slumptal == STEN){
vinna++;
area.setText("Du har vunnit" + vinna + "gånger respektive" + förlora + "gånger");
}
else
area.setText("DRAW!");
}
}
public static void main (String[] args){
Uppgift6_7 Upp = new Uppgift6_7();
}
}
Jag har två problem..
Första är antal vinna går inte högre än 1
Andra är när man trycker knappen Sten, program alltid visar att jag vann
Men när man trycker på påse eller sax, jag ser alltid!!!!! "Draw!"
Första problem det är inte så viktig, men andra problem jag måste lösa. Jag har tänkt kanske 2 timmar och fortfarande förstår inte varför visar det så???
Det blir jätte jätte jätte stor tack om någon hjälper mig!!