int main()
{
    vidas(1000);
    Barra_salud(4);
    explocion();
    jugar();
    getch();
}
示例#2
0
void main() {
    while (checkWinner() == 3 && i < 8) {
        jugar(i);
        i++;
    }

    system("pause");
}
示例#3
0
int main(){
    
    vidas(Num_vidas);
    Barra_salud(Corazones);
    gotoxy(ix,iy);puts(avion_l1);
    gotoxy(ix,iy+1);puts(avion_l2);
    gotoxy(ix,iy+2);puts(avion_l3);
    
    while(Num_vidas > 0){
    jugar();
}
    
    getch();
    return 0;
    }   
示例#4
0
int main(void)
{
	int hora, vec1[4], vec2[4], cantidadIntentos = 1;

	hora = time(NULL);
	srand(hora);

	vaciarVector(vec1);
	vaciarVector(vec2);
	llenarVectorAleatorio(vec1);
	mostrarVector(vec1);
	jugar(vec1, vec2, &cantidadIntentos);

	if (cantidadIntentos == 11)
		printf("\nUsted ha perdido.");

	return EXIT_SUCCESS;
}
示例#5
0
文件: Bingo.c 项目: jpmrno/PI
int main(void) {
	srand(time(0));
	TipoCarton * carton;
	TipoCarton bolillero;
	int jugadores, i;

	jugadores = cantJugadores();
	
	carton = generarJugadores(jugadores);
	for(i = 0; i < jugadores; i++)
		imprimeCarton(carton[i], i);

	bolillero = generarBolillero();

	if(bolillero == NULL || carton == NULL)
		return ERROR;

	if(jugar(jugadores, carton, bolillero)) {
		imprimeBolillero(bolillero);
		return OK;
	}
	return ERROR;
}
示例#6
0
int main()
{
    int i, shmid;
    int semid;
    int jugadorX = 0;
    int jugadorO = 0;
    bool *continuar;
    int *tab;
    llave_semaforo();
    llave_memoria();

    reiniciar_juego(&tab,&semid,&shmid);

    //Se utiliza continuar como bandera para saber cuando terminar el proceso O
    //continuar apunta a una casilla extra del arreglo del tablero de juego.
    continuar = &tab[(TAM*TAM)+1];
    system("clear");

    //Se bloquea a O en espera de X
    wait_sem(semid,jugadorO);

    while((*continuar))
    {
        system("clear");
        imprimir(&tab);
        jugar(&tab);
        system("clear");

        //Se despierta a X
        signal_sem(semid,jugadorX);

        //Se bloquea a O
        wait_sem(semid,jugadorO);
    }
    return 0;
}
示例#7
0
	void Partida::reanudarPartida(Usuario* usu)
	{
			jugar(usu);
	}
示例#8
0
/* main crea la partida según las especificaciones del usuario 
** y llama a jugar con dicha partida. */
int main(void){
	
	int opcion;
	int modo;
	tPartida partida;
	char nombre[MAX_NOM];	
	tFlag ganador;
	int filas, columnas;
	
	printf("\n\t\t=*=*=*=*=*=*=*=*=*==FANORONA==*=*=*=*=*=*=*=*=*=*=");
	printf("\n\t\t=*=*=*=*=*=*=*=*=FUTURAMA EDITION=*=*=*=*=*=*=*=*=\n\n");

	printf("\n\t\t=*=*=*=*=*=*=*==NOTAS SOBRE EL JUEGO=*=*=*=*=*=*=*=\n");
	printf("\n\t\t\t\tLa captura es obligatoria\n");
	printf("\n\t\tLas casillas fuertes se marcan con letras mayusculas\n");
	printf("\t\ty las debiles oon minuscula");
	printf("\n\n\t\tEl formato de movida es \"M [Fo,Co][Fd,Cd][w]\", o bien\n");
	printf("\t\t\"M [Fo,Co][Fd,Cd][a]\", siendo Fo,Co Fd,Cd las coordenadas\n");
	printf("\t\tde origen y destino, y w/a el tipo de movida (WITHDRAWAL \n");
	printf("\t\t o APPROACH)\n\n");
	printf("\t\t=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n\n");
	printf("\tElija una opcion:\n\n");
	printf("\t\t1. Juego nuevo: vs PC\n");
	printf("\t\t2. Juego nuevo: dos jugadores\n");
	printf("\t\t3. Cargar partida de archivo\n");
	printf("\t\t4. Salir\n\n");
	do{
		opcion=getint("Ingrese un numero de opcion > "); 
	}while(opcion<1 || opcion>4);

	if(opcion == 1 || opcion == 2){
		modo = opcion == 1 ? PVE : PVP; /* 1 es juego contra la computadora, 2 es dos jugadores*/	
		pedirDimensiones(&filas, &columnas);
		partida=generarPartida(filas,columnas, modo);
	
		if(partida == NULL){
			imprimirError(ERR_MEM_COMPU);
			return 1;
		}
	}
	else if(opcion == 3){
		/*Cargar partida*/
		printf("Ingrese el nombre del archivo:\n > ");
		leerLinea(nombre, MAX_NOM);
		partida=cargarPartida(nombre); /*modo cambia al correspondiente (0 o 1)*/
	        if(partida == NULL){
			printf("\nError al intentar abrir el archivo \"%s\". Abortando...\n\n", nombre);
			return 1;
		}
		printf("\nMODO DE JUEGO: %s\n", modoJuego(partida)?"DOS JUGADORES":"JUGADOR VS COMPUTADORA");
		printf("TURNO DEL JUGADOR %s\n", jugadorActual(partida)?"NEGRO":"BLANCO");
		printf("DIMENSIONES DEL TABLERO: %dx%d\n\n", numFilas(partida),numCols(partida));
	}
			
	else{
		/* Salir */
		printf("\n\t\t¡Adios!\n\n");
		return 0;
	}


	ganador = jugar(partida);		

	switch(ganador) {
		case GANADOR_BLANCO: printf("\a\n\n\t===========GANADOR: BLANCO==========\n\n"); break;
		case EMPATE: printf("\a\n\n\t===========EMPATE===========\n\n"); break;
		case GANADOR_NEGRO: printf("\a\n\n\t==========GANADOR: NEGRO===========\n\n"); break;
	}
	eliminarPartida(partida);
	return 0;

}
示例#9
0
void menus()
{
	int opcion1, opcion2, accion;
	
	do
	{
		system ("cls");
		printf ("===================================AKINATOR===================================\n\n");
		printf ("================================MENU PRINCIPAL================================\n\n");
		printf("1. Mantenimiento\n");
		printf("2. Jugar\n");
		printf("0. Salir\n");
		printf ("\nSeleccione la accion que desee realizar y teclee Intro: ");
		scanf("%d", &opcion1); 

		switch (opcion1)
		{
		case 0: 
			break;

		case 1:

			do
			{
				system ("cls");
				printf ("===================================AKINATOR===================================\n\n");
				printf ("================================MANTENIMIENTO================================\n\n");
				printf("\t1. Mantenimiento de personajes\n");
				printf("\t2. Mantenimiento de preguntas\n");
				printf("\t3. Mantenimiento de usuarios\n");
				printf("\t0. Volver al menu principal\n");
						
				printf ("\nSeleccione la accion que desee realizar y teclee Intro: ");
				scanf("%d", &opcion2); 

				switch (opcion2)
				{
				case 0:
					printf ("\n");
					break;

				//MANTENIMIENTO PERSONAJE
				//
				//
				case 1:

					do
					{
						system ("cls");
						printf ("===================================AKINATOR===================================\n\n");
						printf ("==========================MANTENIMIENTO DE PERSONAJES==========================\n\n");
						printf ("\t\t1. Insertar personaje\n");
						printf ("\t\t2. Ver todos los personajes\n");
						printf ("\t\t3. Modificar personaje\n");
						printf ("\t\t4. Borrar personaje\n");
						printf ("\t\t0. Volver al menu de mantenimiento\n\n");

						printf ("Seleccione la accion que desee realizar y teclee Intro: ");
						scanf ("%d", &accion);

						switch (accion)
						{
							case 0:
								printf ("\n");
								break;

							case 1:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("==============================INSERTAR PERSONAJE==============================\n\n");
								introducir_personaje ();
								break;

							case 2:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("==============================MOSTRAR PERSONAJES==============================\n\n");
								mostrar_personaje ();
								printf ("\n");
								system ("pause");
								break;

							case 3:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("=============================MODIFICAR PERSONAJES=============================\n\n");
								modificar_personaje ();
								break;

							case 4: 
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("===============================BORRAR PERSONAJES==============================\n\n");
								borrar_personaje ();
								break;
						
							default: 
								printf("\nAccion imposible de realizar\n\n");
								system ("pause");
						}								
					}while (accion !=0);
					break;

				//MANTENIMIENTO PREGUNTA
				//
				//
				case 2:	
					do
					{	
						system ("cls");
						printf ("===================================AKINATOR===================================\n\n");
						printf ("==========================MANTENIMIENTO DE PREGUNTAS==========================\n\n");
						printf ("\t\t1. Insertar pregunta\n");
						printf ("\t\t2. Ver todas las preguntas\n");
						printf ("\t\t3. Modificar pregunta\n");
						printf ("\t\t4. Borrar pregunta\n");
						printf ("\t\t0. Volver al menu de mantenimiento\n\n");

						printf ("Seleccione la accion que desee realizar y teclee Intro: ");
						scanf ("%d", &accion);

						switch (accion)
						{
							case 0:
								printf ("\n");
								break;
							
							case 1:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("==============================INSERTAR PREGUNTA===============================\n\n");
								introducir_pregunta ();
								break;

							case 2:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("===============================MOSTRAR PREGUNTAS==============================\n\n");
								mostrar_pregunta ();
								printf ("\n");
								system ("pause");
								break;

							case 3:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("==============================MODIFICAR PREGUNTAS=============================\n\n");
								modificar_pregunta ();
								break;

							case 4: 
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("===============================BORRAR PREGUNTAS===============================\n\n");
								borrar_pregunta();
								break;
						
							default: 
								printf("\nAccion imposible de realizar\n\n");
								system ("pause");
						}
					}while (accion !=0);
					break;

				//MANTENIMIENTO USUARIO
				//
				//
				case 3:
					do
					{
						system ("cls");
						printf ("===================================AKINATOR===================================\n\n");
						printf ("===========================MANTENIMIENTO DE USUARIOS==========================\n\n");
						printf ("\t\t1. A%cadir jugador\n", 164);
						printf ("\t\t2. Ver todos los jugadores\n");
						printf ("\t\t3. Modificar jugador\n");
						printf ("\t\t4. Borrar jugador\n");
						printf ("\t\t0. Volver al menu de mantenimiento\n\n");

						printf ("Seleccione la accion que desee realizar y teclee Intro: ");
						scanf ("%d", &accion);

						switch (accion)
						{
							case 0:
								printf ("\n");
								break;

							case 1:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("================================A%cADIR USUARIO===============================\n\n", 165);
								introducir_usuario ();
								break;

							case 2:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("===============================MOSTRAR USUARIOS===============================\n\n");
								mostrar_usuario ();
								printf ("\n\n");
								system ("pause");
								break;

							case 3:
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("==============================MODIFICAR USUARIOS==============================\n\n");
								modificar_usuario ();
								break;

							case 4: 
								system ("cls");
								printf ("===================================AKINATOR===================================\n\n");
								printf ("================================BORRAR USUARIOS===============================\n\n");
								borrar_usuario ();
								break;
							
							default: 
								printf("\nAccion imposible de realizar\n\n");
								system ("pause");
						}							
					}while (accion !=0);
						break;

				default:
					printf("\nHa introducido una opcion no valida.\n\n");
					system ("pause");
				}
			} while (opcion2 != 0);
			break;

		case 2:
			system ("cls");
			printf ("===================================AKINATOR===================================\n\n");
			printf ("====================================JUGAR=====================================\n\n");
			jugar();
			system ("pause");
			break;

		default:
			printf("\nAccion imposible de realizar\n\n");
			system ("pause");

		}
	}
	while (opcion1 != 0);
}
void JuegoCliente::ejecutar(){

	if(puedoJugar){

		this->lector = new LectorTerreno(this->esc, this->esc->imagenTierra, this->cliente->getId());
		agregarTexturas(esc);
		agregarAgua(esc);
		this->dibujablesBase = new list<Dibujable*>(this->vista->getListaDibujables()->size());
		copy(this->vista->getListaDibujables()->begin(),this->vista->getListaDibujables()->end(),this->dibujablesBase->begin());


		this->cliente->enviarQuieroJugar();

		Reproductor::getReproductor()->activar();
		Logger::getLogger()->guardarEstado();
		//list<Dibujable*> *lista = new list<Dibujable*>(this->dibujablesBase->size());
		//game loop
		//espero que el servidor me diga q arranque...
		this->menu->agregarMensaje(string("Esperando a los demas jugadores..."),30,0,255,0);
		this->menu->dibujar();
		while(this->cliente->arrancarJuego == false){
		
			if (this->menu->leerEvento() == nameMenu::SALIR) return;
			this->cliente->actualizar();
		};
	
		const int SKIP_TICKS = 1000 / FPS;
		int sleepTime =0;
		DWORD next_game_tick = GetTickCount();


		while(!this->cliente->partidaTerminada && this->estadoActual != SALIDA && (evento->type != SDL_QUIT)){
			try{
				if(this->cliente->getTiempoActualDeJuego() == tiempoTurno) while(SDL_PollEvent(evento)); //vacio la lista de eventos.
				this->leerEvento();
				this->cliente->actualizar();
		
				this->reloj->setTiempoActual(this->cliente->getTiempoActualDeJuego());
		
				this->crearLista(this->cliente->vistaSerializada);

				if(this->cliente->nuevoMensaje){
					this->cartelInfo->setInfo(this->cliente->mensajeInfo);
					this->cliente->nuevoMensaje = false;
				}

				for(int i=0; i< maxExplosionesPorTurno; i++){
					if(this->cliente->exp[i].radio >= 0){
						this->vista->destruir(cliente->exp[i].x, cliente->exp[i].y, cliente->exp[i].radio, this->lector);
						this->vista->motor->generarExplosion(cliente->exp[i].x, cliente->exp[i].y);
						this->cliente->exp[i].radio = -1;
					}
				}

				this->vista->motor->actualizar();
			

				if(simulando){
					switch(estadoActual){

						case JUGANDO:		jugar();	break;
						case PAUSADO:		esperar();	break;
					}
				}
		
				vista->Dibujar();

				next_game_tick += SKIP_TICKS;
				sleepTime = next_game_tick - GetTickCount();
				if( sleepTime >= 0 ) {
					Sleep( sleepTime );
				}
			}
			catch(exception &e){
			
				cout<<"catch en JuegoCliente::ejecutar: "<<e.what()<<endl;
			};
		}

		if(this->cliente->partidaTerminada) this->volverAjugarCliente();

	}
}