Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/10/2006, 12:43
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 9 meses
Puntos: 2135
Código PHP:
        $this->nivel $nivel;
        
$this->armas $armas;
        
$this->ropas $vestimenta
Esa parte en tu metodo habilidadPersonaje no la necesitas (al inicio de tu clase), ya que al momento de llamar al metodo habilidadPersonaje, $nivel, $armas, $vestimenta, son nulas o no existen, y se las estas asignando a tus variables de tu clase $nivel, $armas y $vestimenta.

Recuerda cuando usamos la sintaxis $this->nivel, nos estamos refiriendo a la variable de la clase y no a la variable dentro de la funcion (esa es local), asi que solo usa tu clase de la forma que la ocupas.

Otro tip es asignar variables por defecto en el constructor, lo que podrias hacerlo asi:
Código PHP:
class Personaje
{
    public 
$tipo;
    public 
$habilidad;
    public 
$velocidad;
    public 
$vida;
    public 
$golpe;
    public 
$dinero;
    public 
$nivel;
    public 
$armas;
    public 
$vestimenta;
    
    public function 
__construct() {
           
$this->habilidad "15";
           
$this->velocidad "30";
           
$this->vida "200";
           
$this->golpe "10";
           
$this->dinero "0.00";
           
$this->nivel "2";
           
$this->armas = array();
           
$this->vestimenta = array();
    }

    public function 
habilidadPersonaje($tipo)
    {
        
$this->tipo $tipo;
        
        switch(
$this->tipo)    {
            case 
'Knight':
                if((
$this->nivel>1) && ($this->nivel<=5))    {
                    
//$this->habilidad = $this->habilidad; // No lo modificamos
                    // Armas
                    
$this->armas['Principal'] = "Navaja";
                    
$this->armas['Secundaria'] = "Piedra";
                    
// Vestimenta
                    
$this->ropas['Cabeza'] = "Gorro de papel";
                    
$this->ropas['Pecho'] = "Polera";
                    
$this->ropas['Piernas'] = "Pantalon de papel";
                    
$this->ropas['Pies'] = "Sandalias";
                }
            break;
        }
    }
}

$personaje = new Personaje();
$personaje->habilidadPersonaje('Knight');