Ejemplo n.º 1
0
int main (int argc, char *argv[])/*função principal*/
{
	EVENTO tecla;
	COORD tam_ini, posi;

	argc=argc;/*corrigir warnings de argumentos nao ultilzados */
	argv=argv;/*corrigir warnings de argumentos nao ultilzados */
	tam_ini = tamanhoJanelaConsole();/*atribuição de procedimento*/
	posi = getPosicaoJanela();/*atribuição de procedimento*/
	
	do 
	{	
		tecla = Evento();

		nome_console();/*chama procedimendo para mudar o nome do console*/
		maximiza_console();/*chamada do procedimento para maximizar janela do console*/
		velas();/*chama função para criar as velas*/

		if (tecla.teclado.codigo_tecla == ESC)/*verifica ponto de parada do programa*/
			{
				setPosicaoJanela(posi.X, posi.Y);/*coloca na posição inicial*/
				setDimensaoJanela(tam_ini.X, tam_ini.Y);/*coloca no tamanho inicial*/
				break;
			}
	}while(1);/*se verdade sai*/

	return(0);
}
Ejemplo n.º 2
0
/** chequear si hay eventos nuevos para un jugador */
Evento Modelo::actualizar_jugador(int s_id) {
	int tocado = this->tocar(s_id, this->tiros[s_id].t_id);
    if (this->hayEventos(s_id) > 0) {
    	Evento retorno = this->eventos[s_id].front();
		this->eventos[s_id].pop();
		return retorno;
    } else {
		return Evento(s_id, -1, 0, 0, -tocado);
	}
}
Ejemplo n.º 3
0
/* Se eliminan los eventos de la lista y se lo completa con los nuevos
 * Obtenidos por el teclado.
 */
int Controlador::cambiar(std::vector<Evento>* listaEventos) {
	listaEventos->clear();

	SDL_Event event;
	SDL_PollEvent(&event);
	const Uint8 *state = SDL_GetKeyboardState(NULL);

	if (((event.key.keysym.sym == SDLK_KP_PLUS) || (event.key.keysym.sym ==SDLK_PLUS)) && !state[SDL_SCANCODE_KP_MINUS]){
				Evento mas = Evento(5);
				listaEventos->push_back(mas);
				return CONTINUAR;
	}

	if (((event.key.keysym.sym == SDLK_KP_MINUS) || (event.key.keysym.sym ==SDLK_MINUS)) && !state[SDL_SCANCODE_KP_PLUS]){
			Evento menos = Evento(6);
			listaEventos->push_back(menos);
			return CONTINUAR;
	}

	if (event.key.keysym.sym == SDLK_LEFT && (state[SDL_SCANCODE_LEFT])) {
		if (state[SDL_SCANCODE_RIGHT] && state[SDL_SCANCODE_UP]) {
			Evento der = Evento(2);
			Evento arriba = Evento(3);
			listaEventos->push_back(der);
			listaEventos->push_back(arriba);
			return CONTINUAR;
		} else if (state[SDL_SCANCODE_RIGHT]) {
			Evento der = Evento(2);
			listaEventos->push_back(der);
			return CONTINUAR;
		} else {
			Evento izq = Evento(1);
			listaEventos->push_back(izq);
			return CONTINUAR;
		}

	}

	else if (event.key.keysym.sym == SDLK_RIGHT && (state[SDL_SCANCODE_RIGHT])) {
		if (state[SDL_SCANCODE_LEFT] && state[SDL_SCANCODE_UP]) {
			Evento izq = Evento(1);
			Evento arriba = Evento(3);
			listaEventos->push_back(izq);
			listaEventos->push_back(arriba);
			return CONTINUAR;

		} else if (state[SDL_SCANCODE_LEFT]) {
			Evento izq = Evento(1);
			listaEventos->push_back(izq);
			return CONTINUAR;
		} else {
			Evento der = Evento(2);
			listaEventos->push_back(der);
			return CONTINUAR;
		}
	}

	else if (event.key.keysym.sym == SDLK_UP && (state[SDL_SCANCODE_UP])) {

		if (state[SDL_SCANCODE_LEFT] && state[SDL_SCANCODE_UP]){
			Evento arriba = Evento(3);
			listaEventos->push_back(arriba);
			return CONTINUAR;

		} else if (state[SDL_SCANCODE_LEFT]) {
			Evento izq = Evento(1);
			Evento arriba = Evento(3);
			listaEventos->push_back(izq);
			listaEventos->push_back(arriba);
			return CONTINUAR;
		} else if (state[SDL_SCANCODE_RIGHT]) {
			Evento der = Evento(2);
			Evento arriba = Evento(3);
			listaEventos->push_back(der);
			listaEventos->push_back(arriba);
			return CONTINUAR;

		}else{

		Evento arriba = Evento(3);
		listaEventos->push_back(arriba);
		return CONTINUAR;
		}

		}

	else if (event.key.keysym.sym == SDLK_r && (state[SDL_SCANCODE_R])) {
		Evento reset = Evento(4);
		listaEventos->push_back(reset);
		return REINICIAR;
	}

	if (state[SDL_SCANCODE_LEFT]){
		Evento izq = Evento(1);
		listaEventos->push_back(izq);
		return CONTINUAR;
	}

	if (state[SDL_SCANCODE_RIGHT]){
		Evento der = Evento(2);
		listaEventos->push_back(der);
		return CONTINUAR;
	}

	if (state[SDL_SCANCODE_KP_PLUS]){
			Evento mas = Evento(5);
			listaEventos->push_back(mas);
			return CONTINUAR;
	}

	if (state[SDL_SCANCODE_KP_MINUS]){
			Evento menos = Evento(6);
			listaEventos->push_back(menos);
			return CONTINUAR;
	}

	if (event.type == SDL_QUIT){
		return FIN_DEL_JUEGO;
	}

	Evento nada= Evento(0);
	listaEventos->push_back(nada);
	return CONTINUAR;
}