This thread is a few years old. Some details may refer to an earlier version of Visionaire Studio. Current tutorials
global gametable = {}function create_table()
for i=1 , 25 , 1 do
local field = {
["type"] = select_type(),
["revealed"] = false,
["water"] = false,
["water_from"] = nil
}
table.insert(gametable, i, local field) --fügt das kreierte feld dem spielfeld hinzu
end
end01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25function select_type()
local type = math.random(1,6)
local typename
if type == 1 then
typename = "gerade n-s"
elseif type == 2 then
typename = "gerade w-e"
elseif type == 3 then
...
end
return typename
end global change_field = {
["type"] = select_type()
} switch_field(1)switch_field(5)function switch_field(i)
local mixer = {["type"] = gametable[i].type} --used to swap the contents
gametable[i].type = change_field[type]
change_field[type] = mixer[type]
endHier weiß ich jetzt nicht, ob es für dich egal ist, welches Feld zufällig kommen soll, oder ob es pro Typ auch noch begrenzte Elemente gibtFür mich wäre es egal, aber damit das Spiel lösbar bleibt, muss ich natürlich die Anzahl der Einzelelemente begrenzen. Sonst würden z.B. nur gerade Stücke erzeugt. Ich muss also eine Menge von ungefähr gleich vielen Elementen erzeugen und daraus die Puzzleteile zuordnen. Aber das ist eine Formsache: ich lege eine Menge / Tabelle von - sagen wir mal -, vier Stück Typ 1 an, vier Stück Typ 2, usw. und lasse den Zufallsgenerator aus dieser Menge auswählen (auch hier: ich weiß, was getan werden muss, aber ich weiß nicht, wie...)
dann ist natürlich der Weg von Feld 13 nach 12 "-1" bzw. nach 14 "+". Will das Wasser später nach oben oder unten -also auf Feld 08 oder 18, rechne ich einfach "-5" oder "+5".Hmm... Ich hatte überlegt, dass ein Feld, das am rechten Rand liegt (z.B. die 10), mich fälschlicherweise mit +1 auf die 11 ganz links lenkt, was natürlich unsinnig ist. Rechts von der 10 ist Niemandsland und deshalb hatte ich am Rand rundum Pseudo-Zahlenfelder eingesetzt. Komme ich also von der 10 mit +1 auf die 11, bin ich außerhalb des Spielfeldes. Ich frage also alle Randfelder mit einer If-Bedingung oder sonstwie ab .
Sprich Type einfach nur 1-6, dann brauchst du auch keine select_type() funktion und kannst direkt beim anlegen der Tabelle math.random(1,6) nutzenJa, ich hatte die Typen einfach von 1-6 numeriert. Ich brauche ja keine Bezeichnungen. Das Nord-Süd-Dingsbums war nur für mich.
ActiveAnimations["animation_name"].AnimationFirstFrame = 3
ActiveAnimations["animation_name"].AnimationLastFrame = 3