Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 15:42 Titel: würfelpoker - "stärkstes" erkennen ! |
|
|
hi leute, ich muss ein Würfel poker schreiben und hab folgende frage:
wie mache ich dass er zum schluss nur eben ein ergebnis ausgibt: also zb nur ein pärchen oder nur ein fullhouse etc. also dass er erkennt was das stärkste ist was gewürfelt wurde und das dann ausgibt ! weil wenn bei mir 5 gleiche sind printet er eben alles, vom pärchen bis zum grande ! habs mit 2 wegen versucht doch keines der beiden hat richtig gefunkt
thx im vorraus ! |
|
Nach oben |
|
 |
The real Agent D

Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 30.11.2006, 15:52 Titel: |
|
|
Die Würfel bekommen alle je eine Variable. Den Variablen werden Zufallszahlen zugewiesen. Dann wird ausgewertet. Die Sachen, die sich ähnlich sind, aber jede noch etwas zusätzlich braucht, werden hintereinander gesetzt und abgeprüft. Und zwas so, dass das mit am meisten zusätzlich hat, als erstes kommt. Ist es das, wird die Auswertung abgebrochen und des Ergebnis angezeigt. Ist es nicht das, wird die Auswertung abgebrochen.
mfg
The real Agent D |
|
Nach oben |
|
 |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 16:08 Titel: |
|
|
The real Agent D hat Folgendes geschrieben: | Die Würfel bekommen alle je eine Variable. Den Variablen werden Zufallszahlen zugewiesen. Dann wird ausgewertet. Die Sachen, die sich ähnlich sind, aber jede noch etwas zusätzlich braucht, werden hintereinander gesetzt und abgeprüft. Und zwas so, dass das mit am meisten zusätzlich hat, als erstes kommt. Ist es das, wird die Auswertung abgebrochen und des Ergebnis angezeigt. Ist es nicht das, wird die Auswertung abgebrochen.
mfg
The real Agent D |
ich glaub du hast mich falsch verstanden ! ich hab ja schon alle würfeln mit den zufalls zahlen usw. nur eben ich will machen dass er nur das stärkste ergebnis anzeigt. also wenn 3 gleiche sind dass er nicht pärchen und drilling anzeigt sondern nur drilling !
mfg |
|
Nach oben |
|
 |
The real Agent D

Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 30.11.2006, 16:13 Titel: |
|
|
korn3l hat Folgendes geschrieben: |
ich glaub du hast mich falsch verstanden ! ich hab ja schon alle würfeln mit den zufalls zahlen usw. nur eben ich will machen dass er nur das stärkste ergebnis anzeigt. also wenn 3 gleiche sind dass er nicht pärchen und drilling anzeigt sondern nur drilling !
mfg |
Ganu das hab ich dir gesagt. Du musst zu erst überprüfen, ob es drilling ist, dann, ob es ein Pärchen ist. Wenn es ein drilling ist, beenden der Überprüfung und anzeigen des Ergebnisses. |
|
Nach oben |
|
 |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 16:34 Titel: |
|
|
hmmm ja aber wie geht der code dass er aufhört zu überprüfen? also bei mir is das pärchen jetzt so:
Code: |
IF wurfel1% = wurfel2% OR wurfel1% = wurfel3% OR wurfel1% = wurfel4% OR wurfel1% = wurfel5% OR wurfel2% = wurfel3% OR wurfel2% = wurfel4% OR wurfel2% = wurfel5% OR wurfel3% = wurfel4% OR wurfel3% = wurfel5% OR wurfel4% = wurfel5% THEN
PRINT paar$
END IF
|
und ein teil vom drilling:
Code: |
IF wurfel1% = wurfel2% AND wurfel1% = wurfel3% THEN
PRINT drei$
END IF
|
mfg |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 30.11.2006, 16:50 Titel: |
|
|
Ist dir eigentlich klar, das du laut dem benutzerzähler(auf der startseite unten) der 1000 Nutzer bist?
Herzlichen Glückwunsch  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 16:58 Titel: |
|
|
programmierer hat Folgendes geschrieben: | Ist dir eigentlich klar, das du laut dem benutzerzähler(auf der startseite unten) der 1000 Nutzer bist?
Herzlichen Glückwunsch  |
stimmt hab ich erst jetzt bemerkt
dann muss doch jemand den code für mein poblem haben für den 1000 user  |
|
Nach oben |
|
 |
Key

Anmeldungsdatum: 03.10.2006 Beiträge: 95
|
Verfasst am: 30.11.2006, 17:01 Titel: |
|
|
erstmal herzlichen glückwunsch
Wenn du das mit ELSEIF machst dann geht das:
Code: |
IF wurfel1% = wurfel2% AND wurfel1% = wurfel3% THEN
PRINT drei$
ELSEIF wurfel1% = wurfel2% OR wurfel1% = wurfel3% OR wurfel1% = wurfel4% OR wurfel1% = wurfel5% OR wurfel2% = wurfel3% OR wurfel2% = wurfel4% OR wurfel2% = wurfel5% OR wurfel3% = wurfel4% OR wurfel3% = wurfel5% OR wurfel4% = wurfel5% THEN
PRINT paar$
END IF
|
so wird jetz zuerst abgefragt ob ein 3er vorhanden ist und erst wenn das NICHT der Fall ist wird nach nem paar gesucht |
|
Nach oben |
|
 |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 17:04 Titel: |
|
|
ok aber ich hab beim dreier und den anderen mehrere if, wie verbinde ich die mit einander ?
also :
Code: |
IF wurfel1% = wurfel2% AND wurfel1% = wurfel3% THEN
PRINT drei$
END IF
IF wurfel1% = wurfel2% AND wurfel1% = wurfel4% THEN
PRINT drei$
END IF
|
|
|
Nach oben |
|
 |
korn3l
Anmeldungsdatum: 30.11.2006 Beiträge: 13
|
Verfasst am: 30.11.2006, 17:19 Titel: |
|
|
ok bin selber draufkommen alles mit elseif
thx @ alle  |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 30.11.2006, 17:20 Titel: |
|
|
Ich hatte mal ein Kniffel in BlitzBasic geschrieben, das hier sind die Abfragen für die einzelnen Folgen.
Code: | If b7 = 3 And Punkte (spieler, 7) = -1 Then ;Dreierpasch prüfen
p = 0
dreier = False
For Wuerfel = Each Wuerfel
p = p + Wuerfel\w
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
If ww[Wuerfel\w] >= 3 Then dreier = True
Next
If dreier = False Then p = 0
Punkte(spieler, 7) = p
Return True
End If
If b8 = 3 And Punkte (spieler, 8) = -1 Then ;Viererpasch prüfen
p = 0
dreier = False
For Wuerfel = Each Wuerfel
p = p + Wuerfel\w
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
If ww[Wuerfel\w] >= 4 Then dreier = True
Next
If dreier = False Then p = 0
Punkte(spieler, 8) = p
Return True
End If
If b9 = 3 And Punkte (spieler, 9) = -1 Then ;Full House prüfen
p = 25
fullhouse = False
For Wuerfel = Each Wuerfel
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
Next
zwei = 0: drei = 0
For a = 1 To 6
If ww[a] >= 3 Then drei = 1 ElseIf ww[a] >= 2 Then zwei = 1
Next
If zwei < 1 Or drei < 1 Then p = 0
Punkte(spieler, 9) = p
Return True
End If
If b10 = 3 And Punkte (spieler, 10) = -1 Then ;Kleine Straße
p = 30
klstrasse = False
For Wuerfel = Each Wuerfel
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
Next
If (ww[3] >= 1 And ww[4] >= 1) And ( (ww[1] >= 1 And ww[2] >= 1) Or (ww[2] >= 1 And ww[5] >= 1) Or (ww[5] >= 1 And ww[6] >= 1) ) Then klstrasse = True
If Not klstrasse Then p = 0
Punkte(spieler, 10) = p
Return True
End If
If b11 = 3 And Punkte (spieler, 11) = -1 Then ;Große Straße
p = 40
grstrasse = False
For Wuerfel = Each Wuerfel
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
Next
If (ww[2] >= 1 And ww[3] >= 1 And ww[4] >= 1 And ww[5] >= 1) And (ww[1] >= 1 Or ww[6] >= 1) Then grstrasse = True
If grstrasse = False Then p = 0
Punkte(spieler, 11) = p
Return True
End If
If b12 = 3 And Punkte (spieler, 12) = -1 Then ;Chance
p = 0
For Wuerfel = Each Wuerfel
p = p + Wuerfel\w
Next
Punkte(spieler, 12) = p
Return True
End If
If b13 = 3 And Punkte (spieler, 13) = -1 Then ;Kniffel
p = 50
kniffel = False
For Wuerfel = Each Wuerfel
ww[Wuerfel\w] = ww[Wuerfel\w] + 1
If ww[Wuerfel\w] = 5 Then kniffel = True
Next
If kniffel = False Then p = 0
Punkte(spieler, 13) = p
Return True
End If |
Ist jetzt zwar kein reines QB, aber ich denke, man kann es auch als QBler einfach lesen...
Der komplette Code ist hier: http://www.blitzforum.de/upload/file.php?id=332
Und das kompilierte Spiel hier http://thomasdecker1.googlepages.com/wuerfel.exe[/url] _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
OdinX

Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 02.12.2006, 16:47 Titel: |
|
|
"SELECT CASE" ist in solchen fällen besser geeignet als "IF"... ist zumindes meine meinung.
mfg OdinX |
|
Nach oben |
|
 |
|