Naja, so schwer sind Arrays nicht zu verstehen -- vor allem in X nicht.
Sie haben zwar einige Tücken, doch im Grunde ist es einfach.
Ein Array ist im Allgemeinen eine Aneinanderreihung von verschiedenen Daten gleichen Typs -- zumindest in den meisten Programmiersprachen.
Im MSCI ist das anders. Hier kann ein Array alle möglichen Datentypen beinhalten.
Um ein einfaches Beispiel eines Arrays zu geben:
$array(Schiff 1, Schiff 2, Schiff 3, ... , Schiff n)
Dieser Array beinhaltet die Objekte Schiff 1, Schiff 2, etc. bis Schiff n.
Dabei hat Schiff 1 den Index 0, Schiff 2 den Index 1 und Schiff n den Index (n-1).
Um auf die Objekte eines Arrays zuzugreifen brauchst du nur den Array, sowie den Index. D.h. $schiff = $array[1] weist der Variable $schiff den Wert Schiff 2 zu.
Oftmals möchte man bestimmte Operationen an allen Objekten eines Arrays durchführen. Dazu ist es sinnvoll eine Schleife zu verwenden, die für jedes Objekt den Anweisungsblock wiederholt.
In deinem Fall könnte das so aussehen:
Code: Select all
*Finde alle Brutschiffe und speichere sie in einem Array
$Brutschiff = find ship: sector=$sector ... flags=[Find.Multiple]
*Hier folgt die Standardvariante für das Auslesen von Arrays
$size = get size of array $Brutschiff
while $size
dec $size =
$Schiff = $Brutschiff[$size]
* Hier folgen die Kommandos
* Der folgende Befehl ist wichtig, damit das Spiel bei längeren Schleifen nicht einfriert
= wait 1 ms
* Ende der Schleife
end
Damit solltest du eigentlich erstmal auskommen.
MfG,
ScRaT