M
Ich würde folgendes machen: Du baust erstmal einen struct für die karten
struct Karte
{
unsigned char Zahl;
unsigned char Farbe;
};
dann würd ich einen Vector nehmen, in den ich alle Karten die es gibt einfüge. Das ist sozuagen der Stapel. Dann würd ich eine Mischen-Funktion schreiben. Dadurch wird der Stapel gemischt. Dann würde ich für jeden Spieler eine Klasse anlegen, die einen Vector als private besitzt, wo die Handkarten gespeichert sind, sowie eine Funktion um Karten hinzuzufügen, evtl. noch entfernen (kommt auf das Spiel an) und natürlich eine funktion, um einen Spielzug durchzuführen. Darin muss festgelegt sein, welche Karte ausgespielt werden soll, diese Karte wird aus den Handkarten entfernt und auf einen Vector für gelegte Karten gepackt (evtl. auch eine Doppelt verkettete Liste). Jedes Spielerobjekt kann auf den gelegte Karten Vector eine Karte oben drauf legen, und ihn komplett lesen. Vom Stapel vektor kann jeder spieler nur die oberste Karte nehmen, sich das ganze jedoch nicht angucken. Dann kannst du beliebig viele Spieler deklariren und mischt zuerst, dann teilst du aus und rufst nacheinander deren Spielfunktion auf, bis das Spiel zu ende ist. Ich würd dir Maumau empfehlen das ist relativ simpel