Funkcje: Różnice pomiędzy wersjami
(dodanie funkcji mod) |
|||
| Linia 1: | Linia 1: | ||
| − | Skript posiada | + | Funkcje zostały dodane do Skripta w wersji deweloperskiej 2.2, a służą przede wszystkim do skrócenia kodu oraz jego wygładzenia. Skript posiada kilkanaście wbudowanych matematycznych funkcji, jednak gracz jest w stanie stworzyć funkcję zwracającą wartość lub jedynie wykonującą kod.<br> |
| + | Funkcje mogą być przechowywane w każdym pliku skryptowym, niezależnie od jego położenia będzie on działał w każdym pliku. | ||
| + | |||
| + | == Budowa == | ||
| + | Pisanie funkcji należy rozpocząć od napisania <code>function <nazwa funkcji></code>, następnie zdefiniowania nazw argumentów oraz ich typów. | ||
| + | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! | ||
| − | !Funkcja | + | !Funkcja zwracająca wartość |
|- | |- | ||
!Wzór | !Wzór | ||
| Linia 16: | Linia 21: | ||
|- | |- | ||
! | ! | ||
| − | !Funkcja | + | !Funkcja wykonująca kod |
|- | |- | ||
!'''Wzór''' | !'''Wzór''' | ||
| Linia 27: | Linia 32: | ||
|} | |} | ||
| + | W funkcjach można wykorzystywać jedynie zmienne lokalne (rozpoczynają się na '''_''') <code>{_p}, {_max}</code>. Się biorą od nazw argumentów wypisanych na początku: <pre>function Skript(gracz: player): | ||
| + | send "Ty napewno piszesz skrypty" to {_gracz}</pre> | ||
| + | |||
| + | === Funkcje zwracające wartość === | ||
| + | W tej funkcji oprócz zdefiniowania nazw i typów argumentów dodatkowo należy zdefiniować typ zwracanej wartości, np. <code>function Prawda(gracz: player) :: '''boolean''':</code> | ||
| + | Wartość można zwrócić używając ''return <wartość>'', np. boolean <code>return true</code> | ||
| + | |||
| + | <pre>function Prawda(gracz: player) :: boolean: | ||
| + | if {_gracz}'s inventory contains 64 diamonds: | ||
| + | return true | ||
| + | else: | ||
| + | return false</pre> | ||
| + | |||
| + | == Wybrane funkcje == | ||
Liste wbudowanych wszystkich funkcji znajdziecie [https://skriptlang.github.io/Skript/functions.html tutaj.] | Liste wbudowanych wszystkich funkcji znajdziecie [https://skriptlang.github.io/Skript/functions.html tutaj.] | ||
Wersja z 23:55, 24 paź 2019
Funkcje zostały dodane do Skripta w wersji deweloperskiej 2.2, a służą przede wszystkim do skrócenia kodu oraz jego wygładzenia. Skript posiada kilkanaście wbudowanych matematycznych funkcji, jednak gracz jest w stanie stworzyć funkcję zwracającą wartość lub jedynie wykonującą kod.
Funkcje mogą być przechowywane w każdym pliku skryptowym, niezależnie od jego położenia będzie on działał w każdym pliku.
Budowa
Pisanie funkcji należy rozpocząć od napisania function <nazwa funkcji>, następnie zdefiniowania nazw argumentów oraz ich typów.
| Funkcja zwracająca wartość | |
|---|---|
| Wzór | Nazwa funkcji(Nazwa argumentu 1: Typ argumentu 1, Nazwa argumentu 2: Typ argumentu 2...) :: Typ zwracanej wartości:
|
| Przykład | points(p: player) :: number:
|
| Funkcja wykonująca kod | |
| Wzór | Nazwa funkcji(Nazwa argumentu 1: Typ argumentu 1, Nazwa argumentu 2: Typ argumentu 2...):
|
| Przykład | addPoints(p: player, n: number):
|
W funkcjach można wykorzystywać jedynie zmienne lokalne (rozpoczynają się na _) {_p}, {_max}. Się biorą od nazw argumentów wypisanych na początku:
function Skript(gracz: player):
send "Ty napewno piszesz skrypty" to {_gracz}
Funkcje zwracające wartość
W tej funkcji oprócz zdefiniowania nazw i typów argumentów dodatkowo należy zdefiniować typ zwracanej wartości, np. function Prawda(gracz: player) :: boolean:
Wartość można zwrócić używając return <wartość>, np. boolean return true
function Prawda(gracz: player) :: boolean:
if {_gracz}'s inventory contains 64 diamonds:
return true
else:
return false
Wybrane funkcje
Liste wbudowanych wszystkich funkcji znajdziecie tutaj.
| Nazwa i argumenty | Wydanie skripta | Opis | Przykłady / Zwracana wartość |
|---|---|---|---|
| location(x, y, z, "Nazwa świata"=event-world, yaw=0, pitch=0 | 2.2 | Zwraca lokalizacje. | teleport player to location(10, 50, 12)
set {_l} to location(10, 100, 52, "world", 90, 90) |
| mod(number, number) | 2.2 | Zwraca reszte z dzielenia | set {_x} to mod(1, 3) |
| floor(number) | 2.2 | Zwraca liczbe zaokrągloną w dół. | floor(5.99) = 5
floor(3.12) = 3 |
| max(numbers) | 2.2 | Zwraca największą z podanych liczb. | max(1, 2, 3, 4, 5) = 5
max(0, 4, 6, 3, 2) = 6 |
| min(numbers) | 2.2 | Zwraca najmniejszą z podanych liczb. | min(0, 2, 5, 6, 6) = 0
min(9, 2, 5, 8, 4) = 2 |
| product(numbers) | 2.2 | Zwraca iloczyn podanych liczb. | product(1, 7, 2, 2) = 28
product(6, 3, 5, 6) = 540 |
| round(number) | 2.2 | Zwraca zaokrąglona liczbe. | round(3.54) = 4
round(3.21) = 3 |
| sqrt(number) | 2.2 | Zwraca pierwiastek kwadratowy podanej liczby | sqrt(4) = 2
sqrt(25) = 5 sqrt(2) = 1.4142 |
| sum(numbers) | 2.2 | Zwraca sume podanych liczb. | sum(1, 5, 6) = 12
sum(1, 1, 1) = 3 |
| world(string) | 2.2 | Zwraca świat o podanej nazwie | set {_flat} to world("flat")
set {_nether} to world("world_nether") |
| date(year, month, day, hour=0, minute=0, second=0) | 2.2 | Zwraca stworzoną date z podanych argumentów | date(2014, 10, 1) # 0:00, 1st October 2014 |