VB Roulette

  • Hi

    Wir haben ein großes Projekt angefangen bei dem jeder ein Casino-Spiel programmieren muss..

    Für mich wurde es das Roulette, ich glückspilz :cry: da wartet viel arbeit auf mich.

    Hab mir die regeln mal angeschaut und soweit verstanden, aber wie ich das programmieren soll weiß ich ehrlich gesagt nicht.

    1. Das Rad selbst zu programmieren, sodass es sich auch dreht und der ball in einer bestimmten stelle landet wird wohl nicht möglich sein oder?

    2. Wie kann ich eine Zeitbegrenzung einbauen, also das nach ca. 15 Sekunden in einem Label aufleuchtet "Nichts geht mehr!"? un der user dann nichts mehr setzen kann?

    3. wie kann ich ads überhaupt hinkriegen, dass z.b. wenn der user auf die zahl klickt das er dann den einsatz eingeben kann oder so und dann merkt sich der PC das?
    Oder noch besser wäre natürlich wenn man irgendwie mn´ünzen draufschieben könnte und das prog merkt das aber wie ?^^
    auch cool wäre wenn man auf eine zahl klicken könnte und dann unten in einem schieberegler den einsatz einstellen kann

    3.1 da fällt mir noch ein, wie krieg ich das hin das man max. einsatz bieten kann den man auch geld zur verfügung hat / wie krieg ich das überhaupt hin das sich das programm die anfangszahl merkt??

    4. Das ganze würde ich dann wahrscheinlich, weil ich für den Rest zu blöd bin, mit einem zufallsgenerator machen.

    Das heisst:

    Ein Textfeld/Label, in dem eine bestimmte Zahl von 0-36 angegeben wird.

    dann ein t/l (textfeld/label), wo er ermittelt ob diese zahl eine von 0-18 oder von 19-36 ist

    dann ein t/l, wo er ermittelt ob die zahl in der linken/mittleren/rechten spalte bzw. in einem bestimmten kästchen ist usw.

    dann eint/l, wo die farbe zufällig bestimmt wird.

    so das wäre wohl die einfachste variante, aber wie schaff ich es dann das er merkt auf welche zahlen ich gesetzt habe/wie kann ich den gewinn berechnen lassen/ ist das nicht eine heidenarbeit mit den ganzen gewinnformeln etc.?

    danke für eure hilfe.

    mfg

  • Naja, deine Lösungsansätze klingen alle so, als ob du nicht richtig weißt, wie du das angehen sollst.

    Dass euch aber euer Lehrer/Dozent die Aufgabe gestellt hat, ohne, dass ihr euch mit VB (welches 6, 2002, 2003, 2005, 2008?) vorher beschäftigt habt, mag ich nicht recht glauben.

    Was hast du für Vorwissen?

  • wir haben so sachen wie bahntickets etc.gemacht und zufallsgenerator, mehr nicht...

  • ok hab angefangen und folgende frage:

    Wie kann ich es machen das sich die Checkboxen, sozusagen "vergrauen" wenn label1 (=guthaben) = 0 ist, also das man ncihts mehr setzen kann? gleichzeitig sollten aber alle häkchen die schon gesetzt wurden bevor label1=0 wurde, erhalten bleiben.

    Dazu stellt sich die frage wie man schon wenn man eine checkbox anklickt, also ohne das ein button gedrückt wird, sich das guthaben im label schon verändern kann?

    danke im vorrau sund ich hoffe es ist so einigermaßen verständlich was ich will^^

  • ok hab angefangen und folgende frage:

    Wie kann ich es machen das sich die Checkboxen, sozusagen "vergrauen" wenn label1 (=guthaben) = 0 ist, also das man ncihts mehr setzen kann? gleichzeitig sollten aber alle häkchen die schon gesetzt wurden bevor label1=0 wurde, erhalten bleiben.

    Dazu stellt sich die frage wie man schon wenn man eine checkbox anklickt, also ohne das ein button gedrückt wird, sich das guthaben im label schon verändern kann?

    danke im vorrau sund ich hoffe es ist so einigermaßen verständlich was ich will^^


    Dazu wäre es schön zu wissen welches Programm du benutzt ;)

    Ansonsten obj.enabled = false; (sollte für vb stimmen ;))
    oder vllt obj->enabled = false;

    edit: oh sehe gerade, steht ja VB..

  • Das Label wirst du ja irgendwo in deinem Programmcode auf 0 setzen, d.h. dort wäre auch die Gelegenheit, die CheckBox auszugrauen.

    "Ausgrauen" kannst du eine CheckBox mit

    Code
    CheckBoxName.Enabled = False

    natürlich funktioniert das auch wieder andersrum

    Code
    CheckBoxName.Enabled = True

    Bei jeder VB-Version gibt es bei CheckBoxen ein Ereignis, das eintritt, wenn sich der "Angekreuzt"-Zustand ändert. CheckedChanged z.B. bei VB2002-2005 oder VB2008 mit Windows Forms.

  • ja hab visual basic 6.0

    danke für eure antwortne ich guck dann morgen mal in der schule...

    mfg

  • Ich programmiere nicht mit Visual Basic.
    Kann dir aber einpaar tipps geben.
    Du brauchst ein Timer
    Du brauchst ein Hintergrund(Dort wo die Zahlen zu sehen sind) Bild
    Du brauchst eine Kugel(Grafik)

    1. Das Rad selbst zu programmieren, sodass es sich auch dreht und der ball in einer bestimmten stelle landet wird wohl nicht möglich sein oder?

    Die Kugel sollte sich bewegen. Die Kugel zeichnest du mit den X, Y Koordinaten.
    Zeichne Kugel sin, cos, breite, höhe
    Der Timer sollte nun diese Kugel im Kreis drehen.

    2. Wie kann ich eine Zeitbegrenzung einbauen, also das nach ca. 15 Sekunden in einem Label aufleuchtet "Nichts geht mehr!"? un der user dann nichts mehr setzen kann?

    Mit Kontrollstrukturen. z.B. If (zeit == 15) then Label.Text = "Nichts geht mehr!"

    3. wie kann ich ads überhaupt hinkriegen, dass z.b. wenn der user auf die zahl klickt das er dann den einsatz eingeben kann oder so und dann merkt sich der PC das?
    Oder noch besser wäre natürlich wenn man irgendwie mn´ünzen draufschieben könnte und das prog merkt das aber wie ?^^
    auch cool wäre wenn man auf eine zahl klicken könnte und dann unten in einem schieberegler den einsatz einstellen kann

    Im Timer kannst du z.B. prüfen wo die Kugel stehen geblieben ist.
    Siehe Arrays und Variablen.

    3.1 da fällt mir noch ein, wie krieg ich das hin das man max. einsatz bieten kann den man auch geld zur verfügung hat / wie krieg ich das überhaupt hin das sich das programm die anfangszahl merkt??

    Mit einer If abfrage z.B.
    if ( einsatz < maxEinsatz) dann führe es aus.

    Informiere dich einwenig über Variablen, Arrays, Kontrollstrukturen, usw.
    Ohne die kannst du nicht programmieren ;)

  • danke, dass du mit deiner relativ dämlichen und absolut nicht
    hilfreichen antwort einen alten thread nochmal hochgeholt hast.

    bekommst n gummipunkt !

    :roll: