*/
Mapa::getArea(7, 3)->setLado(2, AREA_PAREDE);
$ogro = Personagem::pegar(10);
$ogro->setSentido(2);
$heroi = Personagem::pegar(1);
$heroi->setSentido(2);
Mapa::getArea(7, 3)->setPersonagem($ogro);
Mapa::getArea(2, 1)->setPersonagem($heroi);
$linha = Mapa::linha($heroi->getPos(), $ogro->getPos());
foreach ($linha as $area) {
    $area = Mapa::getArea($area->x, $area->y);
    if (!is_null($area)) {
        $area->setCor(array(107, 68, 35));
    }
}
echo Mapa::estaVendo($heroi, $ogro) . "<br />";
/*
for ($x=0; $x < Mapa::getMapWidth(); $x++) {
   for ($y=0; $y < Mapa::getMapHeight(); $y++) {
       $area = Mapa::getArea($x, $y);
       $dest = new stdClass();
       $dest->x = $x;
       $dest->y = $y;
       $sentido = Mapa::getSentido2D($heroi->getSentido(), $heroi->getPos(), $dest);
       switch ($sentido) {
           case SENTIDO_FRENTE:
               $area->setCor(array(167,211,255));
               break;
           case SENTIDO_FRENTE_DIREITA:
               $area->setCor(array(167,211,225));
               break;
 public function renderizarInimigo()
 {
     $personagemAtual = $this->personagemAtual();
     $pessoas = Mapa::listarPessoa();
     foreach ($pessoas as $char) {
         if (!is_null($personagemAtual)) {
             if ($personagemAtual->getId() == $char->getId()) {
                 continue;
             }
             if ($personagemAtual->getIdGrupo() != $char->getIdGrupo()) {
                 if (Mapa::estaVendo($personagemAtual, $char)) {
                     $this->renderizarPessoa($char, 'sessao-inimigo');
                 }
             }
         } elseif (Mapa::estaVendo($personagemAtual, $char)) {
             $this->renderizarPessoa($char, 'sessao-inimigo');
         }
     }
 }
 public function estaVendo($npc)
 {
     if (array_key_exists($npc->getId(), $this->visao) && $this->visao[$npc->getId()]) {
         return true;
     }
     $this->visao[$npc->getId()] = Mapa::estaVendo($this, $npc);
     return $this->visao[$npc->getId()];
 }