Aktualnie pracujemy nad:
Zadaniami pobocznymi do modyfikacji Bandyta
Czy wiesz że Piaski Tandoru opierają się na systemie reputacji, dzięki któremu rozgrywka będzie ciekawsza i dłuższa?
Strony: 1
Wątek Zamknięty
Standardowo wyjaśnimy sobie czym jest obiekt naszych dzisiejszych rozważań i z czym się to je. Tak więc czym jest funkcja ogólnie chyba wiemy. Na przykład telefony w XXI wieku mają wiele funkcji typu aparat, dyktafon, GPS, Internet, radio. Korzystamy z tych funkcji wielokrotnie, prawda? Jednak w programowaniu funkcja jest czymś innym.
Funkcja - to instrukcje, które mogą być wykonane z różnymi parametrami i przeważnie służą określonemu celowi.
Może nie jest to najlepsza definicja funkcji, jaką można sobie wymarzyć, jednak tyle powinno nam wystarczyć. Teraz posłużmy się przykładem z Gothic'a. Wielokrotnie grając wymienialiśmy się z postaciami złotem. Za każdym razem, gdy ktoś dał nam złoto, lub gdy my daliśmy je komuś wywoływana była specjalna funkcja, która edytowała ilość złota u obu postaci i wyświetlała na ekranie odpowiedni napis.
No dobrze, więc jak zadeklarować własną funkcję?
func Typ Nazwa()
{
//Instrukcje
};
Znamy ten schemat, co nie? A więc zadeklarujmy sobie jakąś funkcję.
func void Funkcja1()
{
Print("Funkcja została wywołana!");
};
No tak, ale co robią typy w funkcjach? Pamiętamy, że zmienna przechowywała wartość danego typu, jednak funkcja nie przechowuje wartości! Otóż funkcja może zwracać wartość, a typ funkcji odpowiada typowi zwracanej przez nią wartości. Ma sens, co nie? Do zwrócenia wartości służy słowo kluczowe return. Jak możemy się domyśleć pusty typ danych - void nie zwraca żadnej wartości.
func void Funkcja2()
{
Print(IntToString(2+Funkcja3());
};
func int Funkcja3()
{
return 2;
};
A więc co się stanie, jeśli umieścimy gdzieś takie wywołanie funkcji?
Funkcja2();
Wypisze ona na ekranie 4. Dlaczego? Wywołujemy funkcję Funkcja2, która wypisuje na ekranie 2 + wartość zwracaną przez funkcję 3 - również 2.
Czy to koniec możliwości funkcji? Ależ nie, przecież to na nich opiera się programowanie, a zwłaszcza programowanie skryptów do gier! Funkcje mają także parametry. Parametry to pewne dane wejściowe dla funkcji. Podajemy je w nawiasie zaraz za nazwą funkcji tak samo, jak deklarujemy zmienne - ponieważ parametry są zmiennymi. Nasze dwie funkcje mogłyby wyglądać następująco:
func void Funkcja2(var int i)
{
Print(IntToString(i+Funkcja3());
};
func int Funkcja3()
{
return 2;
};
Teraz funkcję wywołamy na przykład w ten sposób:
Funkcja2(5);
Oczywiście w miejsce '5' wstawić możemy dowolną liczbę - wpłynie ona na wynik wywołania funkcji, więc jest ona już interaktywna. Na razie to by było na tyle, do przeczytania ;)
Offline
Wątek Zamknięty
Strony: 1