World Editor
~ WE - Rozprava o M
Autor: pendrek1
Název: WE - Rozprava o MUI - rozšíření

Určitě jste četli článek >>>WE - Rozprava o MUI, co to je? Ako na to?<<< a na něj navazující článek >>>WE - Rozprava o MUI, ale teraz bez srandy<<< od borce s přezdívkou rednek, ve které se používají Array proměnné. Tento článek je jejich dalším rozšířením, proto nepokračujte dále, pokud jste si ty rednekovy články ještě nepřečetli.
rednek zakončil svůj článek
"BTW, max číslo arrayu 8192 stále platí, fixneme to, ako už Prestor spomínal, pomocou:
If NajvisCislo = 8192, then Set NajvisCislo = 1, Else nothing"
V čem spočívá problém
Tento příkaz by se musel dávat za každé zvyšování jakékoli proměnné (NajvysCislo i NajnizCislo), ale nemusíme se přeci šplhat až do 8192. Z toho by byl dosti zadělaný počítač nemyslíte? Chudák počítač, aby si pamatoval 8192 jednotek. Navíc v těchto spínačích může být víc Array proměnných a je to pořád jen jeden spell.
Jak to vyřešit
Je mnoho možností. Nejlepší a nejjednodušší možnost, kterou jsem vymyslel a která vždy funguje, sem vypíšu. Použiju stejné proměnné jako jsou v rednekově článku.
Praktická ukázka
Na konec vašeho MUI spínače přidejte:
If/then/else multiple functions
If (conditions)
NajvysCislo Rovná se NajnizCislo
Then (actions)
*For each integer A od 0 do Najvys cislo do actions
Smyčka
Set Caster[(Integer A)] = Žádná jednotka
Set NajvysCislo = 0
Set NajnizCislo = 0
Else (actions)
Do nothing
Teď vysvětlení:
Když "NajnizCislo = NajvysCislo" jsou obě proměnné stejné a tudíž zrovna žádný tento spínač neběží. Pro nás nastal vhodný čas proměnné "vynulovat". Do NajnizCislo a NajvysCislo dáme nulu, takže pojedeme s Array proměnnými zase od začátku. Tj. od prvku číslo 0.
*Ještě před tím můžeme (ale nemusíme) vynulovat všechny prvky Array proměnných, do proměnné typu jednotka můžeme dát např. Žádná jednotka tak, jak je to ve vzoru. U proměnné typu bod nic takového nejde, proto to ani ve vzoru není.
Rada na závěr
Nedávejte u array proměnných 8192 prvků. Měl jsem dvě takovéto proměnné a už mi úplně přestaly fungovat všechny spínače. Když jsem tu druhou zmenšil, zase mi fungují. Dejte třeba 999. Bohatě to stačí.
PS: Redneku, díky, že jsi mě naučil MUI a neber toto nějak zle. Je to jen takové malé rozšíření.
Napsal: pendrek1
Upravil: Cultik (21.5.2013)