turniej.unreal.pl :: Zobacz temat - [UE1] [UC] 6 Pętle i instrukcja GoTo
graphic logo logo graphic graphic  


Unreal Engine 1 Unreal Script 6 Pętle i instrukcja GoTo
Napisz nowy temat   Odpowiedz do tematu
   Forum turniej.unreal.pl Strona Główna -> Artykuły -> O Unreal Script  
Autor Wiadomość
 Post Wysłany: Nie Gru 02, 2007 6:53 pm 

Raven
Admin
Admin


Dołączył: 13 Maj 2004
Posty: 200


 
 
 

Unreal Engine 1 Unreal Script 6 Pętle i instrukcja GoTo
Zobacz pojedynczy postZobacz pojedynczy post

Pętle
     Pętle służą do wykonywania wielokrotnie danej części kodu. Podczas ich stosowania należy pamiętać, żeby liczba powtórzeń nie była zbyt duża, gdyż spowoduje to błąd krytyczny UT.

Kod:
Error: "Runaway loop detected (over 100000 iterations)"


Pętla for
     Pętla for ma postać:

Unreal Script:
  1. for(ustalenie_początku; warunek_pętli; zwiększenie_licznika;)
  2. {
  3.      blok instrukcji
  4. }


     i służy do wykonania N razy danego bloku instrukcji. Jest przydatna np. w momencie gdy chcemy odczytać wartości z tablicy:

Unreal Script:
  1. local int i;
  2. for(i=0; i<20; i++;)
  3. {
  4.      BroadCastMessage("Petla for"$i);
  5. }


Pętla while

     Pętla while ma postać:

Unreal Script:
  1. while (warunek)
  2. {
  3.      blok instrukcji
  4. }


i w przeciwieństwie do pętli for można ją wykonywać bez określenia liczby jej powtórzeń - tzn., że może być wykonywana dopóki nie otrzymamy żądanego przez nas wyniku (np. odpowiedniego obiektu).

Unreal Script:
  1. while (i<10)
  2. {
  3.      i++;
  4. }


Instrukcja GoTo
     Jest to jedna z tych użytecznych instrukcji z którymi należy umieć się obchodzić. Powoduje ona skok do określonego miejsca w funkcji. Składa się ona z etykiety np.:

Unreal Script:
  1. Etykieta1:


     Która rozpoczyna dany blok funkcji, oraz instrukcji skoku np.:

Unreal Script:
  1. GOTO Etykieta1;


     Należy pamiętać, że nie można wykonać skoku do etykiet w innej funkcji. Niezwykle ważne także właściwe wykorzystanie. Nie można dopuścić aby instrukcja GOTO wpadała w nieskończone pętle:

Unreal Script:
  1. Etykieta1:
  2.   BroadCastMessage("Moja pierwsza instrukcja goto");
  3.   GOTO Etykieta1;


Coś takiego spowoduje następujący błąd:

Kod:
Error: "Runaway loop detected (over 100000 iterations)"


     Należy zatem wprowadzić jakieś ograniczenie, pozwoli zapobiec temu błędowi, np.:

Unreal Script:
  1. Etykieta1:
  2.   BroadCastMessage("Moja pierwsza instrukcja goto");
  3.   if(i<10)
  4.   {
  5.      i++;
  6.      GOTO Etykieta1;
  7.   }


     W tej postaci instrukcja warunkowa pozwoli tylko na 10 kolejnych wywołań instrukcji GOTO. Lekko zmieniona wersja tej instrukcji zostanie omówiona przy okazji stanów.

 
Odpowiedz z cytatem

_________________

personal wiki
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Numer GG Tlen
   Forum turniej.unreal.pl Strona Główna -> Artykuły -> O Unreal Script
Napisz nowy temat   Odpowiedz do tematu
Skocz do:  

 Further options
 Wszystkie czasy w strefie GMT
Strona 1 z 1
 
Zobacz poprzedni temat :: Zobacz następny temat  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz dołączać plików na tym forum
Nie możesz ściągać plików na tym forum
Wyświetl posty z ostatnich:   
 

turniej.unreal.pl Kanał RSS tematu 
PicLens 

Powered by phpBB © 2001, 2002 phpBB Group
Illusion template v.1.0.2 © Jasidog.com
Powered by phpbb, copyright the phpbb group Template by jasidog.com