[Duda] Uso de loops
#1

Bueno, quisiera saber si alguien me puede enseсar a usar bucles o loops, se que son muy utiles pero hace bastante tiempo quiero aprender a usarlos y no entiendo, mire la guia de the chaoz pero como esta muy separando no entiendo, gracias!
Reply
#2

fijate la guia de xSDx
Reply
#3

bueno lo que hace es repetir una funcion tomando el valor de una variable y aumentandolo hasta llegar al que definiste
Reply
#4

ejemplo:

pawn Код:
for(new i; i < 5; i++)// te mandara 5 mensajes, pero tambiйn puedes usar la 'i' si quieres que funcione de otro modo
{
SendClientMessageToAll( -1 , "Esto es un simple ejemplo..!");
}
Reply
#5

Los bucles es para repetir funciones X veces con valores:

pawn Код:
for(new i = 0; i != 5; i++) //Empieza a contar desde el 0 hasta el 5, por lo que pongamos dentro del cуdigo
//se harб 5 veces. Si traducimos eso al espaсol serнa; Para i que es igual a 0, mientras que i no sea 5, i se sumarб
// tambiйn podemos restarla:
for(new i = 5; i != 0; i--) // Serнa igual pero al revйs; Para i = 5, mientras que i no sea 0, restamos la i.

// y cada vez que se suma o resta, se llama al cуdigo de dentro;
// ejemplo de uso:

for(new x = 0; x != GetMaxPlayers(); x++) // X = 0, mientras que X no sea el total de slots, se suma.
{
if(IsPlayerConnected(x)) // Verifica si el jugador x estб conectado
{
SetPlayerHealth(x, 100.0); // en este caso para rellenar la vida a todos
}
}

//ahora lo mismo pero al revйs:
for(new x = GetMaxPlayers(); x != 0; x--)
{
if(IsPlayerConnected(x)) // Verifica si el jugador x estб conectado
{
SetPlayerHealth(x, 100.0);
}
}

//las dos sirven.

While
while es muy parecido al tнpico for, solo que en este podemos saltar valores, sumarlos etc.
Ejemplo:
pawn Код:
new x = 0;
while(x != GetMaxPlayers()) //Mientras que x no sea igual a GetMaxPlayers:
{
if(IsPlayerConnected(x))
{
SetPlayerHealth(x, 100.0);
}
x++; // en este caso es necesario sumar la variable manualmente
}


//Lo mismo pero restando:
new x = GetMaxPlayers();
while(x != 0)
{
if(IsPlayerConnected(x))
{
SetPlayerHealth(x, 100.0);
}
x--;
}
Espero haberte ayudado, tambiйn lee esto.

Saludos
Reply
#6

basicamente existen 3 clases de bucles, for, while y do while, la mayoria usan for por que es el mas practico te dejo un ejemplo
pawn Код:
new mivar[MAX_PLAYERS]; // cuando ponemos max players ponemos 500 variables, esto sirve para no repetir muchas veces mivar1 mivar2 etc.
public OnGameModeInit() // si queremos igualar las variables a 0 antes que se conecten los jugadores, lo podemos hacer de esta manera
{
    for(new playerid=0;playerid<MAX_PLAYERS;playerid++) // aqui el bucle especifica que comenzara por la variable playerid que esta igualada a 0, luego se especifica cuando debe ejecutarse en este caso mientras sea menor a el limite,luego se especifica cuantas unidades se incrementan, lo que hace es que sumaria 1 cada vez que se ejecute.
        mivar[playerid]=0;
}
Reply
#7

Pufff..

Si con todo eso no aprendiу..
Reply
#8

Che, їcуmo funciona el do-while?
Reply
#9

no se si esta bien lo que voy a decir

ejemplo, en este codigo que me pasaste

pawn Код:
for(new x = 0; x != GetMaxPlayers(); x++) // X = 0, mientras que X no sea el total de slots, se suma.
{
    if(IsPlayerConnected(x)) // Verifica si el jugador x estб conectado
   {
   SetPlayerHealth(x, 100.0); // en este caso para rellenar la vida a todos
   }
}
ahi lo que hace es declarar la variable, en este caso x = 0, despues si x = 0 no esta en 500(MaxSlot) se le suma 1 a x, cada ves que se suma 1 a x se ejecuta la funcion que les da vida ?

Muchisimas gracias a todos
Reply
#10

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Che, їcуmo funciona el do-while?
do-while funciona igual que while con la diferencia de que primero se ejecuta el cуdigo dentro del do y despuйs hace la comparaciуn( o sentencia) en el while.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)