*/ 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()]; }