Untitled
unknown
plain_text
2 years ago
5.8 kB
4
Indexable
//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);
}
}
Editor is loading...
Leave a Comment