Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-06-2006, 19:16   #1 (permalink)
Der Schreiner
 
Benutzerbild von Badie
 
Registriert seit: Aug 2005
Ort: Auf meinem Server
Beiträge: 385
Endlosschleifen Warnung abstellen

Hi

Hab für meinen Nachbarn ein Minesweeper gebastelt. Funktioniert natürlich (fast) alles einwandfrei. Einziges Problem:

Da wenn ich ein Feld anklicke ja gleich mehrere Felder gleichzeitig aufgedeckt werden können weil in der Nähe keine Mine ist kommt es schon mal vor, dass halt so um die 300-400 Felder auf einen schlag aufgedekt werden. Kennt man ja wenn man sich ein riesiges benuzerdefiniertes Feld anlegt und die kleinste Bombenanzahl einstellt.

Da für das Aufdeken ja immer die gleiche Funktion verwendet wird fängt Flash mit der Zeit an zu behaupten, dass es sich um eine Endlosschleife handelt und deaktiviert das Skript logischerweise.

Da das ja nur ein Missverständnis ist mit dieser Endlosschleife möchte ich nun wissen ob man diese Funktion irgendwie ausschalten kann. Geht das???
__________________
Bei allem was du fragst, vergiss nie was dabei zu lernen.

www.flashfan.ch

Ich übernehme keine Haftung für fehlende oder falsch plazierte Buchstaben in meinen Beiträgen^^
Badie ist offline   Mit Zitat antworten
Alt 16-06-2006, 19:22   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Zitat:
Zitat von Badie
Da das ja nur ein Missverständnis ist mit dieser Endlosschleife ...
Sicher? Das kenne ich aber - betreffend der Meldung an sich, nicht deinen speziellen Fall betreffend - anders.

Um die Meldung zu "vermeiden", könnte man die Abarbeitung in mehrere (verträgliche) Schleifen aufteilen.

Die Meldung selbst abstellen geht nicht.
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 16-06-2006, 19:38   #3 (permalink)
Der Schreiner
 
Benutzerbild von Badie
 
Registriert seit: Aug 2005
Ort: Auf meinem Server
Beiträge: 385
nun ja. Aufteilen in mehrere schleifen dürfte in meinem Falle leider etwas kompliziert werden. Mal etwas mehr ins Detail:

Es wird mittels zwei for Schleifen ein Feld aus vielen kleineren Vierecken erzeugt. Jedes kleine Viereck wird in den Array "Teile" eingetragen und kann später wieder so abgerufen werden:

Teile[y-koordinate][x-koordinate]

beim setzen der Vierecke auf die Bühne werden noch die 2 variabeln "zahl = 0" und "mine = 0" an das viereck übertragen.

Nun werden mit dem Skript die minen verteilt:

PHP-Code:
bomben 20
while(bomben--){

random(breite)
random(höhe)

if(
Teile[y][x].bombe == 0){
Teile[y][x].bombe 1

// hier nicht aufgeführt, aber allen umliegenden vierecken wird dann die variable "zahl" um eins erhöht
}else{
bomben++
}

des weiteren hat jedes viereck noch die funktion "aufdecken"

PHP-Code:
aufdecken = function(){
if(
bombe == 1){
trace("verloren")
}else{
gotoAndStop(3+zahl)
if(
zahl == 0){

// bei allen umliegenden vierecken wird die Funktion "aufdecken" nun auch aufgefrufen, defenfalls wenn ihre currentframe nicht auf eins ist(sonst würden sich die vierecke ja immer im Kreis den Befehl aufdecken geben). Hier wieder nicht aufgefürht
}
}

onRelease = function(){
aufdecken();



Und halt grob gerafft funktioniert so mein Minesweeper. Wie soll ich das jetzt in mehrere kleine Schleifen aufteilen?? Das hat ja eigentlich auch garnicht mit einer Schleife zu tun sondern eher mit einer Kettenreaktion.

Wer das Spiel mal testen oder bearbeiten möchte...nur zu.

swf: http://flashfan.ch/FlashMines.html
fla: http://flashfan.ch/FlashMines.zip
__________________
Bei allem was du fragst, vergiss nie was dabei zu lernen.

www.flashfan.ch

Ich übernehme keine Haftung für fehlende oder falsch plazierte Buchstaben in meinen Beiträgen^^

Geändert von Badie (16-06-2006 um 19:53 Uhr)
Badie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele