Beispiel #1
0
int main()
{
	bienvenido();
	Juego myjuego;
	myjuego.blackjack();
	return 0;
}
Beispiel #2
0
int main(int argc, char *argv[])
{
	allegro_init();
	install_allegro_gl();
	install_keyboard();
	install_mouse();
    
    try
    {
        Juego::Inicializar() ;
        
        Juego *juego = new Juego();
        juego->BuclePrincipal();
        delete juego ;    
            
        Juego::Cerrar();        
    }
    catch ( Excepcion &ex )
    {
        set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
        allegro_message("%s\n", ex.GetMensajeDeError().c_str());
    }
    catch ( exception &ex )
    {
        set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
        allegro_message("%s\n", ex.what() );
    }    
}
Beispiel #3
0
int main() {
	Juego * juego = new Juego();

	juego->jugar();

	delete juego;
	return 0;
}
int main(int , char**)
{
	//TO DO: Sistema Ferroviario !

	Juego SistemaFerroviario;
	SistemaFerroviario.ciclo();
	system("pause");
	return 0;
}
Beispiel #5
0
//Genero la semilla de azar, creo el objeto juego y lo arranco
int main (int argc, char *argv[]) {
	
	srand(time(NULL));
	
	Juego j;
	
	j.jugar();
	
	return 0;
}
Beispiel #6
0
void Matriz::aciertos (Juego &game, int mx, int my)
{
	/*
	 * Metodo que modifica Juego._cuantas_acertadas al comprobar
	 * Matriz.Cuadrado.mina = Matriz.Pantalla.hayFlag
	 * 
	 * 
	 * 
	 */
	
    if (_matriz[mx][my].get_mina() and _matriz[mx][my].get_hayFlag() )
    {
        game.set_cuantas_acertadas (game.get_cuantas_acertadas() +1);
    }

    else if (_matriz[mx][my].get_mina() and not _matriz[mx][my].get_hayFlag() )
    {
        game.set_cuantas_acertadas (game.get_cuantas_acertadas() -1);
    }
}
Beispiel #7
0
void Matriz::iniciar (Juego &game)
{
	/*Inicia matriz de juego, Modifica el atributo Cuadrado.mina
	 * de acuerdo al atributo Juego.prob de manera aleatoria
	 * Notese el uso previo de la funcion vector.resize para modificar el tamaño
	 * del vector de vectores y el uso del iterador.
	
	*/
	
	_matriz.resize (_fil);
	for (std::vector<std::vector<Cuadrado> >::iterator it = _matriz.begin(); it != _matriz.end(); ++it)
	{
		it->resize (_col);
	}
	 
	
	time_t t;
	
	for (int i=0; i<_fil;i++)
	{
		for (int j=0; j<_col; j++)
		{
			
			
			srand(time_seed()+i*i-j);
			float x = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);
			
			if (x < game.get_prob() )
			{
				_matriz[i][j].set_mina(true);
				game.set_cuantas_minas( game.get_cuantas_minas() +1);

			}
		}
	}
	vecindad();
}
Beispiel #8
0
void DarkGDK ( void )
{
	dbSyncOn   ( );
	dbSyncRate (60);
	dbDisableEscapeKey ( );
	dbSetWindowTitle("Pollos Voladores");
	
	dbSetDisplayMode(1300,628,32);
	dbSetImageColorKey(255,0,255);//Define el contorno de la imagen
	dbDrawSpritesFirst(); 
	dbLoadImage("BackGround2.bmp",1);		
	dbSprite(1,0,0,1); //BackGround
	
	dbShowMouse();	

	/* Instancia Objeto Mundo */
	
	Juego juego;
	//juego.CargarFigurasTxt();
	//juego.PintarFiguras();

	double resultado,h,k;

	while (LoopGDK())
	{
		juego.MensajeJuego();
		dbCircle(300,530,50);
		
		/* Num1 Carga El pollo Para Lanzar  */
		if (dbKeyState(0x02) == 1)
		{
			while(dbKeyState(0x02) == 1);
			juego.CargarPolloLanzar();

		}
		
		/* Num2 Dispara el Ave */
		if (dbKeyState(0x03) == 1)
		{
			while(dbKeyState(0x03) == 1);
			juego.MovProyectilPollo();
		}

		/* Num3 Decrementa Angulo del Ave*/
		if (dbKeyState(0x04) == 1) 
		{
			juego.DecrementarRotacionAve();
		}	
		
		if (dbMouseClick()==1)
		{
			int pointX=dbMouseX();
			int pointY=dbMouseY();
			juego.VerificarMousePos(pointX,pointY,1);

		}

		if (dbMouseClick() == 2) //El clic derecho del Mouse permite Rotar al Pollo
		{
			int pointX=dbMouseX();
			int pointY=dbMouseY();
			juego.VerificarMousePos(pointX,pointY,2);
		}
		
		if (dbKeyState(0x1C) == 1)
		{
			while (dbKeyState(0x1C) == 1);
			juego.ReiniciarJuego();

		}
		
		if (dbLeftKey() == 1)
		{
			while (dbLeftKey() == 1);
			juego.MenuMundoIzquierda();
		}
		
		if (dbRightKey() == 1)
		{
			while (dbRightKey() == 1);
			juego.MenuMundoDerecha();
		}
		dbSync();
	}
	return;
}
Beispiel #9
0
int main() {
	//----------------VARIABLES-----------------
	std::string entrada;
	Juego juego;
	//----------------COMANDOS------------------
	std::cout<<"Bienvenido al juego. RISK."<<std::endl;

	do{
		std::cout<<"$ ";
		getline(std::cin,entrada);

		if(entrada.find("inicializar")==0) {
			if(!juego.getEstado())
				std::cout<<"El juego ya esta en curso."<<std::endl;
			else if(juego.getEstado()==2){
				std::cout<<"Juego finalizado. Iniciando nueva partida."<<std::endl;
				if(juego.inicializar())
                    std::cout<<"Juego inicializado."<<std::endl;
			}
			else{
				if(entrada.size()>12){
					if(juego.inicializar(entrada.substr(12)))
						std::cout<<"Juego inicializado.";
				}
				else if(juego.inicializar())
					std::cout<<"Juego inicializado.";
			}
            std::cout<<std::endl;
		}

		else if(entrada.find("ayuda")==0) {
			if(entrada.size()>5)
				juego.help(entrada.substr(5));
			else
				juego.help();
		}

		else if(entrada.find("turno")==0) {
			if(!juego.getEstado()) {
				if(entrada.size()>6) {
					int flag=juego.jugarTurno(atoi(entrada.substr(6).c_str()));

					if(!flag){
						std::cout<<"Turno completado correctamente."<<std::endl;
					}
					else if(flag==1)
						std::cout<<"Turno invalido."<<std::endl;
					else if(flag==2)
						std::cout<<"Jugador invalido."<<std::endl;
				}
				else
					std::cout<<"Turno actual: "<<Juego::turno<<std::endl;
			}
			else if(juego.getEstado()==1)
				std::cout<<"No existe ningun juego activo."<<std::endl;
			else if(juego.getEstado()==2)
				std::cout<<"Juego finalizado."<<std::endl;
		}
		else if(entrada.find("ver")==0){
            if(entrada.size()>4)
                juego.ver(entrada.substr(4));
			else
				juego.print();
		}
		else if(entrada.find("guardar")==0&&entrada.size()>8){
			juego.save(entrada.substr(8));
		}
		else if(entrada!="salir"&&entrada!="")
            std::cout<<"Comando no encontrado. Digite help para visualizar las opciones disponibles."<<std::endl;
	}while(entrada!="salir");

	return 0;
}
Beispiel #10
0
int main()
{
	int dimension, col, fila;
	unsigned short turno;
	char simbolo, jugar;

	Juego juego;
	Estadistica estadistica;
	Jugador jugadorA(1), jugadorB(2);
	Tablero tablero;

	system("color 0B");

	while (!juego.getSalir()) {
		juego.setGameOver(false);

		do {
			cout << "Ingreseñ la dimension del tablero (3|4|5): ";
			cin >> dimension;
			if (dimension > 5 || dimension < 3)
				cout << "\n ERROR: Escoja una dimension en el rango dado" << endl;
		} while(dimension > 5 || dimension < 3);
		tablero.setDimension(dimension);

		do {
			cout << "\nQue jugador empezara la partida (1|2): ";
			cin >> turno;
			if (turno > 2 || turno < 1)
				cout << "\n ERROR: Escoja un Jugador en el rango dado" << endl;
		} while(turno > 2 || turno < 1);
		juego.setTurno(turno);

		do {
			cout << "\nElija el simbolo del jugador que inicia (O|X): ";
			cin >> simbolo;
			if (toupper(simbolo) != 'O' && toupper(simbolo) != 'X')
				cout << "\n ERROR: Escoja el caracter X o O" << endl;
		} while(toupper(simbolo) != 'O' && toupper(simbolo) != 'X');

		// asignacion del simbolo
		if (turno == 1) {
			jugadorA.setSimbolo(toupper(simbolo));
			if (toupper(simbolo) == 'X') {
				jugadorB.setSimbolo('O');
			} else {
				jugadorB.setSimbolo('X');
			}
		} else {
			jugadorB.setSimbolo(toupper(simbolo));
			if (toupper(simbolo) == 'X') {
				jugadorA.setSimbolo('O');
			} else {
				jugadorA.setSimbolo('X');
			}
		}
		system("cls");

		while(!juego.getGameOver()){
			cout << "Cantidad de partidas jugadas: " << estadistica.getNPartidas() << "\t\tVictorias Jugador 1: " << jugadorA.getVictorias()<<endl;
			cout << "Victorias Jugador 2: " << jugadorB.getVictorias() << "\t\tEmpates: " << estadistica.getNEmpates()<<endl;
			cout << "Turno: Jugador " << juego.getTurno();
			tablero.dibujar();
			cout << "\n\n\n\n";

			do {
				do
				{
					cout << "Ingresa la fila: ";
					cin >> fila;
					if(fila > dimension || fila < 1) {
						cout << " ERROR: fila fuera de rango intente de nuevo" << endl;
					}
				} while(fila > dimension || fila < 1);

				do
				{
					cout << "Ingresa la columna: ";
					cin >> col;
					if (col > dimension || col < 1) {
						cout << " ERROR: columna fuera de rango intente de nuevo" << endl;
					}
				} while(col > dimension || col < 1);

				if (tablero.getPosicion(fila - 1, col - 1) != ' ')
					cout << "ERROR: casilla ocupada" << endl;
			} while(tablero.getPosicion(fila - 1, col - 1) != ' ');

			juego.getTurno() == 1 ? tablero.setFicha(fila - 1, col - 1, jugadorA.getSimbolo()): tablero.setFicha(fila - 1, col - 1, jugadorB.getSimbolo());

			system("cls");
			tablero.dibujar();

			if (tablero.calcularResultado(jugadorA.getSimbolo()) == 1) {
					cout << "\t\t\t\t\t\t\n\nEl ganador es el jugador 1 " << jugadorA.getSimbolo();
					system("pause>nul");
					jugadorA.addVictoria();
					estadistica.addPartida();
					juego.setGameOver(true);
			} else if(tablero.calcularResultado(jugadorA.getSimbolo()) == 2) {
					cout << "\t\t\t\t\t\t\n\nEl ganador es el jugador 2 " << jugadorB.getSimbolo();
					system("pause>nul");
					jugadorB.addVictoria();
					estadistica.addPartida();
					juego.setGameOver(true);
			} else if(tablero.calcularResultado(jugadorA.getSimbolo()) == 3) {
					cout << "\t\t\t\t\t\t\n\nEmpate";
					system("pause>nul");
					estadistica.addEmpate();
					estadistica.addPartida();
					juego.setGameOver(true);

			}

			if (juego.getGameOver()) {
				cout << "\n\n  ¿Desea volver a jugar? (S/N): ";
				cin >> jugar;
				jugadorA.setPorVictorias(estadistica.getNPartidas());
				jugadorB.setPorVictorias(estadistica.getNPartidas());
				estadistica.setPorEmpates();
				if (toupper(jugar) == 'N') {
					cout << "Partidas jugadas: " << estadistica.getNPartidas() << endl;
					cout << "Victorias jugador 1: " << jugadorA.getVictorias() << endl;
					cout << "Porcentaje de victorias jugador 1: " << jugadorA.getPorVictorias() << "%" << endl;
					cout << "Victorias jugador 2: " << jugadorB.getVictorias() << endl;
					cout << "Porcentaje de victorias jugador 2: " << jugadorB.getPorVictorias() << "%" << endl;
					cout << "Empates: " << estadistica.getNEmpates() << endl;
					cout << "Porcentaje de empates: " << estadistica.getPorEmpates() << "%" << endl;
					juego.setSalir(true);
					system("pause>nul");
					system("cls");
				}
			}
			juego.getTurno() == 1 ? juego.setTurno(2) : juego.setTurno(1);
			system("cls");
		}
	}
Beispiel #11
0
int main()
{
//Variables
	string player;
	int balance=0;
	string cartaSalida=" ";
	string cartaEntrante=" ";
	int ordenCarta=0;
	bool inteligenciaPC=false;
	bool jugadaPC=false;
	bool jugadaPlayer=false;
	//int cartonPC=0;
	//int cartonPlayer=0;

//Inicio de clases


	Carta carta;
	Mazo crearMazo;
	Players players;
	Juego juego;
	JuegoPC juegopc;
	JuegoMesa juegomesa;


//Ingreso de datos
	cout<<"Ingrese nombre del jugador: "<<endl; //Nombre jugador
	cin>>player;
	players.setPlayername(player);
	cout<<"Ingrese nombre del contrincante: "<<endl; //Nombre PC
	cin>>player;
	players.setPCname(player);
	cout<<"Cantidad a apostar: "<<endl; //Cantidad de Apuesta//
	cin>>balance;
	players.setPlayerbalance(balance);
	players.setPCbalance(balance);

	//cout<<players.getPlayername()<<endl;
	//cout<<players.getPCname()<<endl;
	//cout<<players.getPlayerbalance()<<endl;
	//cout<<players.getPCbalance()<<endl;

//Ingreso de datos automaticos
	//players.setPCname("PC");
	//players.setPlayerbalance(35);
	//players.setPCbalance(35);
	players.setpuntajePlayer(0);
	players.setpuntajePC(0);

while ((players.getpuntajePlayer()<40) || (players.getpuntajePC()<40))
{
	crearMazo.resetCarta();
	crearMazo.nuevoMazo();
	crearMazo.shuffle(); //Barajar mazo
	//cartonPC=0;
	//cartonPlayer=0;

//-------------------------------
while(crearMazo.masCartas()==true)
{
	
	for (int i=0 ; i<5 ; i++) //Asigna cartas a mano Player
	{	
		cartaSalida = crearMazo.darCarta().toString();
		juego.asignarmanoPlayer(cartaSalida);
		//cout<<cartaSalida<<endl;
	}

	for (int i=0 ; i<5 ; i++) //Asigna cartas a mano PC
	{	
		cartaSalida = crearMazo.darCarta().toString();
		juegopc.asignarmanoPC(cartaSalida);
		//cout<<cartaSalida<<endl;
	}
//-----------------------
while (juego.sizemanoPlayer()>0)
{
	cout<<"Mano de "<<players.getPlayername()<<": "<<endl;
	for (int i=0; i<juego.sizemanoPlayer(); i++)
	{
		cout<<i+1<<". "<<juego.vermanoPlayer(i)<<endl;
	}


	cout<<"Mano de "<<players.getPCname()<<": "<<endl;
	for (int i=0; i<juegopc.sizemanoPC(); i++)
	{
		cout<<i+1<<". "<<juegopc.vermanoPC(i)<<endl;
	}
//--------------------------
	cout<<"Que carta bota?"<<endl;
	cin>>ordenCarta;
	while((ordenCarta>juego.sizemanoPlayer()) && (ordenCarta<=0)){
	cout<<"Numero invalido, ingrese de nuevo:"<<endl;
	cin>>ordenCarta;
	}
	cartaSalida = juego.vermanoPlayer(ordenCarta-1);
	
	juegomesa.asignarMesa(cartaSalida);

	juego.caermanoPlayer(ordenCarta);

	//cout<<"Mano Jugador:"<<endl;
	//for (int i=0; i<juego.sizemanoPlayer(); i++)
	//{
	//	cout<<i+1<<". "<<juego.vermanoPlayer(i)<<endl;
	//}
	//cout<<"Mesa:"<<endl;
	//for (int i=0; i<juegomesa.sizeMesa(); ++i)
	//{
	//	cout<<i+1<<". "<<juegomesa.verMesa(i)<<endl;
	//}
//Analisis de juegada Player ---------------------------------------------------
	jugadaPlayer=false;
if (juegomesa.sizeMesa()>=2)
{
	for(int i=0; i<juegomesa.sizeMesa(); ++i)
	{
		for(int j=i+1; j<juegomesa.sizeMesa(); ++j)
			{
				cartaEntrante=juegomesa.verMesa(i);
				cartaSalida=juegomesa.verMesa(j);
					if (cartaEntrante.substr(0,1)==cartaSalida.substr(0,1))
						{
							juegomesa.quitardeMesa(i);
							juegomesa.quitardeMesa(j);
							//cartonPlayer=cartonPlayer+2;
							jugadaPlayer=true;
							if ((i==j-1) && (jugadaPC==false))
								{	
									cout<<"Caída!"<<endl;
									players.setpuntajePlayer(players.getpuntajePlayer()+2);
									break;
								}
							break;
						}
			}
	}
	if (juegomesa.sizeMesa()==0)
	{	
		cout<<"Limpia!"<<endl;
		players.setpuntajePlayer(players.getpuntajePlayer()+2);
	}
}
	if (players.getpuntajePlayer()>=40)
	{
	goto WinPlayer;
	}
	cout<<"Puntaje Player: "<<players.getpuntajePlayer()<<endl;
	cout<<"Puntaje PC: "<<players.getpuntajePC()<<endl;

//Inteligencia PC ---------------------------------------------------
	inteligenciaPC=false;	
	for(int i=juegomesa.sizeMesa()-1; i==0; --i)
	{
		if (inteligenciaPC==false)
		{
			for(int j=0; j<juegopc.sizemanoPC(); ++j)
			{
				cartaEntrante=juegomesa.verMesa(i);
				cartaSalida=juegopc.vermanoPC(j);
					if (cartaEntrante.substr(0,1)==cartaSalida.substr(0,1))
						{
							cartaSalida = juegopc.vermanoPC(j);
							cout<<"PC a botado a: "<<cartaSalida<<endl;
							juegomesa.asignarMesa(cartaSalida);
							juegopc.caermanoPC(j); 
							inteligenciaPC=true;
							break;
						}
	
			}
		}
	}

	if (inteligenciaPC==false)
	{
		srand (time(NULL));
		int random = rand() % juegopc.sizemanoPC();
		cartaSalida = juegopc.vermanoPC(random);
		cout<<players.getPCname()<<" a botado a: "<<cartaSalida<<endl;
		juegomesa.asignarMesa(cartaSalida);
		juegopc.caermanoPC(random);
		inteligenciaPC=true;
	}

//Analisis de juegada PC ------------------
jugadaPC=false;
if (juegomesa.sizeMesa()>=2)
{
	for(int i=0; i<juegomesa.sizeMesa(); ++i)
	{
		for(int j=i+1; j<juegomesa.sizeMesa(); ++j)
			{
				cartaEntrante=juegomesa.verMesa(i);
				cartaSalida=juegomesa.verMesa(j);
					if (cartaEntrante.substr(0,1)==cartaSalida.substr(0,1))
						{
							juegomesa.quitardeMesa(i);
							juegomesa.quitardeMesa(j);
							//cartonPC=cartonPC+2;
							jugadaPC=true;
							if ((j-1==i) && (jugadaPlayer==false))
								{	
									cout<<"Caída!"<<endl;
									players.setpuntajePC(players.getpuntajePC()+2);
									break;
								}
							break;
						}
			}
	}
	if (juegomesa.sizeMesa()==0)
	{	
		cout<<"Limpia!"<<endl;
		players.setpuntajePC(players.getpuntajePC()+2);
	}
	if (players.getpuntajePC()>=40)
	{
	goto WinPC;
	}
}
	cout<<"//--------------------------------------//"<<endl;
	cout<<"Puntaje Player: "<<players.getpuntajePlayer()<<endl;
	cout<<"Puntaje PC: "<<players.getpuntajePC()<<endl;
	cout<<"Mesa:"<<endl;
	for (int i=0; i<juegomesa.sizeMesa(); ++i)
	{
		cout<<i+1<<". "<<juegomesa.verMesa(i)<<endl;
	}
	
}//while mano player
}//while deck mayor a cero
//cout<<"Carton de PC: "<<cartonPC<<endl<<"Carton de "<<players.getPlayername()<<": "<<cartonPlayer<<endl;
}//while puntaje



WinPC:
	players.setPlayerbalance(players.getPlayerbalance()-players.getPCbalance());
	players.setPCbalance(players.getPCbalance()*2);
	cout<<players.getPCname()<<" ha ganado!"<<endl<<"Tu puntaje es: "<<players.getpuntajePlayer()<<", mientras que el de "<<players.getPCname()<<" es de: "<<players.getpuntajePC()<<endl<<"Has perdido por: "<<players.getpuntajePC()-players.getpuntajePlayer()<<" puntos"<<endl<<"Dinero que te queda: "<<players.getPlayerbalance()<<", dinero que le queda a tu adversario: "<<players.getPCbalance()<<endl;
	
	goto End;
WinPlayer:
	players.setPCbalance(players.getPCbalance()-players.getPlayerbalance());
	players.setPlayerbalance(players.getPlayerbalance()*2);
	cout<<players.getPlayername()<<" ha ganado!"<<endl;
	cout<<"¡Has ganado!"<<endl<<"Tu puntaje es: "<<players.getpuntajePlayer()<<", mientras que el de "<<players.getPCname()<<" es de: "<<players.getpuntajePC()<<endl<<"Has ganado por: "<<players.getpuntajePlayer()-players.getpuntajePC()<<" puntos"<<endl<<"Dinero que le queda a tu adversario: "<<players.getPCbalance()<<", dinero que te queda: "<<players.getPlayerbalance()<<endl;

End:
	cout<<"Presiona ENTER para salir del programa"<<endl;
	cin.ignore().get();

}
Beispiel #12
0
int probarJuegosPersonas(std::vector<Juego>& juegos,std::vector<Persona>& personas ) {

    Logger logger;
    int numeroDeJuego=0;
    pid_t processId;
    std::list<pid_t> procesosCreados;

        for(std::vector<Juego>::iterator it=juegos.begin(); it!=juegos.end(); ++it)
        {
            processId = fork() ;
            if ( processId == 0 ) {
                numeroDeJuego = atoi( ((*it).getNombre()).c_str() ) ;
                std::cout << "Juego reporting in: " << numeroDeJuego << std::endl;
                break;
            } else {
                procesosCreados.push_back(processId);
            }
        }

	if ( processId == 0 ) {
        //estoy en un proceso HIJO
        //aca dentro esta la inteligencia del juego y el loop
        std::cout << "apunto de iniciar juego" << std::endl;
        Juego juego = juegos[numeroDeJuego];
        std::cout << juego.getNombre() << std::endl;
        juego.iniciar();

	} else {
        //proceso principal padre
        //ordenado de menor a mayor
        sleep(3);
        std::cout << "proceso padre continua" << std::endl;

        int numeroDePersona=0;

        for(std::vector<Persona>::iterator it=personas.begin(); it!=personas.end(); ++it)
        {
            processId = fork() ;
            if ( processId == 0 ) {
                numeroDePersona = atoi( ((*it).getNombre()).c_str() ) ;
                std::cout << "Persona reporting in: " << numeroDePersona << std::endl;
                break;
            } else {
                procesosCreados.push_back(processId);
            }
        }

        if ( processId == 0 ) {
            //estoy en un proceso HIJO
            //cada proceso hijo tiene un NUMERODEHIJO al salir del fork

            //aca dentro esta la inteligencia del juego y el loop
            Persona persona = personas[numeroDePersona];
            persona.vivir();
        } else {

            processId = fork() ;

            if ( processId == 0 )
            {
                AdministradorDelParque admin;

                admin.vivir();
            }
            else
            {
                //padre espera
                for(unsigned int i=0;i<personas.size();i++){
                    wait(NULL);
                    logger.l("Parque","sistema","una persona menos en el parque");
                }
                logger.l("Parque","sistema","cierro parque");
            }
        }
	}
    logger.l("xxxxxx","xxxxx","xxxxx");
    return 0;
}
Beispiel #13
0
int main(int argc, char *argv[]) {
	Juego j;
	j.loop();
	return 0;
}