Beispiel #1
0
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();
}
Beispiel #2
0
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);
		}
	}

}
Beispiel #3
0
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();
}