Ik ben momenteel bezig aan het spel blackjack in java, maar nu ben ik op een probleem gestoten dat ik zelf niet opgelost krijg.
probleemschets:
Hier worden de speler,de bank en de boek kaarten aangemaakt, dan wordt de boek kaarten gevuld. Daarna wordt de naam van de speler gevraagd en zijn naam en startbedrag worden op het scherm getoond. En dan worden de kaarten geschud. Tot hier gaat alles goed. Maar dan worden er een aantal knoppen zichtbaar gemaakt waarmee je je inzet kan bepalen.
met deze code:
Nu is het probleem dat vanaf dat het inzetpanel op het scherm verschijnt de main gewoon doorgaat en 2 kaarten uitdeelt aan de speler en de bank, terwijl dit eigenlijk pas mag gebeuren wanneer de speler op de "inzetten" knop gedrukt heeft en het inzetpanel dus terug verdwenen is. Weet er iemand hoe ik dit kan oplossen?
Alvast bedankt,
Aerandir
probleemschets:
Code:
bank = new Speler("bank",999999);
speler = new Speler("anoniem",1000);
boek = new Boek();
boek.vulBoek();
vraagNaam();
naam.setText(speler.getNaam());
bedrag.setText("Je hebt: "+speler.getBedrag());
boek.schudKaarten();
inzet();
for(int i=0;i<2 && verder == 1;i++)
{
speler.trekKaart(boek.deelKaart());
bank.trekKaart(boek.deelKaart());
}
met deze code:
Code:
public void inzet()
{
final JPanel inzetpanel = new JPanel();
infopanel.add(inzetpanel);
inzetpanel.setLayout(new GridLayout(3,2));
JButton tien;
JButton twintig;
JButton vijftig;
JButton max;
JButton inzetten;
JButton delete;
inzetpanel.setVisible(true);
inzetpanel.add(tien = new JButton("10"));
tien.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { speler.zetIn(10);potinfo.setText("je hebt " +speler.getPot()+ " ingezet");
}
});
inzetpanel.add(twintig = new JButton("20"));
twintig.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { speler.zetIn(20);potinfo.setText("je hebt " +speler.getPot()+ " ingezet");}
});
inzetpanel.add(vijftig = new JButton("50"));
vijftig.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { speler.zetIn(50);potinfo.setText("je hebt " +speler.getPot()+ " ingezet");}
});
inzetpanel.add(max = new JButton("max"));
max.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { speler.zetIn(100);potinfo.setText("je hebt " +speler.getPot()+ " ingezet");}
});
inzetpanel.add(inzetten = new JButton("inzetten"));
inzetten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { inzetpanel.setVisible(false);speler.nieuwBedrag();bedrag.setText("Je hebt: "+speler.getBedrag());
}
});
inzetpanel.add(delete = new JButton("delete"));
delete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { speler.zetIn(101);potinfo.setText("je hebt " +speler.getPot()+ " ingezet");}
});
}
Alvast bedankt,
Aerandir