Borisigna nos enseña a hacer un webgame

ATENCIÓN: Nos mudamos a http://juegodenavegador.host22.com/index.php


No estás conectado. Conéctate o registrate

una funcion para esto?

Ir abajo  Mensaje [Página 1 de 1.]

1 una funcion para esto? el Mar Jun 08, 2010 1:36 am

people=shit

avatar
en la pagina de traficantes tengo este codigo:

Spoiler:

Código:

function ft1(){
if($traficante]==0){echo '<img src="/img/traficantes/0.png">';}
if($traficante1==300){echo '<img src="/img/traficantes/300.png">';}
if($traficante1==350){echo '<img src="/img/traficantes/350.png">';}
if($traficante1==400){echo '<img src="/img/traficantes/400.png">';}
if($traficante1==500){echo '<img src="/img/traficantes/500.png">';}
if($traficante1==600){echo '<img src="/img/traficantes/600.png">';}
if($traficante1==1000){echo '<img src="/img/traficantes/1000.png">';}}
function ft2(){
if($traficante2==0){echo '<img src="/img/traficantes/0.png">';}
if($traficante2==300){echo '<img src="/img/traficantes/300.png">';}
if($traficante2==350){echo '<img src="/img/traficantes/350.png">';}
if($traficante2==400){echo '<img src="/img/traficantes/400.png">';}
if($traficante2==500){echo '<img src="/img/traficantes/500.png">';}
if($traficante2==600){echo '<img src="/img/traficantes/600.png">';}
if($traficante2==1000){echo '<img src="/img/traficantes/1000.png">';}}
function ft3(){
if($traficante3==0){echo '<img src="/img/traficantes/0.png">';}
if($traficante3==300){echo '<img src="/img/traficantes/300.png">';}
if($traficante3==350){echo '<img src="/img/traficantes/350.png">';}
if($traficante3==400){echo '<img src="/img/traficantes/400.png">';}
if($traficante3==500){echo '<img src="/img/traficantes/500.png">';}
if($traficante3==600){echo '<img src="/img/traficantes/600.png">';}
if($traficante3==1000){echo '<img src="/img/traficantes/1000.png">';}}
function ft4(){
if($traficante4==0){echo '<img src="/img/traficantes/0.png">';}
if($traficante4==300){echo '<img src="/img/traficantes/300.png">';}
if($traficante4==350){echo '<img src="/img/traficantes/350.png">';}
if($traficante4==400){echo '<img src="/img/traficantes/400.png">';}
if($traficante4==500){echo '<img src="/img/traficantes/500.png">';}
if($traficante4==600){echo '<img src="/img/traficantes/600.png">';}
if($traficante4==1000){echo '<img src="/img/traficantes/1000.png">';}}
function ft5(){
if($traficante5==0){echo '<img src="/img/traficantes/0.png">';}
if($traficante5==300){echo '<img src="/img/traficantes/300.png">';}
if($traficante5==350){echo '<img src="/img/traficantes/350.png">';}
if($traficante5==400){echo '<img src="/img/traficantes/400.png">';}
if($traficante5==500){echo '<img src="/img/traficantes/500.png">';}
if($traficante5==600){echo '<img src="/img/traficantes/600.png">';}
if($traficante5==1000){echo '<img src="/img/traficantes/1000.png">';}}

y es el mismo codigo hasta $traficante10

lo que hace es mostrar la imagen del traficante segun su contenido (cantidad de venta).

si lo repito 10 veces se hace demaciado largo y pesa bastante, ademas de que uso otras 4 funciones parecidas (una de las cuales es mas larga)

actualmente este archivo pesa 20kb(330 lineas) Sad

http://hazzaft.comuv.com/

2 Re: una funcion para esto? el Miér Jun 09, 2010 3:36 am

BORISIGNA


Admin
Y qué quieres que hagamos al respecto específicamente?

http://juegodenavegador.wordpress.com

3 Re: una funcion para esto? el Miér Jun 09, 2010 4:54 am

spanisher


El problema del código no es que sea largo, si no que solo tiene "if".

Por lo tanto, siempre comprobará todos los "if", o sea que ejecutará siempre todo el código.

En cambio si haces lo siguiente:

function ft1(){
if($traficante1==0){echo '<img src="/img/traficantes/0.png">';
}else if($traficante1==300){echo '<img src="/img/traficantes/300.png">';
}else if($traficante1==350){echo '<img src="/img/traficantes/350.png">';
}else if($traficante1==400){echo '<img src="/img/traficantes/400.png">';
etc....
}

Ganarás en eficiencia ya que en cuanto una condición se cumpla ya no comprobará ninguna de las que siguen después.

También te podrías mirar la función switch, es muy interesante Smile

A parte tienes un error en el primer $traficante1, tienes "]" en vez de "1".

Y si, ese código se puede acortar en una sola función.

Sería la siguiente:
function ft($numero){
if($traficante.$numero==0){echo '<img src="/img/traficantes/0.png">';
}else if($traficante.$numero==300){echo '<img src="/img/traficantes/300.png">';
}else if($traficante.$numero==350){echo '<img src="/img/traficantes/350.png">';
}else if($traficante.$numero==400){echo '<img src="/img/traficantes/400.png">';
etc....
}

Así le pasas el número del traficante (que supongo que es su nivel) y llamas a la función de esta manera.

ft($numero);

Y así si quieres puedes hacer miles como esas que has hecho pero solo en una Wink

Suerte!

PD: Por cierto, si no es eso lo que buscas especifica más como dice Borisigna jeje..

4 Re: una funcion para esto? el Jue Jun 10, 2010 4:46 pm

people=shit

avatar
gracias spanisher era justo lo que buscaba. y lo de los elseif no lo sabia gracias Smile

http://hazzaft.comuv.com/

5 Re: una funcion para esto? el Vie Jun 11, 2010 5:04 am

spanisher


De nada, a servir Smile

Contenido patrocinado


Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.