Hallo zusammen,
ich fange gerade mit Java an und komme von c++.
Für die Uni soll ich ein Programm schreiben, mit dem man Poker spielen kann. (Kenne mich leider auch null aus mit Poker ;D)
Aufgabe:
Kartendeck besteht aus den üblichen 52 Karten...
Verteilen der Karten:
So.. ich hab auch schon etwas gemacht. Ich habe eine Klasse: Karte geschrieben und eine Klasse: Deck. Jetzt brauch ich noch eine Klasse für die Spieler und eine für das Spielfeld.
Meine erste Frage: Ist mein Klassenkonzept Sinnvoll oder würdet ihr es anders machen?
zweite Frage: Die Klassen Deck und Karte funktionieren Problemlos. Die Klasse Spieler hat aber mindestens ein Fehler, wo ich dem Spieler Karten zuweisen möchte. Ich finde den Fehler leider nicht.
Für Hilfe wäre ich wirklich sehr Dankbar
Code:
ich fange gerade mit Java an und komme von c++.
Für die Uni soll ich ein Programm schreiben, mit dem man Poker spielen kann. (Kenne mich leider auch null aus mit Poker ;D)
Aufgabe:
Kartendeck besteht aus den üblichen 52 Karten...
Verteilen der Karten:
- Runde: Jeder Spieler erhält zwei verdeckte Karten.
- Runde: Es werden drei Karten offen auf den Tisch gelegt (Flop)
- Runde: Es wird eine weitere Karte offen auf den Tisch gelegt (Turn)
- Runde: Es folgt die letzte offene Karte (River)
- Am Ende werden von den Spielern ihre Karten aufgedeckt
So.. ich hab auch schon etwas gemacht. Ich habe eine Klasse: Karte geschrieben und eine Klasse: Deck. Jetzt brauch ich noch eine Klasse für die Spieler und eine für das Spielfeld.
Meine erste Frage: Ist mein Klassenkonzept Sinnvoll oder würdet ihr es anders machen?
zweite Frage: Die Klassen Deck und Karte funktionieren Problemlos. Die Klasse Spieler hat aber mindestens ein Fehler, wo ich dem Spieler Karten zuweisen möchte. Ich finde den Fehler leider nicht.
Für Hilfe wäre ich wirklich sehr Dankbar
Code:
Code:
import javax.swing.*;
import java.util.*;
class Spieler {
private String name;
private ArrayList<Karte> spielerKarten;
public void setName(String eingabeName) {
this.name = eingabeName;
}
public String getName() {
return this.name;
}
public void setSpielerKarten(Karte eingabeKarte) {
spielerKarten.add(eingabeKarte);
}
public ArrayList<Karte> getSpielerKarten() {
return this.spielerKarten;
}
}
class Karte {
private String farbe;
private String wert;
public Karte(String f,String w){
this.farbe = f;
this.wert = w;
}
public String getFarbe(){
return this.farbe;
}
public String getWert() {
return this.wert;
}
public String toString() {
return "[" + this.wert + " : " + this.farbe + "]";
}
}
class Deck {
private ArrayList<Karte> kartenDeck;
private String[] farben ={"Kreuz","Pik","Herz","Karo"};
private String[] werte ={"Ass","Koenig","Dame","Bube","10","9","8","7","6","5","4","3","2"};
public Deck() {
kartenDeck = new ArrayList<Karte>();
for(int i=0;i<farben.length;i++) {
for(int j=0;j<werte.length;j++) {
kartenDeck.add(new Karte(werte[j],farben[i]));
}
}
}
public void zeigeKartenDeck() {
for(int i=0;i<kartenDeck.size();i++) {
System.out.println(kartenDeck.get(i));
}
}
public Karte getKarteFromDeck(int i) {
return kartenDeck.get(i);
}
public void mischen() {
Collections.shuffle(kartenDeck);
}
public int getSizeOf() { return kartenDeck.size(); }
}
public class Main {
public static void main(String[] args) {
Deck meinDeck = new Deck();
meinDeck.mischen();
meinDeck.zeigeKartenDeck();
System.out.println("Anzahl der Karten im Deck: " + meinDeck.getSizeOf());
Spieler meinSpieler = new Spieler();
meinSpieler.setName(JOptionPane.showInputDialog("Name: "));
meinSpieler.setSpielerKarten(meinDeck.getKarteFromDeck(1));
meinSpieler.setSpielerKarten(meinDeck.getKarteFromDeck(2));
System.out.println(meinSpieler.getName() + " : " + meinSpieler.getSpielerKarten());
}
}