Beispiel #1
0
int main( int argc, char** argv )
{
	Jeu j;
	printf( "Les choses serieuses commencent.\n" );
	initJeu( &j );
	return 0;
}
Beispiel #2
0
void Controller::start()
{
	int clk = 1;

	if(ready_to_start)
	{
		for(int i=0; i<MAX_MONSTRE; i++)
		{
			this->monstres[i] = new Monstre(t);
			v->Setmonstre(i, monstres[i]);
		}

		while(!key[KEY_ESC] && p->isAlive())
		{
			v->afficherTout();

			rest(10);

			if(key[KEY_LEFT]) p->Move(-1, 0);
			if(key[KEY_RIGHT]) p->Move(1, 0);
			if(key[KEY_UP]) p->Move(0, -1);
			if(key[KEY_DOWN]) p->Move(0, 1);
			if(key[KEY_B]) p->Boire();
			if(key[MY_KEY_M]) p->Manger();
			if(p->Gettype() != NAGEUR && p->Gettype() != GRIMPEUR && key[KEY_G]) p->Gourde();
			if(p->Gettype() != NAGEUR && p->Gettype() != ECLAIREUR && key[KEY_S]) p->Sac();

			clk++;

			for(int i=0; i<MAX_MONSTRE; i++)
			{
				if(!monstres[i]->isAlive())
				{
					this->monstres[i] = new Monstre(t);
					v->Setmonstre(i, monstres[i]);
				}
			}

			if(clk%4 == 0)
			{
				for(int i=0; i<MAX_MONSTRE; i++)
				{
					monstres[i]->chercherJoueur(p->Getx(), p->Gety());
					if(monstres[i]->Getx() == p->Getx() && monstres[i]->Gety() == p->Gety())
						p->Setenergie(0);
				}
			}
		}

		allegro_message("End of game !");
	}
	else
	{
		type_perso = MARCHEUR;
		initJeu();
		start();
	}
}
Beispiel #3
0
int main()
{
	pid_t pid;
	if ((pid = fork()) < 0)
		erreur("Erreur lors de la creation du processus fils");

	if (pid == 0) 		
		execlp("clear","clear",NULL);

	wait(NULL);

	
	initJeu();
	affJeu();
	//initSDL();
	//affJeuSDL();
	boucle();
	return 0; 
}
Beispiel #4
0
void Controller::choisirJoueur()
{
	BITMAP *background = load_bitmap("res/ChoiceBackground.bmp", NULL);

	ready_to_start = true;
	type_perso = DEFAULT;

	draw_sprite(screen, background, 0, 0);

	while(type_perso == DEFAULT && !key[KEY_ESC])
	{
		rest(50);
		if(key[MY_KEY_M]) type_perso = MARCHEUR; // fix du bug qwerty/azerty
		if(key[KEY_N]) type_perso = NAGEUR;
		if(key[KEY_G]) type_perso = GRIMPEUR;
		if(key[KEY_E]) type_perso = ECLAIREUR;
	}

	initJeu();
}
int main()
{
	int i=0;
	struct timeval tpDeb;
	struct timeval tpFin;
	//Creation des threads
	pthread_t th[NB_THREADS];

	/* Creation des mutex et de la variable condition */
	pthread_mutex_init(&m1,NULL);
	pthread_mutex_init(&m2,NULL);
	pthread_cond_init(&cond,NULL);
	
	initJeu();
	initSDL();
	affJeuSDL();
	gettimeofday(&tpDeb,NULL);
	printf("Tps dbt: %d\n" ,tpDeb);
	/* Creation des threads */
	for (i=0;i<NB_THREADS;i++){
		pthread_create(&(th[i]),NULL,thread,NULL);
	}

	/* Attente de la fin de tous les threads */
	for (i=0;i<NB_THREADS;i++){
		pthread_join(th[i],NULL);
	}
	gettimeofday(&tpFin,NULL);
	printf("Tps fin: %d\n" ,tpFin);
	
	long tt = tpFin.tv_usec - tpDeb.tv_usec;
	
	printf("TOTAL = %d\n",(int)tt);
	/* Destruction des mutex et de la variable condition */
	pthread_mutex_destroy(&m1);
	pthread_mutex_destroy(&m2);

	pthread_cond_destroy(&cond);
	return 0; 
}
Beispiel #6
0
int main(int argc, char *argv[]){
	jeu *j;
	int b = 0, n = 0, i;
	char *fichierCharger = NULL;
	char *fichierTest = NULL;
	
	for(i = 1; i < argc; i++){
		/* joueur blanc */
		if(strlen(argv[i]) == 2 && strcmp(argv[i], "-b") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			if(strcmp(argv[i+1], "h") == 0) b = 1;
			else if(strcmp(argv[i+1], "r1") == 0) b = 2;
			else if(strcmp(argv[i+1], "r2") == 0) b = 3;
			else if(strcmp(argv[i+1], "r3") == 0) b = 4;
			else return 1;
			i++;
		}
		
		/* joueur noir */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-n") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			if(strcmp(argv[i+1], "h") == 0) n = 1;
			else if(strcmp(argv[i+1], "r1") == 0) n = 2;
			else if(strcmp(argv[i+1], "r2") == 0) n = 3;
			else if(strcmp(argv[i+1], "r3") == 0) n = 4;
			else return 1;
			i++;
		}
		
		/* fichier à charger */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-c") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			fichierCharger = argv[i+1];
			i++;
		}
		
		/* fichier à tester */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-t") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			fichierTest = argv[i+1];
			i++;
		}
		
		/* profondeur du minimax */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-p") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			MM_PROF = atoi(argv[i+1]);
			if(MM_PROF == 0){
				printf("Impossible de faire un IA minimax avec un profondeur de recherche de 0\n");
				exit(1);
			}
			if(MM_PROF > 10){
				printf("La profondeur du minimax est très grande. Le temps de calcul de l'IA risque d'être important.\n");
			}
			i++;
		}
		
		/* active l'aléatoire pour l'IA minimax */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-a") == 0){
			HEURISTIQUE_ALEA = 1;
		}
		
		/* change la valeur du pourcentage de différence par rapport au meilleur coup sur l'ia minimax avec aléatoire */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-g") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			HEURISTIQUE_ALEA_PERCENT = atoi(argv[i+1]);
			if(HEURISTIQUE_ALEA_PERCENT < 1 || HEURISTIQUE_ALEA_PERCENT > 100){
				printf("La valeur %d n'est pas une valeur autorisée : valeur entre 1 et 100\n", HEURISTIQUE_ALEA_PERCENT);
				exit(1);
			}
			i++;
		}
		
		/* désactive la proposition de sauvegarde de fin de partie */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-h") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			fichierTest = argv[i+1];
			if(strcmp(argv[i+1], "1") == 0) HEURISTIQUE_LVL = 1;
			else if(strcmp(argv[i+1], "2") == 0) HEURISTIQUE_LVL = 2;
			else{
				printf("La valeur [%s] n'est pas une valeur valide pour -h\n", argv[i+1]);
				exit(1);
			}
			i++;
		}
		
		/* désactive la proposition de sauvegarde de fin de partie */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-d") == 0){
			SAVE_END = 0;
		}
		
		/* fichier de sauvegarde automatique à la fin d'une partie */
		else if(strlen(argv[i]) == 2 && strcmp(argv[i], "-s") == 0){
			if(i+1 >= argc || strlen(argv[i+1]) == 0 || argv[i+1][0] == '-') return 1;
			SAVE_AUTO_NAME = argv[i+1];
			SAVE_END = 0;
			SAVE_AUTO = 1;
			i++;
		}
	}
	
	j = initJeu(b, n);
	if(fichierCharger != NULL) chargerFichierPlateau(j, fichierCharger);
	if(fichierTest != NULL) chargerFichierTest(j, fichierTest);
	startJeu(j);
	freeJeu(j);
	return 0;
}