2019-04-14, 03:19 AM
(This post was last modified: 2019-04-15, 10:29 PM by klays.
Edit Reason: se agregan sugerencias y arreglos de comentarios.
)
switch, usos.
Para Variables globales.
Primero hay que tener una variable creada, para testear puedes probar con esto:
PHP Code:
new randomnumber = random(4);
Luego de eso creamos el switch, puede ser llamado cuando se ejecute un comando, por ejemplo.
PHP Code:
switch(randomnumber)
{
case 0: print("el numero es 0.");
case 1: print("el numero es 1.");
case 2: print("el numero es 2.");
case 3: print("el numero es 3.");
default: print("el número no es reconocido.");
}
Esto significará, si la variable (randomnumber) es igual a x (el número aleatorio de 0 a 3) imprimirá cierto valor (print).
Para variables del jugador.
Primero hay que crear la variable:
PHP Code:
new variable[MAX_PLAYERS];
Luego de eso, el switch, puede ser llamado desde un comando, por ejemplo:
PHP Code:
switch(variable[playerid])
{
case 0:
{
SendClientMessage(playerid, -1, "tu variable es 0.");
// resto de código en caso de ser necesario.
}
case 1:
{
SendClientMessage(playerid, -1, "tu variable es 1.");
// resto de código en caso de ser necesario.
}
case 2:
{
SendClientMessage(playerid, -1, "tu variable es 2.");
// resto de código en caso de ser necesario.
}
default:
{
SendClientMessage(playerid, -1, "...");
// resto de código en caso de ser necesario.
}
}
En resumen, si la variable (variable) del jugador es igual a x (numero asignado) mendará cierto mensaje y ejecutará cierta función según el case.
default: es llamado cuando ningún case (tras comprobarlos) es igual a la variable, ejemplo:
PHP Code:
new dos = 2;
switch(dos)
{
case 0: print("numero 0.");
case 1: print("numero 1.");
case 2: print("numero 2.");
case 3: print("numero 3.");
default: print("numero x");
}
En el ejemplo anterior la variable es igual a 2, por lo tanto ejecutará el case 2, en resumen imprimirá numero 2 en la consola, pero en el siguiente ejemplo:
PHP Code:
new dos = 2;
switch(dos)
{
case 0: print("numero 0.");
case 1: print("numero 1.");
default: print("numero x");
}
la variable es igual a dos, dentro del switch no hay ningún case con valor 2 por lo tanto se ejecutará el default. Por lo tanto imprimirá: numero x en la consola.
Para resumir default es invocado cuando ningún case cumple con la variable.
__
Rangos de comprobaciones.
Para números consecutivos: puedes comprobar más de un (1) solo número en el case (definimos case como: case: 1, etcétera) con:
PHP Code:
case 1 .. 4: // resto del código.
Un ejemplo para esto es lo siguiente:
PHP Code:
new variable = random(51);
switch(variable)
{
case 1 .. 10: print("el numero está entre el 1 al 10.");
case 11 .. 20: print("el numero está entre el 11 al 20.");
case 21 .. 30: print("el numero está entre el 21 al 30.");
case 31 .. 40: print("el numero está entre el 31 al 40.");
case 41 .. 50: print("el numero está entre el 41 al 50.");
default: print("el numero esta en un rango del 0 al 50.");
}
(créditos/idea: autorojo) | En resumen, si la variable se establece en un número entre 1 y 10 imprimirá: el número está entre el 1 al 10 y así consecutivamente dependiendo del case. En caso de que ninguno esté en lo correcto se ejecutará default.
Para números distintos: puedes comprobar distintos números que no estén de forma consecutiva de la siguiente forma:
PHP Code:
case 1, 3, 7: // resto del código.
PHP Code:
new variable = random(10);
switch(variable)
{
case 1, 3, 7: print("el numero puede ser 1, 3 o 7.");
case 2, 4, 6: print("el numero puede ser 2, 4 o 6.");
default: print("el numero puede ser 0 o 5.");
}
Para resumir, el case 1, 3, 7 se ejecutarán si el número aleatorio es igual a cualquiera de esos 3 y así con los demás, caso contrario se ejecutará el default (número 0 y 5, los restantes).
__
post en edición.