Hallo, ich würde gerne das Kartenspiel erstellen. Hab dafür Teile aus einem Buch übernommen. Das Nachprogrammieren macht aber einfach keinen Spaß, deshalb wollte ich selbst eine graphische Version bauen (in dem Buch die Version war für Konsole.)
Ich konnte erst in der Klasse Blackjack die Methode neues Spiel starten und mir wurden dann zwei Spielkarten angezeigt. Die Methode neue Karte (in Blackjack hat aber nie dazu geführt, dass eine dritte Karte angezeigt wurde. (Aktuell kann sie dies auch nicht)
Ich erhalte momentan gar keine Fehler in der Konsole angezeigt. Kann aber auch gar keine Karten sehen, lediglich die zwei Buttons.
Vielleicht sieht ja jemand das Problem. Danke
Ich konnte erst in der Klasse Blackjack die Methode neues Spiel starten und mir wurden dann zwei Spielkarten angezeigt. Die Methode neue Karte (in Blackjack hat aber nie dazu geführt, dass eine dritte Karte angezeigt wurde. (Aktuell kann sie dies auch nicht)
Ich erhalte momentan gar keine Fehler in der Konsole angezeigt. Kann aber auch gar keine Karten sehen, lediglich die zwei Buttons.
Vielleicht sieht ja jemand das Problem. Danke
Java:
import java.awt.Component;
import java.awt.Container;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BlackJack {
Spieler spieler, dealer;
private Kartenspiel kartenspiel;
private int einsatz;
private boolean spielläuft;
ArrayList<JButton> buttonlist = new ArrayList<>();
JPanel spielpanel;
JFrame spielframe;
public BlackJack() throws IOException {
kartenspiel = new Kartenspiel();
spieler = new Spieler("n", 500);
dealer = new Spieler("Dealer", 10000);
einsatz = 0;
spielläuft = false;
spielframe = new JFrame();
spielpanel = new JPanel();
JButton neuesSpiel = new JButton("neues Spiel");
neuesSpiel.addActionListener(e -> neuesSpiel());
JButton neueKarte = new JButton("neue Karte");
neueKarte.addActionListener(e -> neueKarte());
spielpanel.add(neueKarte);
spielpanel.add(neuesSpiel);
spielframe.add(spielpanel);
spielframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
spielframe.setVisible(true);
}
public void los() {
}
public Spieler getSpieler() {
return spieler;
}
public void klugscheisser() {
System.out.println("das ist wahnsinn");
}
public void setSpieler(Spieler spieler) {
this.spieler = spieler;
}
public Spieler getDealer() {
return dealer;
}
public void setDealer(Spieler dealer) {
this.dealer = dealer;
}
public int getEinsatz() {
return einsatz;
}
public void setEinsatz(int einsatz) {
this.einsatz = einsatz;
}
public boolean getSpielStatus() {
return spielläuft;
}
public void neuesSpiel() {
spieler.clear();
dealer.clear();
spieler.addKarte(kartenspiel.gibEineKarte());
dealer.addKarte(kartenspiel.gibEineKarte());
spieler.addKarte(kartenspiel.gibEineKarte());
dealer.addKarte(kartenspiel.gibEineKarte());
spielläuft=false;
JButton tempbutton;
while (spielläuft != true) {
for (int i = 0; i < spieler.getAnzahlKarten(); i++) {
tempbutton = new JButton();
tempbutton.setIcon(spieler.getKarte(i).bild);
spielpanel.add(tempbutton);
}
}
}
public void neueKarte() {
JButton tempbutton;
spieler.addKarte(kartenspiel.gibEineKarte());
tempbutton = new JButton();
spielpanel.add(tempbutton);
System.out.println("doenerstag ist Feiertag");
}
public void dealerIstDran() {
while ((dealer.aktuelleWertung() <= 16) && (dealer.getAnzahlKarten() < 5))
dealer.addKarte(kartenspiel.gibEineKarte());
}
public boolean erhoeheEinsatz() {
if (dealer.getGeld() > 50) {
dealer.setGeld(dealer.getGeld() - 50);
einsatz += 50;
} else {
System.out.println("Du hast die Bank pleite gemacht");
System.exit(1);
}
if (spieler.getGeld() > 50) {
spieler.setGeld(spieler.getGeld() - 50);
einsatz += 50;
return true;
}
return false;
}
public static void main(String[] args) throws IOException {
BlackJack blackjack = new BlackJack();
blackjack.neuesSpiel();
}
}