int main(int argc, char const *argv[]) { liste_navire l ; int N ; int compteur = 0,i ,j ; char coup[10] ; grille gc , g ; // par defaut s'il n'y pas de deuxième argument on initie N à 10 if(argc<2){ N = 10 ; } else{ N = char_to_int(argv[1],0); } gc = init_grille ( N , ' ' ) ; g = init_grille(N, 'B') ; printf("Le joueur 1 doit placer les bateaux \n"); usr_remplir_grille(g, N ); //remplir_gille(g,N); l = cree_liste_navires(g, N); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nau joueur 2 d'essayer de couler les navires.\n"); while(!jeu_fini(l)){ printf("\nVoici la grille\n"); affiche_etat_coules(gc, N ); printf("veuillez entrer les coordonées du tir (ex: \"E5\")\n"); scanf("%s",coup); if(strlen(coup)<2){ printf("coordonnée trop court il faut rentrer les 2 paramètre colonne et ligne\n"); } else{ j = coup[0] - 'A' ; i = char_to_int(coup, 1); if (i<0 || j<0 || i>(N-1) || j > N-1) { printf("\n\nVos coordonnées sortent du tableau ou son invalide \n\n"); } else{ joue(g,gc,N,l,i,j); printf("\n"); compteur++ ; } } } printf("vous avez fini le jeu en %d tirs \nLa disposition des bateaux est :\n", compteur ); afficher_jeu(g,N); //libération des grilles free_grille(g,N); free_grille(gc,N); liberer_maillon(l); return 0; }
int main (int argc, char * argv[]) { int i,j, taille, nb_coup; grille g, gc; carac_navires tab_def_jeu[4]; FILE * fichierIn; if (argc != 3) { printf("main.c : Il n'y a pas le bon nombre d'arguments\n"); exit(1); } else { taille = atoi(argv[1]); fichierIn = open_file(argv[2]); } liste_navires * l; nb_coup = 0; g = creer_grille(taille); init_grille(g, taille); init_carac_navires (tab_def_jeu); gc = creer_grille(taille); init_grille(gc, taille); remplit_grille(g, taille, fichierIn, tab_def_jeu); l = creer_liste_navires(g, taille); while(!jeu_fini(l)) { printf("Quel point ?\n"); if (scanf("%d", &i)!= 1) { printf("Entrer un couple d'entier svp !\n"); getchar(); } printf("la première coordonées est entrée, entrez la deuxième : \n"); if (scanf("%d", &j)!= 1) { printf("Entrer un couple d'entier svp !\n"); getchar(); } printf("Les deux coordonées on bien été récupérées !\n"); joue(g, gc, taille, l, i, j); nb_coup++; affichage(gc, taille); } printf("Félicitation le jeu est terminé !!\nIl vous a fallut %d coup pour coulé tout les bateaux\n", nb_coup); return 0; }
int main(void){ char path[]="../Data/grille.txt"; GRILLE grille; init_grille(grille); saisie_grille(grille,path); affiche_grille(grille); return 0; }
int main(void) { joueur_t *j1, *j2, *courant; char vainqueur; unsigned int col = 0, ligne = 0; /* Initialisation */ j1 = (joueur_t *) malloc(sizeof(joueur_t *)); j2 = (joueur_t *) malloc(sizeof(joueur_t *)); init_joueur("Joueur 1", 'X', j1); init_joueur("Joueur 2", 'O', j2); courant = j1; srand(time(NULL)); init_grille(); /* Jeu */ printf("Début de la partie\n"); do{ printf("============= Début du tour ==============\n"); debut: saisir_coord(&col, &ligne); col --; ligne --; if(!placer_symbole(col, ligne,courant->symbole)) { printf("Cette case est occupée.\n"); goto debut; } else courant = courant == j1 ? j2 : j1; afficher_grille(); printf("============== Fin du tour ===============\n"); } while(!est_nulle() && !est_gagnee(&vainqueur)); if(est_nulle()) printf("La partie se termine par un match nul.\n"); else printf("La partie a été remportée par %s.\n", vainqueur == j1->symbole ? j1->nom : j2->nom); printf("Partie Terminée\n"); /* Libération mémoire */ free_grille(); free(j1); free(j2); exit(EXIT_SUCCESS); }
/** * Test l'ensemble des fonctions écrites dans ce fichier. */ int main(void) { init_grille(); assert(test_init_grille()); assert(test_placer_symbole()); assert(test_est_nulle()); assert(test_verifier_ligne()); assert(test_verifier_colonne()); assert(test_verifier_diagonales()); assert(test_est_gagnee()); free(grille); exit(EXIT_SUCCESS); }
static int test_est_nulle() { int i; init_grille(); for(i = 0 ; i < TAILLE_GRILLE ; i++) { assert(!est_nulle()); *(grille+i) = 'X'; } assert(est_nulle()); return 1; }
static int test_placer_symbole() { init_grille(); assert(placer_symbole(0, 0, 'X')); assert(*grille == 'X'); assert(!placer_symbole(0, 0, 'O')); assert(placer_symbole(2,2,'O')); assert(*(grille+8) == 'O'); assert(placer_symbole(1,2,'X')); assert(*(grille+1+2*LONGUEUR) == 'X'); return 1; }
static int test_verifier_colonne() { int i; char vainqueur; init_grille(); for(i = 0 ; i < LONGUEUR ; i++) { assert(!verifier_colonne(1, &vainqueur)); placer_symbole(1, i, 'O'); } assert(verifier_colonne(1, &vainqueur)); assert(vainqueur == 'O'); return 1; }
static int test_verifier_ligne() { int i; char vainqueur; init_grille(); for(i = 0 ; i < LONGUEUR ; i++) { assert(!verifier_ligne(0, &vainqueur)); placer_symbole(i, 0, 'X'); } assert(verifier_ligne(0, &vainqueur)); assert(vainqueur == 'X'); return 1; }
/** \brief charge une grille depuis un fichier. * \param fich, nom du fichier de paramètres de la grille */ int main (int argc, char** argv) { grille g; fourmi f; //erreur de paramètres if (argc != 2 ) { printf("usage : fourmi <fichier grille> \n"); printf("fichier grille : localisation du fichier de la grille à utiliser.\n"); return 1; } init_grille(argv[1], &g, &f); boucle_cairo (); libere_grille(&g); return 0; }
static int test_verifier_diagonales() { char vainqueur; init_grille(); assert(!verifier_diagonales(&vainqueur)); placer_symbole(0, 0, 'O'); placer_symbole(1, 1, 'O'); placer_symbole(2, 0, 'X'); placer_symbole(0, 2, 'W'); assert(!verifier_diagonales(&vainqueur)); placer_symbole(2, 2, 'O'); assert(verifier_diagonales(&vainqueur)); assert(vainqueur == 'O'); return 1; }
static int test_est_gagnee() { char vainqueur; init_grille(); assert(!est_gagnee(&vainqueur)); placer_symbole(0, 0, 'X'); placer_symbole(0, 1, 'O'); placer_symbole(0, 2, 'X'); assert(!est_gagnee(&vainqueur)); placer_symbole(1, 1, 'O'); placer_symbole(2, 1, 'O'); assert(est_gagnee(&vainqueur)); assert(vainqueur == 'O'); return 1; }