ach, hab mal keine so großen Erwartungen. Letzendlich wird das ganze bloß ein Konstrukt aus einem array (um die karten per index anzusprechen) und dem Modulo (um zu prüfen, welchen Wert sie hat).
Dabei werden die Variabeln mit dem entsprechenden Index einfach auf 0 (im Deck), 1 (der Dealer hat) oder 2 (der Spieler hat sie) gesetzt. Mit dem Modulo Operator finde ich dann ganz einfach heraus, welchen Wert sie hat.
Also, es gibt 13 verschiedene Karten je "Farbe", also nutzen wir Modulo 13.
Sagen wir also, Index 25 wurde gezogen:
25/13 = 1 Rest 12.
Demnach hat die gezogene Karte den Wert 12, ist also die Dame (11 = Bube, 12 = Dame, 13 = König). Bei 1 (Ass) hätte man die Wahl ob die Karte 1 oder 11 Punkte wert sein soll, kommt aber erst später bei der Berechnung zum Tragen.
Da ich jetzt keine Lust habe, mir irgendwelche Bilder anzuzeigen und solchen Schnickschnack, und ich mal wieder merke, wie beschränkt der Maker doch ist, stelle ich das hiermit ein!
Nochmal kurz gefasst. Wir reservieren uns die Variabeln mit dem Index von 1 - 52 (13 Karten je Farbe, 4 Farben, möchte man mit mehreren Decks spielen, muss man das komplette Set multiplizieren. Mit 2 Decks also 1-104, mit 3 Decks 1-156, usw). Diese werden vor jeder Runde genullt (auf 0 gesetzt), damit keine Rückstände übrig bleiben. Soll jetzt eine Karte gezogen werden, generieren wir uns eine Zufallszahl zwischen 1-x (52*Anzahl der Decks). Das ist unser Kartenindex. Mit diesem Index schauen wir dann nach, ob die Variabel noch auf 0 steht (ist noch im Deck), wenn nicht, generieren wir uns eine neue Zufallszahl, bis wir eine Karte gefunden haben (Schleife).
Nachdem das geschehen ist, gehen wir einfach durch die ganzen Variabeln durch, und rechnen zusammen, welche Variabeln auf 1 und welche auf 2 stehen. Wenn einer über 21 ist, hat derjenige verloren (kann man noch optimieren), wenn nicht über 21 Fragen, ob man noch eine Karte möchte. Wenn beide verneinen, aufdecken, zusammenzählen und vergleichen
Wie man die Werte ermittelt, habe ich ja oben bereits beschrieben.
Das wäre zumindest so mein erster Ansatz, wie ich sowas über die Maker Möglichkeiten umsetzen würde. In c++ wäre das nicht mehr als ein 20Zeiler :P
mfg