Roulette-Problem
Übersicht

FCBkidBetreff: Roulette-Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe ein Roulette geproggt. Wenn man auf einzelne Zahlen setzt funktioniert alles. Doch wenn man auf rote oder schwarze Zahlen setzt wird das Geld immer mehr egal ob die Farbe richtig oder falsch ist. In der Anleitung kann man Nachlesen wie man auf schwarze und rote Zahlen setzt. Links oben habe ich die Zufallszahl vom Roulette hingeschrieben, damit man testen kann ob alles funktioniert. Hier mein Code:
Cls Graphics 1024,768,32,2 SetBuffer BackBuffer() fontvariable = LoadFont (arial,20) SetFont fontvariable geld = 10000 .spielauswahl .roulette Cls FlushKeys Locate 400,240 Print "Roulette starten = 1" Locate 400,260 Print "Anleitung = 2" Locate 400,280 Print"Zurück zur Spielauswahl = 3" Locate 300,200 auswahl$ = Input ("Geben sie hier die Zahl der gewünschten Funktion ein: ") If auswahl$ = 1 Then .roulette2 Cls bildvariable = LoadImage ("Roulette/Roulette.png") DrawImage bildvariable,250,100 SeedRnd MilliSecs() zahl = Rand (0,36) Locate 0,20 Print "Vermögen: "+geld FlushKeys FlushKeys Locate 200,700 Print"Wenn Sie zurrück zum Menü wollen geben Sie als Zahl 37 ein und als Geld 0 " Locate 0,0 Print zahl Locate 0,40 x = Input ("Geben Sie hier die Zahl ein auf die sie setzen möchten. Die Zahl muss zwischen 0 und 36 liegen: ") FlushKeys Locate 0,60 y = Input ("Wie viel Geld möchten Sie auf diese Zahl setzen: ") If y > geld Then Locate 0,80 Print "Sie können nicht so viel Geld setzen" Delay 2000 Goto roulette2 EndIf If x = zahl Then Locate 0,80 Print "Sie haben auf die richtige Zahl gesetzt. Herzlichen Glückwunsch !" geld = geld - y geld = geld + (y*36) Delay 2000 Goto roulette2 ElseIf x = 37 Then Goto roulette ElseIf x = schwarz Then farbe = 1 Goto zahlen ElseIf x = rot Then farbe = 2 Goto zahlen Goto roulette2 Else geld = geld -y Cls Locate 350,200 Print"Sie haben auf die falsche Zahl getippt!!!" Locate 380,220 Print"Zahl Nr."+zahl Locate 470,220 Print"hat gewonnen" Delay 3000 Goto roulette2 EndIf ElseIf auswahl$ = 2 Then Cls Locate 100,100 Print "Wenn Sie auf eine einzelne Zahl setzten möchten, dann geben sie einfach im Spiel die Zahl ein" Locate 100,120 Print "Wenn Sie auf rote oder schwarze Zahlen setzen möchten, dann geben sie einfach rot oder schwarz ein" Delay 4000 Goto roulette ElseIf auswahl$ = 3 Then Goto Spielauswahl Else Cls Locate 300,200 Print "Sie haben eine ungültige Nummer gewählt" Delay 2000 Goto roulette EndIf .zahlen If zahl = 1 Then farbe2 = 1 ElseIf zahl = 2 Then farbe2 = 2 ElseIf zahl = 3 Then farbe2 = 1 ElseIf zahl = 4 Then farbe2 = 2 ElseIf zahl = 5 Then farbe2 = 1 ElseIf zahl = 6 Then farbe2 = 2 ElseIf zahl = 7 Then farbe2 = 1 ElseIf zahl = 8 Then farbe2 = 2 ElseIf zahl = 9 Then farbe2 = 1 ElseIf zahl = 10 Then farbe2 = 2 ElseIf zahl = 11 Then farbe2 = 2 ElseIf zahl = 12 Then farbe2 = 1 ElseIf zahl = 13 Then farbe2 = 2 ElseIf zahl = 14 Then farbe2 = 1 ElseIf zahl = 15 Then farbe2 = 2 ElseIf zahl = 16 Then farbe2 = 1 ElseIf zahl = 17 Then farbe2 = 2 ElseIf zahl = 18 Then farbe2 = 1 ElseIf zahl = 19 Then farbe2 = 1 ElseIf zahl = 20 Then farbe2 = 2 ElseIf zahl = 21 Then farbe2 = 1 ElseIf zahl = 22 Then farbe2 = 2 ElseIf zahl = 23 Then farbe2 = 1 ElseIf zahl = 24 Then farbe2 = 2 ElseIf zahl = 25 Then farbe2 = 1 ElseIf zahl = 26 Then farbe2 = 2 ElseIf zahl = 27 Then farbe2 = 1 ElseIf zahl = 28 Then farbe2 = 2 ElseIf zahl = 29 Then farbe2 = 2 ElseIf zahl = 30 Then farbe2 = 1 ElseIf zahl = 31 Then farbe2 = 2 ElseIf zahl = 32 Then farbe2 = 1 ElseIf zahl = 33 Then farbe2 = 2 ElseIf zahl = 34 Then farbe2 = 1 ElseIf zahl = 35 Then farbe2 = 2 ElseIf zahl = 36 Then farbe2 = 1 EndIf If farbe = 1 And farbe2 = 2 Then geld = geld +y Goto roulette ElseIf farbe = 2 And farbe2 = 1 Then geld = geld +y Goto roulette ElseIf farbe = 1 And farbe2 = 1 Then geld = geld -y Goto roulette ElseIf farbe = 2 And farbe2 = 2 Then geld = geld -y Goto roulette EndIf |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
das lässt sich vereinfachen:
Zitat: .zahlen
If zahl = 1 Then farbe2 = 1 ElseIf zahl = 2 Then farbe2 = 2 ElseIf zahl = 3 Then farbe2 = 1 ElseIf zahl = 4 Then farbe2 = 2 ElseIf za..... mit Code: [AUSKLAPPEN] zahl = 1-(zahl mod 2)+1
|
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
FCBkid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber es funktioniert trotzdem noch nicht !!! | ||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
nimm mir den gutgemeinten Ratschlag bitte nicht übel, aber willst du dich nicht lieber vorher an einem kleineren Projekt versuchen? | ||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
FCBkid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich fande deinen Ratschlag gut doch ich weiß immer noch nicht wie sich mein Problem beheben lässt. | ||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich auf eine Farbe setzen will komm ich immer zurück ins Hauptmenü ^^
Code: [AUSKLAPPEN] x = Input ("Geben Sie hier die Zahl ein auf die sie setzen möchten. Die Zahl muss zwischen 0 und 36 liegen: ")
x kann nur zahlenvariablen speichern. also kein "rot" Code: [AUSKLAPPEN] ElseIf x = schwarz Then...
ElseIf x = rot Then... die variablen rot und schwarz sind nicht definiert. Du solltest x zu einem string machen und hier anführungszeichen setzen. Ausserdem solltest du in deinem Code auf folgendes verzichten: Print, Input, Goto, Local btw. Bilder müssen nur einmal geladen werden und nicht in der Schleife Und bitte rücke deinen Code das nächste mal ein und verwende die code-tags im forum. Gruß, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
Gameprogman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um Input zu ersetzen hatte ich da mal ne Function moment...
Code: [AUSKLAPPEN] Function flex_input(x,y,maxwidth) ascii=GetKey() If KeyHit(58) Then feststell=feststell+1:If feststell=2 Then feststell=0 If ascii>31 And ascii<255 newsymbole$=Chr(ascii):If feststell=1 Then newsymbole$=Upper(newsymbole$) If StringWidth(textstring$+newsymbole$)<maxwidth Then textstring$=textstring$+newsymbole$ If KeyHit(14) And Len(textstring$)=>1 Then textstring$=Left(textstring$,Len(textstring$)-1) Color 255,255,255:Text x,y,textstring$+"_" End Function flex_input(xpos,ypos,maximale_text_länge) Ziemlich praktisch, erkennt z.b. auch die Feststelltaste^^ Ach ja, noch was: Nimm besser Funktionen in deinem Code her. |
||
www.bandradr.de ! Awesome ! |
FCBkid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jetzt bekommt man wenn man auf eine Farbe setzt immer abwechselnd geld dazu und geld abgezogen.
Code: [/code]Cls Graphics 1024,768,32,2 SetBuffer BackBuffer() fontvariable = LoadFont (arial,20) SetFont fontvariable geld = 10000 .roulette Cls FlushKeys Locate 400,240 Print "Roulette starten = 1" Locate 400,260 Print "Anleitung = 2" Locate 400,280 Print"Zurück zur Spielauswahl = 3" Locate 300,200 auswahl$ = Input ("Geben sie hier die Zahl der gewünschten Funktion ein: ") If auswahl$ = 1 Then .roulette2 Cls bildvariable = LoadImage ("Roulette/Roulette.png") DrawImage bildvariable,250,100 SeedRnd MilliSecs() zahl = Rand (0,36) Locate 0,20 Print "Vermögen: "+geld FlushKeys FlushKeys Locate 200,700 Print"Wenn Sie zurrück zum Menü wollen geben Sie als Zahl 37 ein und als Geld 0 " Locate 0,0 Print zahl Locate 0,40 x# = Input ("Geben Sie hier die Zahl ein auf die sie setzen möchten. Die Zahl muss zwischen 0 und 36 liegen: ") FlushKeys Locate 0,60 y = Input ("Wie viel Geld möchten Sie auf diese Zahl setzen: ") If y > geld Then Locate 0,80 Print "Sie können nicht so viel Geld setzen" Delay 2000 Goto roulette2 EndIf If x# = zahl Then Locate 0,80 Print "Sie haben auf die richtige Zahl gesetzt. Herzlichen Glückwunsch !" geld = geld - y geld = geld + (y*36) Delay 2000 Goto roulette2 ElseIf x# = 37 Then Goto roulette ElseIf x# = schwarz Then farbe = 1 Goto zahlen ElseIf x# = rot Then farbe = 2 Goto zahlen Goto roulette2 Else geld = geld -y Cls Locate 350,200 Print"Sie haben auf die falsche Zahl getippt !!!" Locate 380,220 Print"Zahl Nr."+zahl Locate 470,220 Print"hat gewonnen" Delay 3000 Goto roulette2 EndIf ElseIf auswahl$ = 2 Then Cls Locate 100,100 Print "Wenn Sie auf eine einzelne Zahl setzten möchten, dann geben sie einfach im Spiel die Zahl ein" Locate 100,120 Print "Wenn Sie auf rote oder schwarze Zahlen setzen möchten, dann geben sie einfach rot oder schwarz ein" Delay 4000 Goto roulette ElseIf auswahl$ = 3 Then Goto Spielauswahl Else Cls Locate 300,200 Print "Sie haben eine ungültige Nummer gewählt" Delay 2000 Goto roulette EndIf .zahlen If zahl = 1 Then farbe2 = 1 ElseIf zahl = 2 Then farbe2 = 2 ElseIf zahl = 3 Then farbe2 = 1 ElseIf zahl = 4 Then farbe2 = 2 ElseIf zahl = 5 Then farbe2 = 1 ElseIf zahl = 6 Then farbe2 = 2 ElseIf zahl = 7 Then farbe2 = 1 ElseIf zahl = 8 Then farbe2 = 2 ElseIf zahl = 9 Then farbe2 = 1 ElseIf zahl = 10 Then farbe2 = 2 ElseIf zahl = 11 Then farbe2 = 2 ElseIf zahl = 12 Then farbe2 = 1 ElseIf zahl = 13 Then farbe2 = 2 ElseIf zahl = 14 Then farbe2 = 1 ElseIf zahl = 15 Then farbe2 = 2 ElseIf zahl = 16 Then farbe2 = 1 ElseIf zahl = 17 Then farbe2 = 2 ElseIf zahl = 18 Then farbe2 = 1 ElseIf zahl = 19 Then farbe2 = 1 ElseIf zahl = 20 Then farbe2 = 2 ElseIf zahl = 21 Then farbe2 = 1 ElseIf zahl = 22 Then farbe2 = 2 ElseIf zahl = 23 Then farbe2 = 1 ElseIf zahl = 24 Then farbe2 = 2 ElseIf zahl = 25 Then farbe2 = 1 ElseIf zahl = 26 Then farbe2 = 2 ElseIf zahl = 27 Then farbe2 = 1 ElseIf zahl = 28 Then farbe2 = 2 ElseIf zahl = 29 Then farbe2 = 2 ElseIf zahl = 30 Then farbe2 = 1 ElseIf zahl = 31 Then farbe2 = 2 ElseIf zahl = 32 Then farbe2 = 1 ElseIf zahl = 33 Then farbe2 = 2 ElseIf zahl = 34 Then farbe2 = 1 ElseIf zahl = 35 Then farbe2 = 2 ElseIf zahl = 36 Then farbe2 = 1 EndIf If farbe = 1 And farbe2 = 2 Then geld = geld +y Locate 0,80 Print "Sie haben auf die richtige Farbe gesetzt. Herzlichen Glückwunsch !!!" Delay 2000 Goto roulette2 ElseIf farbe = 2 And farbe2 = 1 Then geld = geld +y Locate 0,80 Print "Sie haben auf die richtige Zahl gesetzt. Herzlichen Glückwunsch !!!" Delay 2000 Goto roulette2 ElseIf farbe = 1 And farbe2 = 1 Then geld = geld -y Cls Locate 350,200 Print"Sie haben auf die falsche Farbe getippt !!!" Delay 2000 Goto roulette2 ElseIf farbe = 2 And farbe2 = 2 Then geld = geld -y Cls Locate 350,200 Print "Sie haben auf die falsche Farbe getippt !!!" Delay 2000 Goto roulette2 EndIf |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
# ist float -.-
$ ist für strings ich kann dir nur nochmal ans herz legen, dass du dich erst an einem kleinerem Projekt versuchen solltest. der code-tag funktioniert übrigens so: Code: [AUSKLAPPEN] [code]
Print "Hier kommt der BB code" [/code] so schwer kann das doch nicht sein. |
||
FCBkid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe die Floats in String umgewandelt. Jetzt funktioniert jedoch gar nichts mehr !
Code: Code: [AUSKLAPPEN] Cls .Spielauswahl Graphics 1024,768,32,2 SetBuffer BackBuffer() fontvariable = LoadFont (arial,20) SetFont fontvariable geld = 10000 .roulette Cls FlushKeys Locate 400,240 Print "Roulette starten = 1" Locate 400,260 Print "Anleitung = 2" Locate 400,280 Print"Zurück zur Spielauswahl = 3" Locate 300,200 auswahl$ = Input ("Geben sie hier die Zahl der gewünschten Funktion ein: ") If auswahl$ = 1 Then .roulette2 Cls bildvariable = LoadImage ("Roulette/Roulette.png") DrawImage bildvariable,250,100 SeedRnd MilliSecs() zahl = Rand (0,36) Locate 0,20 Print "Vermögen: "+geld FlushKeys FlushKeys Locate 200,700 Print"Wenn Sie zurrück zum Menü wollen geben Sie als Zahl 37 ein und als Geld 0 " Locate 0,0 Print zahl Locate 0,40 x$ = Input ("Geben Sie hier die Zahl ein auf die sie setzen möchten. Die Zahl muss zwischen 0 und 36 liegen: ") FlushKeys Locate 0,60 y = Input ("Wie viel Geld möchten Sie auf diese Zahl setzen: ") If y > geld Then Locate 0,80 Print "Sie können nicht so viel Geld setzen" Delay 2000 Goto roulette2 EndIf If x$ = zahl Then Locate 0,80 Print "Sie haben auf die richtige Zahl gesetzt. Herzlichen Glückwunsch !" geld = geld - y geld = geld + (y*36) Delay 2000 Goto roulette2 ElseIf x$ = 37 Then Goto roulette ElseIf x$ = schwarz Then farbe = 1 Goto zahlen ElseIf x$ = rot Then farbe = 2 Goto zahlen Goto roulette2 Else geld = geld -y Cls Locate 350,200 Print"Sie haben auf die falsche Zahl getippt !!!" Locate 380,220 Print"Zahl Nr."+zahl Locate 470,220 Print"hat gewonnen" Delay 3000 Goto roulette2 EndIf ElseIf auswahl$ = 2 Then Cls Locate 100,100 Print "Wenn Sie auf eine einzelne Zahl setzten möchten, dann geben sie einfach im Spiel die Zahl ein" Locate 100,120 Print "Wenn Sie auf rote oder schwarze Zahlen setzen möchten, dann geben sie einfach rot oder schwarz ein" Delay 4000 Goto roulette ElseIf auswahl$ = 3 Then Goto Spielauswahl Else Cls Locate 300,200 Print "Sie haben eine ungültige Nummer gewählt" Delay 2000 Goto roulette EndIf .zahlen If zahl = 1 Then farbe2 = 1 ElseIf zahl = 2 Then farbe2 = 2 ElseIf zahl = 3 Then farbe2 = 1 ElseIf zahl = 4 Then farbe2 = 2 ElseIf zahl = 5 Then farbe2 = 1 ElseIf zahl = 6 Then farbe2 = 2 ElseIf zahl = 7 Then farbe2 = 1 ElseIf zahl = 8 Then farbe2 = 2 ElseIf zahl = 9 Then farbe2 = 1 ElseIf zahl = 10 Then farbe2 = 2 ElseIf zahl = 11 Then farbe2 = 2 ElseIf zahl = 12 Then farbe2 = 1 ElseIf zahl = 13 Then farbe2 = 2 ElseIf zahl = 14 Then farbe2 = 1 ElseIf zahl = 15 Then farbe2 = 2 ElseIf zahl = 16 Then farbe2 = 1 ElseIf zahl = 17 Then farbe2 = 2 ElseIf zahl = 18 Then farbe2 = 1 ElseIf zahl = 19 Then farbe2 = 1 ElseIf zahl = 20 Then farbe2 = 2 ElseIf zahl = 21 Then farbe2 = 1 ElseIf zahl = 22 Then farbe2 = 2 ElseIf zahl = 23 Then farbe2 = 1 ElseIf zahl = 24 Then farbe2 = 2 ElseIf zahl = 25 Then farbe2 = 1 ElseIf zahl = 26 Then farbe2 = 2 ElseIf zahl = 27 Then farbe2 = 1 ElseIf zahl = 28 Then farbe2 = 2 ElseIf zahl = 29 Then farbe2 = 2 ElseIf zahl = 30 Then farbe2 = 1 ElseIf zahl = 31 Then farbe2 = 2 ElseIf zahl = 32 Then farbe2 = 1 ElseIf zahl = 33 Then farbe2 = 2 ElseIf zahl = 34 Then farbe2 = 1 ElseIf zahl = 35 Then farbe2 = 2 ElseIf zahl = 36 Then farbe2 = 1 EndIf If farbe = 1 And farbe2 = 2 Then geld = geld +y Locate 0,80 Print "Sie haben auf die richtige Farbe gesetzt. Herzlichen Glückwunsch !!!" Delay 2000 Goto roulette2 ElseIf farbe = 2 And farbe2 = 1 Then geld = geld +y Locate 0,80 Print "Sie haben auf die richtige Zahl gesetzt. Herzlichen Glückwunsch !!!" Delay 2000 Goto roulette2 ElseIf farbe = 1 And farbe2 = 1 Then geld = geld -y Cls Locate 350,200 Print"Sie haben auf die falsche Farbe getippt !!!" Delay 2000 Goto roulette2 ElseIf farbe = 2 And farbe2 = 2 Then geld = geld -y Cls Locate 350,200 Print "Sie haben auf die falsche Farbe getippt !!!" Delay 2000 Goto roulette2 EndIf |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ElseIf x$ = schwarz Then...
ElseIf x$ = rot Then ... schau dir die Abfrage mal genau an. Wenn du den fehler nicht findest, gehe ich mal davon aus, dass du die Grundlagen von BB und dem Programmieren überhaupt nicht verstanden hast, bzw dir noch nie ein Grundlagen-tut angesehen hast. daaaa: http://www.robsite.de/bbkurs2/index.htm |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
FCBkid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meinst du, dass man beim ersten elseif nur if schreiben muss? Das muss man nicht zwei Zeilen davor ist das erste if. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, er meint dass Du keinerlei Ahnung von Variablentypen und hier insbesondere Strings hast. Du weist einer Stringvariable undefinierte Integervariablen zu, und nicht etwa die Texte Schwarz oder Rot. Hier sind Gänsefüsschen das passende Stichwort.... | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
öhm wollte kelix nicht mal ein Casino-programm machen? ^^ | ||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt, und die IPs stimmen auch überein.
~GESCHLOSSEN~ |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group