Ich nehme doch mal an, dass du die Funktion oder die Klasse bereit stellst, die die Karten ausgibt. Da muss man also schon wissen, wie die Daten ankommen!
Programmieraufgabe zur Nacht
Einklappen
X
-
-
Ach so. Ich stelle dir heute Abend mal die Daten zur Verfügung. Ist ein Pokerautomat, an dem ich gerade sitze.
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
So, vorab mal der Basiscode. Der Einfachkeit halber habe ich mal zwei Beispiele angegeben, die beliebig variiert werden können (da eine mögliche Straße eh sehr selten ist:
PHP-Code:function pokerFunction()
{
this.hand = new Array();
var self = this;
this.setCards = function()
{
// Dies wäre keine Straße
this.hand[0] = 'pik#8';
this.hand[1] = 'dame#10';
this.hand[2] = 'kreus#d';
this.hand[3] = 'herz#9';
this.hand[4] = 'pik#k';
// das schon
this.hand[0] = 'pik#8';
this.hand[1] = 'dame#10';
this.hand[2] = 'kreus#b';
this.hand[3] = 'herz#9';
this.hand[4] = 'pik#k';
}
function checkStreet()
{
// gibt die Karten zurück, die eine Straße bilden können
// Reihenfolge muss unbedingt eingehalten werden
}
}
var cards =
{
rank :
{
'2': 1, '3': 2, '4': 3, '5': 4, '6': 5, '7': 6, '8': 7,
'9': 8, '10': 9, 'b': 10, 'd': 11, 'k': 12, 'a': 13
}
}
Die Aufgabenstellung:
Mit möglichst wenig Code herauszufinden, ob man vier aufeinander folgende Karten hat. Dabei gilt, dass es zwei Möglichkeiten für eine komplette Straße geben muss, also eine passende Karte entweder am Anfang oder am Ende. Das bedeutet, dass Kombinationen wie 2,3,4,5,irgendwas und auch irgendwas,b,d,k,a, ausscheiden, da es jeweils nur eine Möglichkeit gibt. Es darf auch kein "Loch" da sein, obwohl eine Straße möglich wäre, also zum Beispiel 8,9,10,d,irgendwas.
Wichtig. Die Reihenfolge(!) der zurückgegebenen Karten darf sich gegenüber dem Array this.hand nicht ändern. Nur der numerische Index.
Bei Fragen einfach melden, ich zerbrech mir schon seit Tagen den Kopf über eine elegante Lösung. Spielt das mal mit diversen Kombinationsmöglichkeiten durch.
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
Hey Peter. Jetzt spannst du schon das Forum zum Lösen deiner Probleme ein ... Und unset merkt das noch nicht einmal.
EDIT:
Rechtschreibkorrekturen ... *gg*Zuletzt geändert von Abraxax; 30.06.2009, 21:41.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Ich merk das schon, aber Peter vorzuführen macht Spaß
Kommentar
-
So ... Peter. Dein Einwand bitte hier: __________________________INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Zitat von Abraxax Beitrag anzeigenSo ... Peter. Dein Einwand bitte hier: __________________________- Kindeteller
- Erfahrung des Alters
=P
Kommentar
-
Zitat von Abraxax Beitrag anzeigenSo ... Peter. Dein Einwand bitte hier: __________________________
Peter
PS. Wenn er eine gute Lösung hat, dann küsse ich seinen weißen behaarten Hintern (metaphorisch natürlich).Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
Zitat von Kropff Beitrag anzeigenIch habe eine Lösung aber die sieht extrem dreckig aus
Kommentar
-
Zitat von PHP-Desaster Beitrag anzeigenMeine Lösung ist im Anhang
Danke
Peter
PS: Heißt du unset?Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
Zitat von Kropff Beitrag anzeigenPS: Heißt du unset?
Kommentar
-
Zitat von PHP-Desaster Beitrag anzeigenHöhö, nicht wirklich ^^ Wenn die Aufgabe ausschließlich an unset gerichtet war, beachte meine Lösung einfach gar nicht
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
get a mac
Kommentar
-
Zitat von unset Beitrag anzeigenget a mac
Peter
PS. Wo bleibt deine(!) Lösung?Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
Kommentar