Ciao scusate ma ho un problema con un programma che simula la morra
è ancora da finire però avevo fatto la cosa più importante cioè il JLabel dell'avversario cambia quando io scelgo o sasso o carta o forbici il problema è che se ad esempio premo forbici e l'avversario gioca a caso le forbici mi dice che ha vinto il giocatore questo è il codice
mi potete dare una mano? graziecodice:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Morra extends JFrame{ private JPanel Corpo=new JPanel(); private JPanel SegnaPunti=new JPanel(); private JPanel Pulsantiera=new JPanel(); private JTextField PGiocatore=new JTextField(2); private JTextField PComputer=new JTextField(2); private JLabel G=new JLabel("Giocatore"); private JLabel A=new JLabel("Avversario"); private JLabel Giocatore=new JLabel(); private JLabel Computer=new JLabel(); private JLabel Messaggio=new JLabel(""); private JButton Sasso=new JButton("sasso"); private JButton Carta=new JButton("carta"); private JButton Forbici=new JButton("forbici"); private JButton Resetta=new JButton("resetta"); private Ascoltatore listener=new Ascoltatore(); private int rand; private int d; public Morra(){ super("Morra"); SegnaPunti.add(G); SegnaPunti.add(PGiocatore); SegnaPunti.add(A); SegnaPunti.add(PComputer); Corpo.add(Giocatore); Corpo.add(Computer); Corpo.add(Messaggio); Pulsantiera.add(Resetta); Pulsantiera.add(Sasso); Forbici.addActionListener(listener); Pulsantiera.add(Carta); Carta.addActionListener(listener); Pulsantiera.add(Forbici); Sasso.addActionListener(listener); PGiocatore.setEditable(false); PComputer.setEditable(false); this.getContentPane().add(Pulsantiera,new BorderLayout().SOUTH); this.getContentPane().add(SegnaPunti,new BorderLayout().NORTH); this.getContentPane().add(Corpo,new BorderLayout().CENTER); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setSize(500,500); this.setBackground(Color.WHITE); this.setVisible(true); } public void Random(){ rand=(int)(Math.random()*3); if(rand==0){ Computer.setIcon(new ImageIcon("SassoDestra.jpg")); } if(rand==1){ Computer.setIcon(new ImageIcon("CartaDestra.jpg")); } if(rand==2){ Computer.setIcon(new ImageIcon("ForbiciDestra.jpg")); } } class Ascoltatore implements ActionListener{ public void actionPerformed(ActionEvent e){ if(e.getSource()==Sasso){ d=0; Giocatore.setIcon(new ImageIcon("SassoSinistra.jpg")); Random(); if((rand==d)){ Messaggio.setText("Pareggio"); }else if(rand==1){ Messaggio.setText("Vince il computer"); }else if(rand==2){ Messaggio.setText("Vince il giocatore"); } }else if(e.getSource()==Forbici){ d=1; Giocatore.setIcon(new ImageIcon("ForbiciSinistra.jpg")); Random(); if((rand==d)){ Messaggio.setText("Pareggio"); }else if(rand==0){ Messaggio.setText("Vince il computer"); }else if(rand==2){ Messaggio.setText("Vince il giocatore"); } }else if(e.getSource()==Carta){ d=2; Giocatore.setIcon(new ImageIcon("CartaSinistra.jpg")); Random(); if((rand==d)){ Messaggio.setText("Pareggio"); }else if(rand==0){ Messaggio.setText("Vince il computer"); }else if(rand==1){ Messaggio.setText("Vince il giocatore"); } } } } public static void main(String[] args){ new Morra(); } }

Rispondi quotando

