AreaToList/cs
From Original War Support Wiki
AreaToList(Oblast:interger, i:integer)
Tento příkaz vrací pole souřadnic.
Oblast musí být identifikátor oblasti (jméno oblasti).
i musí být mezi 0 a 1. Pokud je 0, vratí pole všech koordinátů. Pokud je 1, funkce vrátí koordinátory s dálkově ovládanými minami.
Pokud neni specifikováno, bere se jako 0.
Použití
mojePole := AreaToList(oblast); mojePole := AreaToList(oblast, 1);
Ukázkový kód
function UkažMinyVOblasti(oblast,strana); var miny,m; begin result := 0; miny := AreaToList(oblast); for m := 1 to miny[1]+0 do //+0 pro získání velikosti pole. begin if MineAtPos(miny[1][m],miny[2][m]) then begin poziceMin(miny[1][m],miny[2][m],strana); result := result +1; end; end; end;
Funkce vytvoří seznam X-vích a Y-vích souřadnic oblasti. Seznam obvykle vypadá takto: [[x-vé souřadnice], [y-vé souřadnice]]. Poloha náleží na stejném místě v obou vnitřních polích, [[x-vé souřadnice] [1], [y-vé souřadnice] [1]] je jeden hex v oblasti; [[X_coordinates] [2], y-souřadnice [2]] je jiný. Obecně [[x-vé souřadnice] [n], [y-vé souřadnice] [n]], kde "n" je číslo rovnající se nebo menší než množství hodnot v poli.
Funkce jednoduše vrací koordinátory dálkově ovládaných min v oblasti.
Jednodušší Ukázkový kód
function UkažMinyVOblasti(oblast,strana); var miny,m; begin result := 0; miny := AreaToList(oblast, 1); //Vrací koordináty min v oblasti. for m := 1 to miny[1]+0 do //+0 pro získání velikosti pole. begin poziceMin(miny[1][m],miny[2][m],strana); result := result +1; end; end;
Příklad - Jak to funguje
Máme tu oblast s jménem "oblast_zjeveni" která obsahuje hexy [5,6] , [5,7] a [6,6]. "oblast_pole" je lokální nebo globální proměná. Dálková mina je na hexu [5,7] SAIL:
oblast_pole = AreaToList(oblast_zjeveni,0);
Nyní oblast_pole = [[5,5,6],[6,7,6]].
oblast_pole = AreaToList(oblast_zjeveni,1);
Nyní oblast_pole = [[5],[7]].
Podobné funkce:
ListEnvironmentArea
--Sali 16:42, 25 September 2016 (UTC)