Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema Morra

    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

    codice:
    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();
       }
    }
    mi potete dare una mano? grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Suggerisco la lettura del Regolamento interno per conoscere le modalità di posting del codice (uso dei tag CODE, punto 6 del regolamento linkato).

    In futuro cerca di usarli, per facilitare la lettura del codice a chi dovrà aiutarti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    ok grazie e scusate

  4. #4
    codice:
    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");
                    }
    d deve essere 2 cosi come hai dichiarato rand in Random(){}
    e quando è carta d deve essere 1

  5. #5
    ah è vero!!! che stupido che sono grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.