• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[GU?A] Usos de switch.
#8
Est? bien, es una gu?a b?sica, pero creo que falla en varios aspectos.



(2019-04-14, 03:19 AM)klays Wrote: Primero hay que tener una variable creada, para testear puedes probar con esto:

PHP Code:
new randomnumber random(3); 



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.");





Esto significar?, si la variable (randomnumber) es igual a x (el n?mero aleatorio de 0 a 3) imprimir? cierto valor (print).



En caso de hacer un random(3), los resultados ir?n del 0 al 2 (inclusive), es decir: 0, 1 ? 2. Por lo tanto el "case 3" nunca ser? ejecutado.



No hac?s menci?n al caso "default" ni ense??s la posibilidad de incluir m?s de un valor en un solo caso:



Code:
new rand = random(20);



switch(rand)

{

    case 0..4: // lo mismo que hacer 0, 1, 2, 3, 4

        print("El n?mero aleatorio es un n?mero entre cero y cuatro, inclusive.");



    case 5:

        print("El n?mero aleatorio es cinco.");



    case 6, 7, 8, 9, 10: // lo mismo que hacer 6..10

        print("El n?mero aleatorio es un n?mero entre seis y diez, inclusive.");



    default: // ninguno de los casos es verdadero

        print("El n?mero aleatorio es menor a cero o mayor a diez.");

}



Es posible expresarlo de otro modo obteniendo el mismo resultado:



Code:
new rand = random(20);



if(rand >= 0 && rand <= 4)

    print("El n?mero aleatorio es un n?mero entre cero y cuatro, inclusive.");

else if(rand == 5)

    print("El n?mero aleatorio es cinco.");

else if(rand == 6 || rand == 7 || rand == 8 || rand == 9 || rand == 10)

    print("El n?mero aleatorio es un n?mero entre seis y diez, inclusive.");

else

    print("El n?mero aleatorio es menor a cero o mayor a diez.");



Pru?bese: https://fiddle.sa-mp.dev/GastronomicalUnchangedIbisbill



Es v?lido expresarlo de ambas formas aunque, evidendentemente, utilizar un switch donde corresponde siempre es m?s ordenado que utilizar un if.



Otra cosa: divid?s variables "globales" y variables "del jugador". Hasta donde yo s?, las variables se pueden dividir en globales (que est?n fuera de una funci?n) y locales (que est?n dentro de una funci?n). No existen las variables del jugador. Una variable expresada como "gPlayerInfo[MAX_PLAYERS]" es un array con un espacio equivalente al m?ximo de jugadores (MAX_PLAYERS). Naturalmente, se utilizar?a para guardar informaci?n relacionada a determinado jugador, pero eso no hace que deje de ser una variable global. A menos, claro, que est? declarada dentro de una funci?n.
  Reply


Messages In This Thread
[GU?A] Usos de switch. - by klays - 2019-04-14, 03:19 AM
RE: [GU?A] Usos de switch. - by Mugsy - 2019-04-14, 10:09 AM
RE: [GU?A] Usos de switch. - by G0NZ4L0 - 2019-04-14, 03:43 PM
RE: [GU?A] Usos de switch. - by Erziok - 2019-04-14, 03:47 PM
RE: [GU?A] Usos de switch. - by Keizer - 2019-04-15, 01:43 AM
RE: [GU?A] Usos de switch. - by #Fede - 2019-04-15, 04:48 AM
RE: [GU?A] Usos de switch. - by klays - 2019-04-15, 10:09 PM
RE: [GU?A] Usos de switch. - by Graber - 2019-04-15, 12:48 PM
RE: [GU?A] Usos de switch. - by Autorojo - 2019-04-15, 03:19 PM
RE: [GU?A] Usos de switch. - by MaikPlay_YT - 2019-04-15, 10:44 PM
RE: [GU?A] Usos de switch. - by DarkThinking - 2019-05-30, 04:55 PM
RE: [GU?A] Usos de switch. - by Markski - 2019-05-30, 04:57 PM

Forum Jump: