Пример #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;
}
Пример #2
0
Файл: main.c Проект: 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;
}
Пример #3
0
calcIA(Jeu *jeu, int prof){
    int i,j,tmp;
    int max = MINEVAL;
    int maxi=-1,maxj=-1;

    if((prof!=0)){
        for(i=0;i<10; i++)
            for(j=0;j<10;j++){
                if(estVide(i,j)){
                    joue(i,j);
                    tmp = calcMin(jeu, prof-1);
                    if((tmp>max)||((tmp==max)&&(Rand::randi(2)))){
                        max = tmp;
                        maxi = i;
                        maxj = j;
					}
				}
			}
	}
    jeu->joue(maxi,maxj);
}