Untitled

mail@pastecode.io avatar
unknown
plain_text
23 days ago
5.8 kB
1
Indexable
Never
//Kreiranje brojeva na serverskoj strani
tblBrojevi.getModel().addTableModelListener(new TableModelListener() {
            @Override
            public void tableChanged(TableModelEvent e) {
                if(Kontroler.getInstanca().getBrojevi().size()>=3)
                {
                    JOptionPane.showMessageDialog(null, "Uneli ste 3 broja");
                }
                else{
                    int red=e.getFirstRow();
                    int kolona=e.getColumn();

                    TableModel model=(TableModel) e.getSource();
                    if(model.getValueAt(red, kolona)!=null)
                    {
                        int vrednost=(int) model.getValueAt(red, kolona);
                        Broj broj=new Broj(kolona, red, vrednost);
                        
                        boolean postoji=Kontroler.getInstanca().postoji(broj);
                        if(postoji)
                        {
                            model.setValueAt(null, red, kolona);
                            JOptionPane.showMessageDialog(null, "Broj je vec unet");
                        }
                        else
                        {
                            Kontroler.getInstanca().dodajBroj(broj);
                            if(Kontroler.getInstanca().getBrojevi().size()==3)
                            {
                                btnPokreniServer.setEnabled(true);
                            }
                        }
                    }
                    
                }
               
            }
        });


//Biranje brojeva na klijentskoj strani
private int brojPokusaja=0;
private int brojPogodjenih=0;//Da bi se znalo da li je pobedio

if(brojPokusaja<5)
        {
            JTable tabela=(JTable) evt.getSource();
            Point point=evt.getPoint();
            int red=tabela.rowAtPoint(point);
            int kolona=tabela.columnAtPoint(point);

            if(red!=-1 && kolona!=-1)
            {
                System.out.println("Koordinate "+red+" "+kolona);

                Broj broj=new Broj(kolona, red, -1);
                KlijentskiZahtev kz=new KlijentskiZahtev(Operacije.POGODI_BROJ, broj);
                Komunikacija.getInstanca().posaljiZahtev(kz);

                ServerskiOdgovor so=Komunikacija.getInstanca().primiOdgovor();
                Broj br1=(Broj) so.getOdgovor();

                //TableModel model=(TableModel) evt.getSource();
                if(br1==null)
                {
                    //model
                    tabela.setValueAt(-1, red, kolona);
                }
                else
                {
                    //model
                    tabela.setValueAt(br1.getVrednost(), br1.getRed(), br1.getKolona());
                    brojPogodjenih++;
                    if(brojPogodjenih==3)
                    {
                        JOptionPane.showMessageDialog(null, "Pobedili ste");
                        this.dispose();
                    }
                }

                brojPokusaja++;
            }
        }
        else
        {
            JOptionPane.showMessageDialog(null, "Izgubili ste");
            this.dispose();
        }


//Kontroler
public void dodajBroj(Broj broj) {
        brojevi.add(broj);
        System.out.println(brojevi);
    }
    
    public boolean postoji(Broj broj) {
        for(Broj br: brojevi)
        {
            if(br.getVrednost()==broj.getVrednost())
            {
                return true;
            }
        }
        return false;
    }

//Bingo
private int rb;
    private String kombinacija;
    private int brojPogodjenihNaMestu;
    private int brojPogodjenihVanMesta;
//private int rezultat;

private int id;
    private Date datumVreme;
    private String dobitnaKombinacija;
    private int brojPokusaja;
    private String rezultat;//Pobedio, ili izgubio
    private List<Igra> igra;

public void sacuvajIgru(RezultatIgre rezultat) {
        int idRezultata=-1;
        try {
            String upit="INSERT INTO rezultat(datumVreme, dobitnaKombinacija, brojPokusaja, rezultat) VALUES(?, ?, ?, ?)";   
            PreparedStatement ps=Konekcija.getInstanca().getKonekcija().prepareStatement(upit, Statement.RETURN_GENERATED_KEYS);
            
            java.sql.Timestamp datumTS=new java.sql.Timestamp(rezultat.getDatumVreme().getTime());
            ps.setTimestamp(1, datumTS);
            ps.setString(2, rezultat.getDobitnaKombinacija());
            ps.setInt(3, rezultat.getBrojPokusaja());
            ps.setString(4, rezultat.getRezultat());
            
            ps.executeUpdate();
            ResultSet rs=ps.getGeneratedKeys();
            if(rs.next())
            {
                idRezultata=rs.getInt(1);
            }
            
            String upit1="INSERT INTO igra(datumVreme, dobitnaKombinacija, brojPokusaja, rezultat) VALUES(?, ?, ?, ?)";   
            PreparedStatement ps1=Konekcija.getInstanca().getKonekcija().prepareStatement(upit1);
            
            for (Igra igra: rezultat.getIgra()) {
                ps1.setString(1, igra.getKombinacija());
                ps1.setInt(2, igra.getBrojPogodjenihNaMestu());
                ps1.setInt(3, igra.getBrojPogodjenihVanMesta());
                ps1.setInt(4, idRezultata);
                
                ps1.addBatch();
            }
            
            ps1.executeBatch();
            
            Konekcija.getInstanca().getKonekcija().commit();
        } catch (SQLException ex) {
            Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Leave a Comment