black jack programmieren



  • hallo.

    ich hab da mal ne frage.
    also ich bin dabei black jack zu programmieren.
    undzwa...
    ich hab das so gemacht.
    bilder = 10 punkte
    ass = 1 punkt
    7,8,9,10 = die zahl eben - punkte

    so...ich addier alle zahlen und ziehe dann einfach 2 raus? ist das richtig?
    z.b
    int karte7 = 7; // 7 = 7 punkte...usw
    int karte8 = 8;
    int karte9 = 9;
    int karte10 = 10;
    int bilder = 10;
    int ass = 1;
    int karten;
    int karten = karte7 + karte8 + karte9 + karte10 + bilder + ass;
    int karte1;
    int karte2;

    das ganze durch 2 teilen, weil brauch ja 2 karten die ausgegeben werden. (karte 1, karte2)
    dann mit srand (random) int karte1, int karte2 mischen.
    und nu karte1 + karte 2 und daaaaaaannn hat man das was man an punkten raus hat.
    jetzt halt abfragen ob man nochmal mischen will oder nicht usw...
    stimmt das alles so?

    mfg
    d34n 🙂



  • Hi 3rr0r,
    ist es möglich, daß bei Black Jack das As 11 Punkte zählt?
    Bin zwar kein Kartenspieler aber, mir war da so.
    In einem solchen Programm würde sich wahrscheinlich der
    Einsatz eines struct lohnen.
    Ich fand die Idee als Übung sehr schön.
    Das Hauptproblem wird sein abzufragen, welche Karten schon vergeben sind.
    Einen kleinen, seeeeehr groben, Ansatz habe ich schon mal erarbeitet.

    #include <stdio.h>
    
    typedef struct {
        int As;
        int King;
        int Dame;
        int Bube;
        int i_10;
        int i_09;
        int i_08;
        int i_07;
    } Karten;
    
    int main()
    {
        int *pkarte = NULL;
    
        Karten Kreuz = {11, 4, 3, 2, 10, 9, 8, 7};
        Karten Pick  = {11, 4, 3, 2, 10, 9, 8, 7};
        Karten Herz  = {11, 4, 3, 2, 10, 9, 8, 7};
        Karten Karo  = {11, 4, 3, 2, 10, 9, 8, 7};
    
        pkarte = &Kreuz.As;
    
        printf("Du hast %d Punkte.", *(pkarte + 2));// pointer steuern
    
        getch();
        return 0;
    }
    


  • @azoikum
    Ass zählt 11 oder 1 je nachdem was besser ist für einen 😉

    Das rausfinden welche Karte schon vergeben ist, ist ganz einfach 😃

    Mach es hald einfach so wie im echten Leben. Du hast einen Kartenstapel, der wird gemischt und dann ziehst du von oben immer die Karten weg.
    Oder programmiermäßig ausgedrückt: Du hast ein Array in dem die Kartenwerte stehen. Dieses Array mischt du durch. Wenn es dann ums ziehen geht kannst du einfach einen Zähler laufen lassen. Die erste Karte hat z. B. den Index 0, die zweite den Index 1, usw. 😃

    Zum Mischen eines Integer-Arrays hätte ich sogar eine Funktion. Nur leider grad nicht greifbar...



  • @AJ,
    ich danke dir.
    Fand die Idee von 3rr0r ganz nett und werde es mal als nächstes
    Projekt angehen. Da werden mir deine Tipps sehr hilfreich sein.
    Im Moment arbeite ich noch an dem Kegelberechnungsprogramm (siehe Beitrag).
    Inzwischen berechnet es auch schon die Kugel, den Würfel, die Pyramide.
    Volumen und Oberfläche. Natürlich kommt da noch mehr hinzu.
    Für mich eine sehr schöne Übung mit Funktionen und switch.
    Bei Black Jack werde ich dann meine Übung auf Pointer und Pointerarithmetik
    ausdehnen. Ich übe schon fleißig mit Pointern und struct.
    Ich denke, daß es sehr wichtig ist, die Funktionsweise von Pointern
    zu verstehen.

    Gruß, azoikum. 🙂



  • azoikum schrieb:

    ...
    Ich denke, daß es sehr wichtig ist, die Funktionsweise von Pointern
    zu verstehen.
    ...

    Da liegst du vollkommen richtig 🙂

    Viel Erfolg beim BlackJack programmieren...


Anmelden zum Antworten