Example #1
0
 public function inserir($id_personagem, $nome)
 {
     $ouro = TERRENO_INICIAL * TERRENO_CUSTO;
     $regraPersonagem = new Personagem();
     $regraPersonagem->gastarOuro($id_personagem, $ouro);
     $query = "\n            INSERT INTO cidade (\n                id_personagem,\n                nome\n            ) VALUES (\n                '" . do_escape($id_personagem) . "',\n                '" . do_escape($nome) . "'\n            )\n        ";
     $id_cidade = do_insert($query);
     $this->adicionarTerreno($id_personagem, $id_cidade, TERRENO_INICIAL);
     return $id_cidade;
 }
 public function trabalhar($id_personagem, $id_construcao, $slug, $turno)
 {
     //var_dump($id_personagem, $id_construcao, $slug, $turno);
     $mensagens = array();
     $regraPersonagem = new Personagem();
     $personagem = $regraPersonagem->pegar($id_personagem);
     $construcao = $this->pegar($id_construcao);
     if ($construcao->id_personagem != $id_personagem) {
         $construdor = $regraPersonagem->pegar($construcao->id_personagem);
         $ouro = $construdor->ouro;
         //var_dump($construdor);
     }
     $nh = $personagem->pericias[$slug]->nh;
     $turno = $personagem->turno;
     $maximo = $construcao->teste[$slug]->maximo - $construcao->teste[$slug]->quantidade;
     $sucessos = 0;
     for ($i = 0; $i < 10; $i++) {
         if ($turno <= 0) {
             $mensagens[] = 'A quantidade de turnos acabou.';
             break;
         }
         if ($construcao->id_personagem != $id_personagem) {
             $ouro -= VALOR_TRABALHO;
             if ($ouro < 0) {
                 $mensagens[] = 'Seu ouro acabou.';
                 break;
             }
             $regraPersonagem->gastarOuro($construcao->id_personagem, VALOR_TRABALHO);
             $regraPersonagem->pagarOuro($id_personagem, VALOR_TRABALHO);
         }
         $sucesso = jogar($nh, 8);
         $mensagem = $personagem->nome . ' testeu ' . $personagem->pericias[$slug]->nome;
         if ($sucesso > 0) {
             $mensagem .= ' e obteve ' . $sucesso . ' sucesso(s).';
         } elseif ($sucesso == 0) {
             $mensagem .= ' e não obteve nenhum sucesso.';
         } elseif ($sucesso < 0) {
             $mensagem .= ' e obteve uma falha crítica.';
         }
         if ($construcao->id_personagem != $id_personagem) {
             $mensagem .= ' Você pagou ' . VALOR_TRABALHO . ' gold pelo trabalho.';
         }
         $sucessos += $sucesso;
         $regraPersonagem->gastarTurno($id_personagem, 1);
         $turno--;
         $this->adicionarPericia($id_construcao, $slug, $sucesso);
         if ($sucessos >= $maximo) {
             $mensagens[] = 'Essa parte da obra foi concluída.';
             break;
         }
         $mensagens[] = $mensagem;
     }
     $this->verificar($id_construcao);
     return $mensagens;
 }