# Pokerblätter ermitteln



## == != equals (15. Nov 2009)

Guten Abend Freunde der Sonne, 

eigentlich ist das was ich hier habe, keine Hausaufgabe, sondern ein Teil einer Java-Applikation, die ich entwickeln möchte und evtl. bereitstellen möchte. Sie ist aber etwas komplexer als dass sie in die anderen Foren passt. 

Ich habe ein int[7], die (Karten-)Zahlen von 1 bis 52 enthalten kann. 
Kreuz
1: 2
2: 3
...
11: Dame
12: König 
13: Ass

Karo
14: 2
15: 3
...
26: Ass

Herz
27: 2
...

Pik
40: 2
...
52: Ass

Nun möchte ich ermitteln, welches das beste Blatt daraus ist. 
Ich muss also Java suchen lassen, ob Zwillinge, Drillinge, Straßen usw. drin sind. 

Hab mir schon folgendes überlegt: 
Ich lasse ihn von unten zum wertvolleren gehen, also erst Zwilling, dann zwei Paare usw., und immer wenn er was findet überschreibt er das gefundene Blatt mit dem Fund im String. 
Aber wie suche ich z.B. einen Zwilling innerhalb von 7 Zahlen? 

```
String schonGefunden;
for(int i=1;i<=13;i++)
{
if(in_array(i,i+1)) schonGefunden="zwilling";
}
```
Gibt es sowas wie in_array in Java?

Danke für jeden Ansatz.


----------



## Michael... (16. Nov 2009)

Such mal hier im Forum, solche Pokergeschichten wurden schon ein paar mal hier behandelt. Ich würde empfehlen eine eigene Klasse zu schreiben, welche eine Karte representiert mit jeweils einem Attribut Farbe und Wert, diese steckt man in eine Liste und sortiert sie zum Prüfen auf Paare, Drillinge, Straße nach Wert und zum Prüfen auf Flush nach Farbe.
Aussdem würde ich perönlich mit der Prüfung beim wertvollsten Blatt anfangen, da Dich ja bei einem FullHouse der darin enthaltene Drilling und Zwilling nicht wirklich interessiert.


----------



## ARadauer (16. Nov 2009)

> Ich würde empfehlen eine eigene Klasse zu schreiben,


nein würd ich nicht machen... warum das Rad neu erfinden...

zum evaluieren der Hand http://spaz.ca/poker/UofAHandEval.zip inkl der Karten und hier gibts die Doku dazu Generated Documentation (Untitled)


----------



## Michael... (16. Nov 2009)

ARadauer hat gesagt.:


> nein würd ich nicht machen... warum das Rad neu erfinden...


Weil man vielleicht noch etwas lernen will ;-)


----------



## Painii (16. Nov 2009)

Michael... hat gesagt.:


> Weil man vielleicht noch etwas lernen will ;-)



Ich finds auch sinnvoll ne eigene Klasse zu schreiben, damit man besser in das OO-Konzept kommt (was ich besser finde als die 2 arrays die irgendwie die Kartennummern speichern, aber relativ unintuitiv - man braucht ja hier externe Spezifikation damit man weiss dass erst Kreuz und dann Karo kommt).


----------



## == != equals (16. Nov 2009)

Genau die versuche ich seit einer halben Stunde zu begreifen (habe ich über die Forensuche gefunden), da ich aber z.B. nicht verstehe wie die Karten reinkommen (also in welcher Struktur; weiß auch nicht wie ich die Java-Dateien in eclipse debuggen kann um zu sehen was passiert) und die Doku nur die Methoden kurz beschreibt, versuche ich mich jetzt schon selbst daran. Mal sehen, ob es klappt.


----------

