| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| mentally ill Registriert seit: Aug 2004
Beiträge: 172
| Rekursive Schleife
Hi, bastel gerade ein Minesweeper klone und hab probleme bei der "Freiraum-aufdeckung". hab diese funktion, welche für das übergebene Feld alle angrenzenden felder überprüft ob sie leer sind und wenn ja sie aufdeckt und ins return array schreibt. sie funktioniert auch super, nur komme ich jetzt bei der rekursiven schleifenprogrammierung nicht weiter, denn er soll mir alle zurückgegebenen felder wieder überprüfen. PHP-Code: dachte ich löse das so: PHP-Code: ![]() grüße markus
__________________ there is no place like 127.0.0.1 -------------------------------------------------- [STUFF] E-Mail Liste für Newsletter o.ä. [STUFF] MySQLConnector Klasse |
| | |
| | #2 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
?? was genau geht, und was geht nicht? Das aufdecken klappt, aber was willst du danach machen?? Ich würde vielleicht das Feld eher aus einem 2D-Array aufbauen, ich denke, das wäre eleganter...
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #3 (permalink) |
| poke Registriert seit: Dec 2002 Ort: Iserlohn [NRW]
Beiträge: 2.304
|
ich denke, du erreichst in Flash eine unendlichkeit mit deiner schleife.. weiß zwar grad nicht, warum, aber wenn du schon rekursiv arbeiten möchtest, dann tu das auch richtig und schreib den Funktionsaufruf in die Funktion rein. also so anstatt die Felder zurückzugeben sie einfach sofort zu überprüfen. dann hast du keine probleme mit arrays und schleifen. ActionScript:
evtl. reicht das ja schon |
| | |
| | #4 (permalink) |
| mentally ill Registriert seit: Aug 2004
Beiträge: 172
|
hi, @pokepika: danke für den tipp, evt. reicht das ja wirklich ![]() werde das heute abend mal ausprobieren und das ergebnis dann posten. @Janoscharlipp: die aus sich selbst herausaufrufende schleife funktioniert nicht. er soll für das übergebene feld(auf welches geklickt wurde) die FreeSpaces Funktion aufrufen und alle 8 felder drumrum auf leerstelle prüfen. wenn sie eine ist, soll er das feld aufdecken und wieder FreeSpaces aufrufen, allerdings diesmal mit dem dem Feld, welches gerade aufgedeckt wurde. u.s.w. hab ein 2D Array am anfang meines Codes(aMineField[y][x]), worin die werte der felder gespeichert sind. aber ob ich nun vom aktuellen feld die bezeichnung zersplitter und dann wieder für das aktuelle feld zusammen baue, oder ob ich erst das feld aus dem array suche und dann das array prüfe und danach die bezeichnung wieder zusammen setzte ist sinnfrei. (hab schon mehrere varianten durchprobiert) das aufdecken funzt ja auch, nur halt der automatismus nicht... grüße markus
__________________ there is no place like 127.0.0.1 -------------------------------------------------- [STUFF] E-Mail Liste für Newsletter o.ä. [STUFF] MySQLConnector Klasse |
| | |
| | #5 (permalink) |
| mentally ill Registriert seit: Aug 2004
Beiträge: 172
|
morgen ![]() die programmierung der rekursiven schleife geht vorran. danke für die hilfe. leider steckt der teufel im detail, die funktion ruft sich selbst zwar auf, aber nur partiziell. sprich er deckt nur teile der eigentlichen freifläche auf. klicke ich dann auf ein angrenzendes feld, welches ebendfalls leer ist, gehts wieder ein stück weiter. muß meine aufdeck funktion nochmal überdenken. grüße markus
__________________ there is no place like 127.0.0.1 -------------------------------------------------- [STUFF] E-Mail Liste für Newsletter o.ä. [STUFF] MySQLConnector Klasse |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |