Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
Archivo: main.c Proyecto: Gr05/CPS
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;
}
Ejemplo n.º 3
0
int main(void){
	char path[]="../Data/grille.txt";
	GRILLE grille;	
	init_grille(grille);
	saisie_grille(grille,path);
	affiche_grille(grille);
	return 0;
}
Ejemplo n.º 4
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);
}
Ejemplo n.º 5
0
/**
 *	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); 
}
Ejemplo n.º 6
0
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;
}
Ejemplo n.º 7
0
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;
}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
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;
}
Ejemplo n.º 10
0
Archivo: main.c Proyecto: Herbe/tdd_tp6
/** \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;
}
Ejemplo n.º 11
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;
}
Ejemplo n.º 12
0
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;
}