int main( int argc, char** argv ) { Jeu j; printf( "Les choses serieuses commencent.\n" ); initJeu( &j ); return 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(); } }
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; }
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; }
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; }