functia noastra for are 3 parametrii
for ( Declaratia ; Conditia ; Incrementarea ) // Mersi lui luxor pentru asta.
for() e folosit pentru a crea un loop, ce e un loop ?
Ganditiva la un loop ca la un proces de 'crestere' sau 'descrestere' in functi de ce alegi.
Sa va dau un exemplu
Poti folosi operatori ca "=" "< ">"
for( new i = 0; i < 10; i++ );
"declaratia" e 'new i = 0'
"Conditia" e "i < 10" (daca i este mai mic decat 10 ).
"Incrementarea" e "i++" (adica incrementan i cu 1 vector ).
In operatia de sus 'i' ajunge pana la numarul 10 ( pentru ca daca i este mai mic decat 10 atunci el creste ( i++ ) ... iar 10 nu este mai mic decat 10, este egal cu el, daca conditia noastra ar fi fost "i <= 10" ( daca este mai mic sau egal cu 10 ) atunci el ar fi ajuns la 11.
Pentru ce este folosit for() mai exact, noi luam numarul i si in functie de conditie il incrementan pana la un anumit punct, dar cea ce este interesant este ca (exemplu in operatia noastra) rezultatul nu va fi '11' direct ( sau 10 ma rog .. ) , noi nu putem vedea asta dar el nu ne da instant 10.
Cand faci un loop calculatorul numara si 'atinge' fiecare numar in parte.
i = 0;
Daca i este mai mic decat 10 atunci i++
i = 0
i = 1
i = 2
i = 3
i = 4
...
...
.
..
i = 10
Si astfel 'atinge' toate numerele pana la 10
Nu este necesar sa faceti variabila inauntru la for dar este recomandat sa o faceti
Puteti face si asa
Code: Select all
new i
for( i = 0 ; ...
Code: Select all
#include <amxmodx>
public plugin_init( )
{
register_clcmd( "say /test", "test" );
}
public plugin_init( )
{
for( new i = 0; i < 3; i++ )
client_print( id, print_chat, "Valuare lui i: %i", i );
}
Valuarea lui i: 0
Valuarea lui i: 1
Valuarea lui i: 2
Valuarea lui i: 3 ( se va termina la 3, daca 3 era mai mic decat trei atunci mai crestea un numar, dar cum nu e atunci se va opri aici ).
Ca sa 'decrementati' un numar inauntru la for , in loc de ++ folositi operatorul '--'.
i-- ca exemplu.
Ca sa opriti un loop folositi functia 'break' iar ca sa il continuati folositi 'continue' ( Nu intru in asta, nu le-am folosit niciodata sincer ).
Sa va da un exemplu cu get_players()
- SMA | Afiseaza codul
In codul de sus, de exemplu daca ai vrea ca jucatorul cu userid-ul numarul 5 ai vrea sa-i faci ceva, nici nai nevoie de loop poti folosi doar get_players, dupa , exemplu:
client_print( Players[5], print_chat, "Tu esti userid cu numarul 5." );
Deci loop nu e doar pentru matematica, e si pentru 'atingere' , e ca sa faci calcule la cat ar fi trebuit sa ajunga, e ca sa atinga fiecare numar in parte si sa-i faca ceva (daca tu vrei ).
Ca sa fie mai simpluu :
for( de la ce numar sa incepi ; Conditia ca sa stii unde sa te opresti ; Crestere/Scadere )
{
}
Si poate fi folosit in diferite cazuri.