Added part of docs
This commit is contained in:
107
docs/pl/reference/MULTIARRAY.md
Normal file
107
docs/pl/reference/MULTIARRAY.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# MULTIARRAY
|
||||
|
||||
Tablica wielowymiarowa, indeksowana od `0`. Domyślnie tworzona jako tablica dwuwymiarowa o wymiarach `16 × 16`; liczba wymiarów może być zmieniona w skrypcie polem `DIMENSIONS`. Każdy wymiar rozszerza się automatycznie (podwajając rozmiar) przy próbie zapisu do pozycji wykraczającej poza bieżący zakres.
|
||||
|
||||
## Pola
|
||||
|
||||
### DIMENSIONS
|
||||
|
||||
```
|
||||
INTEGER DIMENSIONS
|
||||
```
|
||||
|
||||
Liczba wymiarów tablicy. Pole odczytywane podczas inicjalizacji zmiennej; domyślnie `2`. Każdy wymiar jest tworzony z początkowym rozmiarem `16`.
|
||||
|
||||
## Metody
|
||||
|
||||
### GET
|
||||
|
||||
```
|
||||
mixed GET(INTEGER index1, [INTEGER index2, ..., INTEGER indexN])
|
||||
```
|
||||
|
||||
Zwraca wartość z komórki o podanych współrzędnych. Liczba argumentów musi być równa liczbie wymiarów zadeklarowanej polem `DIMENSIONS`. Dla komórki, do której nie zapisano wartości, lub gdy współrzędne są poza zakresem, zwracany jest `NULL`.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `index1, …, indexN` — współrzędne komórki (numerowane od `0`), po jednej na każdy wymiar.
|
||||
|
||||
**Zwraca**: wartość komórki lub `NULL`.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
ARRMAPA^GET(IKRETMOVEONMAPAX, IKRETPOSMAPAY);
|
||||
ARRMAPA^GET([IPLAYERPOSX-1], IPLAYERPOSY);
|
||||
ARRMAPA^GET(_I_, I1);
|
||||
```
|
||||
|
||||
### SET
|
||||
|
||||
```
|
||||
void SET(INTEGER index1, [INTEGER index2, ..., INTEGER indexN], mixed value)
|
||||
```
|
||||
|
||||
Zapisuje wartość w komórce o podanych współrzędnych. Liczba argumentów musi być równa liczbie wymiarów + 1; ostatni argument to zapisywana wartość. Jeżeli którakolwiek współrzędna wykracza poza bieżący zakres wymiaru, tablica jest automatycznie powiększana (rozmiar wymiaru jest podwajany aż do objęcia współrzędnej).
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `index1, …, indexN` — współrzędne komórki.
|
||||
- `value` — zapisywana wartość.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
ARRMAPA^SET(ITMPX, ITMPY, 0);
|
||||
ARRMAPA^SET(IX, IY, SPOLE);
|
||||
ARRMAPA^SET(IPLAYERGOONX, IPLAYERGOONY, "PLAYER");
|
||||
ARRMAPA^SET([IPLAYERPOSX+ILASTDIRX], [IPLAYERPOSY+ILASTDIRY], IPLAYER);
|
||||
```
|
||||
|
||||
### GETSIZE
|
||||
|
||||
```
|
||||
INTEGER GETSIZE(INTEGER dimension)
|
||||
```
|
||||
|
||||
Zwraca rozmiar podanego wymiaru tablicy.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `dimension` — indeks wymiaru (numerowany od `0`).
|
||||
|
||||
**Zwraca**: rozmiar wymiaru lub `0` dla nieprawidłowego indeksu.
|
||||
|
||||
### LOAD
|
||||
|
||||
```
|
||||
void LOAD(STRING path)
|
||||
```
|
||||
|
||||
Zastępuje zawartość tablicy danymi wczytanymi z pliku binarnego. Format obejmuje wymiary tablicy oraz wartości komórek.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `path` — ścieżka pliku w VFS gry.
|
||||
|
||||
### SAVE
|
||||
|
||||
```
|
||||
void SAVE(STRING path)
|
||||
```
|
||||
|
||||
Zapisuje zawartość tablicy do pliku binarnego.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `path` — ścieżka docelowego pliku w VFS gry.
|
||||
|
||||
## Sygnały
|
||||
|
||||
### ONINIT
|
||||
|
||||
Wywoływany w momencie inicjalizacji zmiennej; w tym momencie odczytywana jest wartość pola `DIMENSIONS` i alokowane są wymiary tablicy.
|
||||
|
||||
### ONSIGNAL
|
||||
|
||||
Wywoływany po otrzymaniu sygnału (zobacz [Zdarzenia i sygnały](../engine/events.md#onsignal)).
|
||||
Reference in New Issue
Block a user