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