# eine straße im kartenspiel erkennen (algorithmus)



## Guest (21. Jun 2008)

hi,

ich habe sieben karten.
5 brauch man um eine straße zu erreichen.
die karten gehen von 2-Ass.
eine straße hat man eben immer mit 5 karten die jeweils eine wertsteigerung haben.
also beispielsweise 2,3,4,5,6 oder 8,9,10,j,q 
mit einem sonderfall: A,2,3,4,5 ist auch eine straße. K,A,2,3,4 aber nicht mehr!

so, ich habe die kartendaten in meinen  programm. dieses soll nun ermitteln, ob ich eine straße habe oder nicht.
wie mache ich das am besten (einfachsten)?


----------



## ABRAXAS (21. Jun 2008)

Wirds ein Simples Holdem oder ein 7-Cards-Stud?

also meine erste Idee Wäre die Karten zu sortieren und zu gucken ob die wertigkeiten eine Reihe bilden..wobei du bei J,Q,K, A einfach die wertigkeit weiter hoch zählen kannst. Also 2,3....9,10,11,12,13,14.
Dann muss man nur den Sonderfall des Wheels (A,2,3,4,5) noch prüfen da da das As ja sozusagen als "1" zählt.
Aber um zu testen ob man das As als 1 oder als 14 benutzt wird, benötigt man ja nur das überprüfen einer weiteren Karte ... ist die keine 2,3,4 oder 5 muss das As als 14 einsortiert werden.

Es gibt mit sicherheit noch andere Wege das zu prüfen, aber das ist mir so während des schreibens eingefallen ;P


----------



## Gelöschtes Mitglied 5909 (21. Jun 2008)

so zum beispiel:


```
public enum Value implements Comparable<Value> {
	
	Two(2), Three(3), Four(4), Five(5), Six(6), Seven(7), Eight(8), 
	Nine(9), Ten(10), Jack(11), Queen(12), King(13), Ace(1);
	
	int value;
	
	private Value(int value) {
		this.value = value;
	}

	@Override
	public String toString() {
		return name();
	}
	
	public int compareTo(Value o) {
		return (value < o.value) ? -1 : value == o.value ? 0 : 1;
	}
	
	public int getValue() {
		return this.value;
	}
	
	public boolean equals(Object o) {
		Value v = (Value) o;
		return compareTo(v) == 0;
	}

}

public boolean isStreet(Value[] values) {
	for (int i = 0; i < values.length - 1; i++) {
		if (values[i+1].getValue() - values[i+1].getValue() != 1) {
			return false;
		}
	}
	return true;
}
```


----------



## Guest (21. Jun 2008)

narf, sortieren ist natürlich am einfachsten...
danke euch beiden!


@ABRAXAS: stud natürlich


----------



## ABRAXAS (21. Jun 2008)

Anonymous hat gesagt.:
			
		

> @ABRAXAS: stud natürlich



schön zu hören ...wenn es denn mal läuft würd ich das gerne mal sehen


----------

