Kartenspiel: MauMau

Status
Nicht offen für weitere Antworten.

H2SO4

Bekanntes Mitglied
Hat vielleicht einer von euch schonmal ein Kartenspiel programmiert und hat somit ein paar Tipps zum Handling mit den Karten?

Wie verwalte ich die im Programm am besten? Es sollen am Ende ein ganz normales Blatt dabei herauskommen (32 Karten).
 

H2SO4

Bekanntes Mitglied
Habe ich auch schon dran gedacht, auch schon an Arrays und HashMaps.

Gibt es auch eine Möglichkeit zu einem Wert mehrere Einzelwerte zuspeichern?

Z.B.: HashMap map = new HashMap();
map,put("Karte1","7");

Nur eben mehr als ein Wert, vielleicht so etwas:

(Karte1, 7, Karo, func_2Ziehen);


Gibt es sowas?
 
B

Beni

Gast
Mach doch eine Klasse "Karte", dann hast du keine Probleme mit "wohin gehört jetzt dieser String schonwieder"...
 

H2SO4

Bekanntes Mitglied
Code:
public Kartenstapel()
{   
        karten.addElement(new Karte("Karo","Karo 7",7));
        karten.addElement(new Karte("Karo","Karo 8",8));
        karten.addElement(new Karte("Karo","Karo 9",9));
        karten.addElement(new Karte("Karo","Karo 10",10));
        karten.addElement(new Karte("Karo","Karo Bube",20));
        karten.addElement(new Karte("Karo","Karo Dame",10));
        karten.addElement(new Karte("Karo","Karo König",10));
        karten.addElement(new Karte("Karo","Karo Ass",11));
        karten.addElement(new Karte("Herz","Herz 7",7));
        karten.addElement(new Karte("Herz","Herz 8",8));
        karten.addElement(new Karte("Herz","Herz 9",9));
        karten.addElement(new Karte("Herz","Herz 10",10));
        karten.addElement(new Karte("Herz","Herz Bube",20));
        karten.addElement(new Karte("Herz","Herz Dame",10));
        karten.addElement(new Karte("Herz","Herz König",10));
        karten.addElement(new Karte("Herz","Herz Ass",11));
        karten.addElement(new Karte("Pik","Pik 7",7));
        karten.addElement(new Karte("Pik","Pik 8",8));
        karten.addElement(new Karte("Pik","Pik 9",9));
        karten.addElement(new Karte("Pik","Pik 10",10));
        karten.addElement(new Karte("Pik","Pik Bube",20));
        karten.addElement(new Karte("Pik","Pik Dame",10));
        karten.addElement(new Karte("Pik","Pik König",10));
        karten.addElement(new Karte("Pik","Pik Ass",11));
        karten.addElement(new Karte("Kreuz","Kreuz 7",7));
        karten.addElement(new Karte("Kreuz","Kreuz 8",8));
        karten.addElement(new Karte("Kreuz","Kreuz 9",9));
        karten.addElement(new Karte("Kreuz","Kreuz 10",10));
        karten.addElement(new Karte("Kreuz","Kreuz Bube",20));
        karten.addElement(new Karte("Kreuz","Kreuz Dame",10));
        karten.addElement(new Karte("Kreuz","Kreuz König",10));
        karten.addElement(new Karte("Kreuz","Kreuz Ass",11));
}

Jetzt gibt es aber schon wieder ein Problem:

wenn ich nun mit karten.get(0) mir das Objekt zurückgeben lasse und eine Methode dieses Objektes aufrufen will, dann geht das nicht (cannot resolve symbol)

Woran liegt das?
 

L-ectron-X

Gesperrter Benutzer
Entweder Du bastelst mit Generics (Java 1.5) einen Vector vom Typ Karte, dann kannst Du mit get() gleich ein Objekt om Typ Karte zurückgeben. Oder Du musst auf Karte casten, Weil ein "normaler" Vector mit get() nur Objekte zurückgibt.
Java 1.5:
Code:
Vector<Karte> Karten = new Vector<Karte>();
 

H2SO4

Bekanntes Mitglied
Ich habe im Forum nur zwei Beiträge zum thema casten gefunden, meinen und in dem anderen steht das selbe wie hier.

Was ist das also genau und wie funktioniert es?
 

L-ectron-X

Gesperrter Benutzer
Code:
Karte eineKarte = (Karte)Karten.get(i);
Diese Codezeile holt ein Objekt aus dem Vector und castet es in ein Objekt vom Typ Karte.
 
G

Gast

Gast
@H2SO4
hi
kannst du mir mal den quelltext von deinem spiel schicken? wuerde mir naemlich gerne ein paar anregungen zur verwirklichung eines kartenspiels holen...
thx
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben