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:
Kurz zur Erläuterung, b steht für Bube, d für Dame, K für König (a für Ass). Den Trenner # benötige ich für andere Dinge. Das Literal cards: hier bilde ich einfach die Reihenfolge der Karten ab.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, 20: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
-
Ich gebe schon mal ein paar Vorlagen zum rauskopieren:Zitat von Abraxax Beitrag anzeigenSo ... Peter. Dein Einwand bitte hier: __________________________
- Kindeteller
- Erfahrung des Alters
=P
Kommentar
-
Kein Einwand meinerseits. Ich habe eine Lösung aber die sieht extrem dreckig aus und unset kriegt ja den Hals nicht vollZitat von Abraxax Beitrag anzeigenSo ... Peter. Dein Einwand bitte hier: __________________________
. Da dachte ich einfach mal, ich spann ihn ein. Ist aber nur was völlig Privates, aus einer Langeweile heraus entstanden.
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
-
Die würd ich aber mal gern sehenZitat von Kropff Beitrag anzeigenIch habe eine Lösung aber die sieht extrem dreckig aus
Kommentar
-
Schau ich mir morgen mal an. In Köln ist es derzeit drückend schwül, da kann ich nicht richtig denken.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
-
Höhö, nicht wirklich ^^ Wenn die Aufgabe ausschließlich an unset gerichtet war, beachte meine Lösung einfach gar nichtZitat von Kropff Beitrag anzeigenPS: Heißt du unset?
Kommentar
-
Wie gesagt, schaue ich mir morgen an. Wenn mir mein neuer Rechner nicht dazwischen kommt. Versuche seit 3 Stunden, Windows XP zu installieren, aber mir fliegen die Fehlermeldungen nur so um die Ohren und ich habe keine Ahnung was los ist.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
-
NÖ! Schon aus Prinzip nicht! Unter Ubuntu wird der Raid problemlos erkannt, nur XP zickt mal wieder herum. Brauche ich leider, wegen des verk***ten IE und diverser Spiele. Werd mal unseren Admin morgen nerven, der hat das ja zusammengebautZitat 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
Moderator
Kommentar