void testeRelacaoJogadoresTerritorios() { Controlador controlador; Jogador *Bode = controlador.novoJogador("Bode"), *Cido = controlador.novoJogador("Cido"), *Lucius = controlador.novoJogador("Lucius"); Territorio *Computacao = controlador.novoTerritorio("Computacao"), *Fisica = controlador.novoTerritorio("Fisica"), *Matematica = controlador.novoTerritorio("Matematica"), *Economia = controlador.novoTerritorio("Economia"), *Biologia = controlador.novoTerritorio("Biologia"); Bode->ganhaTerritorio(Computacao); Cido->ganhaTerritorio(Fisica); Lucius->ganhaTerritorio(Matematica); std::cout << "(testeRelacaoJogadoresTerritorios) Atualizando a tabela de status do jogo." << std::endl; controlador.atualizaTabelaStatus(); Computacao->setPossuidor(Cido); std::cout << "(testeRelacaoJogadoresTerritorios) " << Computacao->getNome() << " � possu�do por: " << Computacao->getPossuidor()->getNick() << std::endl; std::cout << "(testeRelacaoJogadoresTerritorios) Atualizando a tabela de status do jogo." << std::endl; controlador.atualizaTabelaStatus(); Economia->setPossuidor(Bode); Biologia->setPossuidor(Cido); Computacao->setPossuidor(Lucius); std::cout << "(testeRelacaoJogadoresTerritorios) " << Economia->getNome() << " � possu�do por: " << Economia->getPossuidor()->getNick() << std::endl; std::cout << "(testeRelacaoJogadoresTerritorios) " << Biologia->getNome() << " � possu�do por: " << Biologia->getPossuidor()->getNick() << std::endl; std::cout << "(testeRelacaoJogadoresTerritorios) " << Computacao->getNome() << " � possu�do por: " << Computacao->getPossuidor()->getNick() << std::endl; std::cout << "(testeRelacaoJogadoresTerritorios) Atualizando a tabela de status do jogo." << std::endl; controlador.atualizaTabelaStatus(); }
void Mapa::Combate(Jogador *jog) { Jogador *j = nullptr; // se exitir um jogador ao lado -> verificar a adjacencia if (GuardaJogador(jog) != nullptr) { j = GuardaJogador(jog); // se o jogador tiver uma pedra na mao if (jog->getPedra() == true) { j->setVida(j->getVida() - 2); // tirar a pedra do vetor de objeto; jog->retiraPedra(); // adiciona pontos jog->setPontos(jog->getPontos() + 5); } // se nao tiver uma pedra ataca com as maos else { j->setVida(j->getVida() - 1); jog->setPontos(jog->getPontos() + 3); } if (j->getVida() <= 0) { jog->setPontos(jog->getPontos() + 10); } } }
int main() { /* Turn on the 2D graphics core. */ powerOn(POWER_ALL_2D); /* * Configure the VRAM and background control registers. * * Place the main screen on the bottom physical screen. Then arrange the * VRAM banks. Next, confiure the background control registers. */ lcdMainOnBottom(); initVideo(); initBackgrounds(); consoleDemoInit(); /* Set up a few sprites. */ SpriteInfo spriteInfo[SPRITE_COUNT]; oam = new OAMTable(); initOAM(oam); //initSprites(oam, spriteInfo); OAM_Manager oam_manager (spriteInfo,oam); Jogador jogador (spriteInfo, &oam_manager); jogador.initGfx (); NPC npc (spriteInfo, &oam_manager); npc.initGfx (); /* * Update the OAM. * * We have to copy our copy of OAM data into the actual OAM during VBlank * (writes to it are locked during other times). */ swiWaitForVBlank(); updateOAM(oam); /* Loop forever so that the Nintendo DS doesn't reboot upon program * completion. */ controle.reset (); for (;;) { consoleClear (); /* Update the game state. */ updateInput(); handleInput(); jogador.update (&controle); npc.update (NULL); /* * Update the OAM. * * We have to copy our copy of OAM data into the actual OAM during * VBlank (writes to it are locked during other times). */ swiWaitForVBlank(); updateOAM(oam); } return 0; }
void DesenhaCena() { // Limpa a janela com a cor especificada como cor de fundo glClear(GL_COLOR_BUFFER_BIT); if (estadosJogo.getJogo()) { if (inimigo.getAtirando() && tiroInimigo.getAtirando() == false) { tiroInimigo.setAtirando(true); tiroInimigo.CriarTiro(inimigo); } if (tiroPlayer.getAtirando()) { tiroPlayer.setPlayerAtirando(true); tiroPlayer.setInimigoAtirando(false); tiroPlayer.Desenha(); } if (tiroInimigo.getAtirando()) { tiroInimigo.setInimigoAtirando(true); tiroInimigo.setPlayerAtirando(false); tiroInimigo.Desenha(); } //instancia do tiro do player tiroPlayer.Colisao(inimigo, jogador); //instancia do tiro do inimigo tiroInimigo.Colisao(inimigo, jogador); //colisao da nave inimiga com a do jogador jogador.Colisao(inimigo); inimigo.Desenha(); jogador.Desenha(); telaJogo.DesenhaTexto(tiroPlayer); if (jogador.getVida() <= 0) { estadosJogo.setOverAtivo(true); estadosJogo.setJogo(false); } } if (estadosJogo.getMenuAtivo()) { estadosJogo.menu(); } else if (estadosJogo.getOverAtivo()) { estadosJogo.gameOver(); } if (estadosJogo.getSairJogo()) { exit(0); } glutSwapBuffers(); //função que solicita o redesenho da DesenhaCena, incorporando as modificações de variáveis glutPostRedisplay(); }
void ComandosJogador(int tecla, int x, int y) { //if e else encadeados para testar a variavel tecla if (estadosJogo.getJogo()) { if (tecla == GLUT_KEY_RIGHT) { jogador.setPosicaoX(0.3f); } else if (tecla == GLUT_KEY_LEFT) { jogador.setPosicaoX(-0.3f); } if ((tecla == GLUT_KEY_UP) && tiroPlayer.getAtirando() == false) { tiroPlayer.setAtirando(true); tiroPlayer.CriarTiro(jogador); } } else if (estadosJogo.getMenuAtivo() || estadosJogo.getOverAtivo()) { if (tecla == GLUT_KEY_F1) { if (estadosJogo.getAuxMenu() == 1) { estadosJogo.setJogo(true); estadosJogo.setOverAtivo(false); estadosJogo.setMenuAtivo(false); jogador.setVida(4); inimigo.setPosicaoY(); tiroPlayer.setPontos(0); estadosJogo.setAuxMenu(1); } else { estadosJogo.setSairJogo(true); } } else if (tecla == GLUT_KEY_DOWN) { if (estadosJogo.getAuxMenu() == 1) { estadosJogo.setAuxMenu(0); } else { estadosJogo.setAuxMenu(1); } } if ((tecla == GLUT_KEY_UP) && tiroPlayer.getAtirando() == false) { if (estadosJogo.getAuxMenu() == 0) { estadosJogo.setAuxMenu(1); } else { estadosJogo.setAuxMenu(0); } } } //função que solicita o redesenho da DesenhaCena, incorporando as modificações de variáveis glutPostRedisplay(); }