Roulette Programmieren (Mein können ist begrenzt)



  • Also ich mache gerade eine Ausbildung zum IT-Assistenten und ich habe seit einem halben Jahr C++ als Fach. Ich kann gerade mal if,else,while,do,define,in Datei schreiben,Aus datei lesen usw.

    Ich probiere mich gerade dabei Roulette zu schreiben. Ich weiss nur nicht wie ich die Farben festlege für die Einzelnen zahlen. Ich generiere mit der srand() funktion eine Zahl zwischen 1-37 und dann habe ich vorrher meinen Einsatz gemacht und in die Variable A getan. Dann vergleiche ich die beiden und wenn sie gleich sind gewinnt man. Nur wie ist das mit den Farben?? Ist das zu schwer zu Programmieren?


  • Mod

    Farben[36]={Weiss,rot,scharz,rot,scharz,rot,scharz...};
    Farbe = Farben[A];
    


  • Die Zahl mod 2 geht auch. Rot ist immer ungerade, schwarz ist immer gerade. Bei Null entsprechend aufpassen 😉



  • Cpp_Junky schrieb:

    Die Zahl mod 2 geht auch. Rot ist immer ungerade, schwarz ist immer gerade. Bei Null entsprechend aufpassen 😉

    falsch. schau genau hin



  • 😮 👍

    (edit)
    Das wirft alle meine Roulette-Systeme über den Haufen, die ich in den letzten 6 Jahren entwickelt habe. Dabei wollt ich morgen ins Casino und sie ausprobieren 😡 😃



  • Ahh Cool danke schonmal für die Hilfe.

    Aber wie mache ich nun die Abfrage wenn ich fragen will ob die Zahl rot oder schwarz ist. Was dann in der IF Klammer reinkommt weiss ich selbst. Is ja eine einfache mathematische sache.

    also

    if (Zahl==weiss)
    {
    //Einsatz entsprächend verdoppeln

    }

    Hat jemand eine Ahnung wieviel Bedingungen man beim If befehl benutzen darf? 3 oder 10 oder mehr?


  • Mod

    Tobi89 schrieb:

    Ahh Cool danke schonmal für die Hilfe.

    Aber wie mache ich nun die Abfrage wenn ich fragen will ob die Zahl rot oder schwarz ist. Was dann in der IF Klammer reinkommt weiss ich selbst. Is ja eine einfache mathematische sache.

    also

    if (Zahl==weiss)
    {
     //Einsatz entsprächend verdoppeln 
    
    }
    

    wenn du meinen code nimmst dann

    if(Farbe==weiss)
    {
    ...
    }
    

    Hat jemand eine Ahnung wieviel Bedingungen man beim If befehl benutzen darf? 3 oder 10 oder mehr?

    bis dein compiler explodiert



  • cool werde das mal alles Ausprobieren. Melde mich wenn ich noch fragen habe



  • So klappt schon fast alles.

    wüsste nur noch gerne ob man das irgendwie auch ausgeben kann. Also das da dann steht 18Rot.

    hab das bis jetzt so printf("Die Zahl ist: %i %i\n",A,farben[A]);

    Aber da gibt er nur eine lange nummer an. Ich möchte da aber rot,schwarz oder weiss stehen haben.

    danke schonmal für eure hilfe geht ja immer sehr schnell hier 🙂



  • namespace Roulette {
    
    enum Color {
        Red=0,
        Black,
        Green,
    };
    
    const Color g_fieldColor[37] = { ... };
    const std::string g_colorName[3] = { std::string("Red"), std::string("Black"), std::string("Green") };
    
    // ...
    
    void foo(unsigned a)
    {
        assert(a <= 36);
        Color c = g_fieldColor[a];
        printf("Number: %d (%s)\n", a, g_colorName[a].c_str());
    }
    
    } // namespace Roulette
    

    Ich hab zwar keine Ahnung ob in der Roulette-Fachterminologie "Grün" die richtige "Farbe" für die 0 ist, aber das kannste dann ja ausbessern wie es halt passt...



  • Geht das nur wie du es Beschrieben hast??

    Weil ich meine eigene Programmmierung auch verstehen sollte. Deshalb frage ich ob es auch einfach geht oder so.


  • Mod

    mach es doch so wie du es selber vorgeschlagen hast 😉

    if(Farbe==weiss)
     printf("Die Zahl ist: %i weiss\n",A);
    else
    if(Farbe==rot)
     ...
    else
    if(Farbe==schwarz
     ...
    


  • Neh, natürlich gibts noch 100 andere Möglichkeiten. Mach es so dass du es verstehst. War nur als Beispiel gedacht.



  • Ohh das hab ich 2x mal gesendet sry



  • Hmm er erkennt aber nicht was in farben[A] <-- auf der generierten stelle A ist.

    // Hier frage ich ja dannach was im kästchen A ist. Aber er meint das er keinen IF Befehl befolgen muss.

    if (farben[A]==rot)
            {
                printf("Die Zahl ist: %i Rot\n",A);
            }
            if (farben[A]==schwarz)
            {
                printf("Die Zahl ist: %i Schwarz\n",A);
            }
            else
            {
                printf("Die Zahl ist: %i Die Bank Gewinnt\n",A);
            }
    

    Hier die Programmierung für das feld Farben. Also nach dem .... kommt eben noch soviel rot,schwarz bis es 36 ergeben. Is da irgendwas falsch??

    farben[36]={weiss,rot,schwarz,.........}
    


  • Ich weiss nicht was ich verändert habe *leider* Aber aus irgendeinem grund geht es jetzt 🙂 endlich!!!!!!!!!!!! FREU



  • @tobi86
    Laut deines zuletzt angegebenen Konstrukts, gewinnt immer die Bank, so lange keine schwarze Zahl kommt oO, oder wird zu mindest so ausgegeben.



  • naja wie oben geschriebn hab ich das jetzt auch geändert und es klappt.


Anmelden zum Antworten