Poker - Strasse berechnen

Status
Nicht offen für weitere Antworten.
Z

Zero

Gast
Hallo Leute, ich habe schon mal geposted. nun ist mein Pokerkalkulator der die Wahrscheinlichkeiten ausrechnet schon fast fertig. Die Knacknuss habe ich mir für den Schluss aufbewahrt, nämlich die vorhandenen Karten in der Reihenfolge zu berechnen bzw. die Strasse zu berechnen.

Kurze Erklärung:
Eine Strasse ist wenn man fünf Karten in einer Reihenfolge hat.
nehmen wir an wir haben 5 Karten, davon befinden sich 4in einer Reihe zb: 3, 6, 7, 8, 9 nun muss ich die Anzahl der mir fehlenden Karten zu Strasse berechnen können, dies wären momentan 2 nämlich die Karten 5 oder 10, mit beiden Karten könnte ich eine Strasse haben

Maximal kann man 7 Karten haben, am anfang hat man 5 und dann kommen noch 2 dazu.

Weitere Problematik
es könnte auch vorkommen das ich in meinen karten ein oder sogar 2 paare habe und trotzdem könnte ich eine Strasse haben zb: 5, 6, 6, 7, 8 nun würden mir wieder 1 Karte zur Vollendung der Strasse fehlen doch die könnte am Anfang oder am Ende sein also benötige ich 2 Karten entweder die 4 oder die 9
ah ja und ich muss nicht wissen welche karte mir genau fehlt sonder nur die Anzahl der möglichen Karten zur Vollendung der Strasse, also hier sind es 2.

Es ist auch möglich das eine Karte in der Mitte fehlt, zb: 5, 6, 8, 9, 10 zur Vollendung der Strasse fehlt mir nun die 7 also nur 1 Karte

Meine Idee:
Mann müsste die Karten die Nebeneinader sind in paare unterteilen und von jedem Paar benötigt man dann den Max und den min wert eines Paares, ich glaube so könnte es gehen (bin mir aber nicht ganz sicher). Nur bin ich nicht in der Lage dies Umzusetzen

Kann mir jemand ein bisschen behilflich sein?


-Meine nach grösse sortierten Karten befinden sich in einem array: mycards.m_wert //m_wert ist der Wert der Karte von 02 - 14.

gescheiterter versuch (hab ich nur gepostet um einen kleinen einblick zu bekommen, die Variannte ist schrott und geht nicht, der fall wenn eine Karte in der mitte fehlt wird nicht richtig berücksicht auch wenn ein paar am ende ist geht es nicht wirklich):
Code:
		//Zahlen nebeneinander suchen
/*		for(int j=0; j<cards; j++){		//cards = anzahl der vorhandenen Karten
			
			if(mycards[j] != null && mycards[j+1] != null){
				
				//Nächste Karte - Vorherige
				if(mycards[j+1].m_wert -  mycards[j].m_wert == 1){
					straight++;
				}
				//Wenn ein paar zur straight mitgezählt werden soll
				if(		mycards[j+1].m_wert ==  mycards[j].m_wert && 
						mycards[j].m_wert -  mycards[j-1].m_wert == 1 &&
						mycards[j-1] != null ||
						mycards[j+1].m_wert ==  mycards[j].m_wert && 
						mycards[j+2].m_wert -  mycards[j+1].m_wert == 1 &&
						mycards[j+2] != null && mycards[j+1] != null){
					
					straight++;
				}
			
			}
		}*/
		
		//System.out.println("straight: " + straight);
 
Z

zero

Gast
Ich habs mir fast gedacht, dass sich niemand melden wird. na klar es benötigt zeit, aber es ist eine Herauserforderung. Ich habe schon Kopfschmerzen davon es ist wirklich recht kompliziert und bis jetzt habe ich noch niemanden gefunden der dieser Herauserforderung gewachsen ist.

versucht es wenigstens einmal.. wer gerade zuviel zeit hat.
 
B

bygones

Gast
intuitiver vorschlag:
karten in ein set hauen, dann hast du die problematik der paare nicht. Schaun obs 1. groß genug für eine straße ist bzw. dann überprüfen ob die elemente konsekutiv sind.
 

norman

Top Contributor
hm. was ist mit einem int[] alles = new int { 2,3,4,blabla,14 };
dann deine karten anschauen und die "zahlen" die du schon hast in einem boolean[] vermerken.
Code:
boolean[] karten = new boolean[alles.length];
for (int i=0; i<alles.length; i++) {
   if (habeKarteMitDiesemWert(i)) {
      boolean[i]=true;
   }
}
schließlich das boolean[] analysieren und schauen welche karte dir zu einer straße verhelfen könnte
Code:
public boolean habeStrasse() {
 for (int i=0; i<alles.length-4;i++) {
   if (boolean[i] && boolean[i+1] && boolean[i+2] && boolean[i+3] && boolean[i+4]) {
      return true;
   }
 }
 return false;
}

oder so? ???:L
 

Student

Top Contributor
Hallo,
vergiss nicht, dass auch AS 2, 3, 4, 5 eine Straße bilden. :idea:
(falls in Deinem Spiel überhaupt diese Möglichkeit besteht)

Nur der Vollständigkeit halber :).
 
Z

zero

Gast
Also norman, du hast nicht ganz ins schwarze getroffen. Deine Methode zeigt mir nur ob ich eine Strasse habe, die Problematik besteht jedoch in dem dass ich wissen muss wieviele Karten mir fehlen dass ich eine Strasse habe.

Wenn ich zB: 4,5, __ 7,8, und 12 habe fehlt mir nun die 6 und wie finde ich heraus welche Karte mir fehlt?? Es ist gar nicht so leicht
 

norman

Top Contributor
hm. dann würde ich sagen, zuerst musst du dein blatt nach kleinen straßen aus 2 karten durchsuchen (also 4,5 oder B,D oder A,2) ..

wenn du dann feststellen kannst dass zB zwischen kleineStrassen.getMax() und kleineStrassen[i+1].getMin() nur eine karte fehlt hast du zumindest diese möglichkeit herausgefunden.

wenn du eine dreierStrasse im blatt hast, schaust du ob eine der restlichen karten einen wert von (min-1) oder (max+1) hat. dann fehlt dir wieder die mitte.

analog bei 4erStraße.


nach dem schema gibt's dann aber eben jede menge if-else abfragen. wird sich aber nicht verhindern lassen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
PrograJan Poker Spiel ruückfrage Java Basics - Anfänger-Themen 2
S Poker Texas Hold em Java Basics - Anfänger-Themen 2
M Strasse und Huasnummer korrekt eingeben Java Basics - Anfänger-Themen 13
B Strasse und Hausnummer in String trennen? Java Basics - Anfänger-Themen 6
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8
L Durchschnitt in der Schleife berechnen Java Basics - Anfänger-Themen 11
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39
L Wochentag berechnen Java Basics - Anfänger-Themen 5
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ausdrücke berechnen Java Basics - Anfänger-Themen 2
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
P Quadrate berechnen Java Basics - Anfänger-Themen 3
S OOP Datumsunterschied in Tagen berechnen Java Basics - Anfänger-Themen 3
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Schaltjahre berechnen! Java Basics - Anfänger-Themen 1
A werte in einem String berechnen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben