Foros del Web » Programando para Internet » PHP »

Problema con funcion

Estas en el tema de Problema con funcion en el foro de PHP en Foros del Web. mi duda es creo una funcion y mas tarde la llamo con unas variables y esas variables se ejecutan en la funcion pero no me ...
  #1 (permalink)  
Antiguo 03/11/2009, 09:12
 
Fecha de Ingreso: abril-2009
Mensajes: 356
Antigüedad: 15 años
Puntos: 7
Problema con funcion

mi duda es

creo una funcion y mas tarde la llamo con unas variables

y esas variables se ejecutan en la funcion pero no me las devulve, me las devulve como entraron
  #2 (permalink)  
Antiguo 03/11/2009, 09:30
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Problema con funcion

Adjunta el código.
  #3 (permalink)  
Antiguo 03/11/2009, 09:34
 
Fecha de Ingreso: abril-2009
Mensajes: 356
Antigüedad: 15 años
Puntos: 7
Respuesta: Problema con funcion

esta es la funcion

Código PHP:
function atacar($vida_amenaza,$vida_mascota,$ataque_mascota,$defensa_amenaza,$ataque_amenaza,$defensa_mascota,$dados_amenaza,$dados_mascota,$nombre1,$nombre2){

if($vida_amenaza > 0 && $vida_mascota > 0){

$ataque_mascota =  $ataque_mascota - $defensa_amenaza;
if($ataque_mascota < 0){$ataque_mascota = 0; }

$ataque_amenaza =  $ataque_amenaza - $defensa_mascota;
if($ataque_amenaza < 0){$ataque_amenaza = 0; }

$dados_amenaza = rand(1,5);
$dados_mascota = rand(1,10);

$ataque_mascota = $ataque_mascota * $dados_mascota;
$ataque_amenaza = $ataque_amenaza * $dados_amenaza;

$vida_amenaza = $vida_amenaza - $ataque_mascota;
$vida_mascota = $vida_mascota - $ataque_amenaza;

if($vida_amenaza < 0){$vida_amenaza = 0; }
if($vida_mascota < 0){$vida_mascota = 0; }



?>

<table width="600" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr>
    <td height="20" colspan="3" valign="top"><div align="center"><? echo $nombre1; echo ' Vs '; echo $nombre2?></div></td>
  </tr>
  <tr>
    <td height="20" colspan="3" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td width="250" height="20" valign="top"><div align="right"><? echo 'Daño '; echo $ataque_mascota?></div></td>
    <td width="100">&nbsp;</td>
    <td width="250" valign="top"><? echo 'Daño '; echo $ataque_amenaza?></td>
  </tr>
  <tr>
    <td height="20" colspan="3" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td height="20" valign="top"><div align="right"><? echo $vida_mascota; if($vida_mascota 0){ ?><font color="#66FF66"><? echo ' Vivo'?></font><? }else{ ?><font color="#FF0000"><? echo ' Muerto'?></font><? ?></div></td>
  <td></td>
    <td valign="top"><? echo $vida_amenaza; if($vida_amenaza 0){ ?><font color="#66FF66"><? echo ' Vivo'?></font><? }else{ ?><font color="#FF0000"><? echo ' Muerto'?></font><? ?></td>
  </tr>
</table>
<table width="600" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr>
    <td width="600" height="20">&nbsp;</td>
  </tr>
</table>

<?


}

}
y aqui la llamo

Código PHP:
if($vida_amenaza1 0){

$atacar atacar($vida_amenaza1,$vida_mascota1,$ataque_mascota1,$defensa_amenaza1,$ataque_amenaza1,$defensa_mascota1,$dados_amenaza1,$dados_mascota1,$mascota1['nombre'],$amenaza1['nombre']);

}else{
    
    if(
$vida_amenaza2 0){

    
$atacar atacar($vida_amenaza2,$vida_mascota1,$ataque_mascota1,$defensa_amenaza2,$ataque_amenaza2,$defensa_mascota1,$dados_amenaza2,$dados_mascota1,$mascota1['nombre'],$amenaza2['nombre']);
    
    }else{
        
        if(
$vida_amenaza3 0){

        
$atacar atacar($vida_amenaza3,$vida_mascota1,$ataque_mascota1,$defensa_amenaza3,$ataque_amenaza3,$defensa_mascota1,$dados_amenaza3,$dados_mascota1,$mascota1['nombre'],$amenaza3['nombre']);
    
        }else{
        
            if(
$vida_amenaza4 0){

            
$atacar atacar($vida_amenaza4,$vida_mascota1,$ataque_mascota1,$defensa_amenaza4,$ataque_amenaza4,$defensa_mascota1,$dados_amenaza4,$dados_mascota1,$mascota1['nombre'],$amenaza4['nombre']);
    
            }else{
            
                if(
$vida_amenaza5 0){

                
$atacar atacar($vida_amenaza5,$vida_mascota1,$ataque_mascota1,$defensa_amenaza5,$ataque_amenaza5,$defensa_mascota1,$dados_amenaza5,$dados_mascota1,$mascota1['nombre'],$amenaza5['nombre']);
    
                }}}}} 
el problema es k no me devuelve las vidas cuando las llamo

aver si me puedes ayudar
  #4 (permalink)  
Antiguo 03/11/2009, 09:44
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Problema con funcion

Para que una función te devuelva algo has de usar return <algo>

Ejemplo 1: Esta función no devuelve nada.

Código PHP:
function muestraMensaje($mensaje)
{
    echo 
$mensaje;
}

muestraMensaje("Hello World"); 
Esto pinta en pantalla el texto Hello World.

Ejemplo 2: Esta funcion si devuelve algo

Código PHP:
function decoraMensaje($mensaje)
{
  return 
"<b>".$mensaje."</b>";
}

$mi_mensaje decoraMensaje("Hola Mundo");
echo 
$mi_mensaje
Esto devuelve el texto Hola Mundo en negrita.

Saludos!
  #5 (permalink)  
Antiguo 03/11/2009, 09:55
 
Fecha de Ingreso: abril-2009
Mensajes: 356
Antigüedad: 15 años
Puntos: 7
Respuesta: Problema con funcion

ok

no abia caido :) gracias

otra duda k tengo es como podria devolver la vida de los 2

vamos 2 variables diferentes

gracias y aver si me puedes contextar esta duda
  #6 (permalink)  
Antiguo 03/11/2009, 09:59
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Problema con funcion

Devuelve un array.

Ejemplo

Código PHP:
function restarCinco($param1$param2)
{
  
$param1 $param1 5;
  
$param2 $param2 5;

  
$resultado = array();
  
$resultado['resultado1'] = $param1;
  
$resultado['resultado2'] = $param2;
  
  return 
$resultado;
}

$resultados restarCinco(515);

echo 
$resultados['resultado1']; // Pinta 0
echo $resultados['resultado2']; // Pinta 10 
Saludos!
  #7 (permalink)  
Antiguo 03/11/2009, 10:25
 
Fecha de Ingreso: abril-2009
Mensajes: 356
Antigüedad: 15 años
Puntos: 7
Respuesta: Problema con funcion

muchas gracias :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.