Ejemplo n.º 1
0
int main(void)
{
	long long seed = time(NULL);
	printf("(seed=%llu)\n", seed);
	srand(seed);

	test_get_set();
	test_position();
	test_ensemble_position();
	test_plateau();
	test_chaines();
	test_coup();

	return EXIT_SUCCESS;
}
Ejemplo n.º 2
0
int recuperer_valeur()
{
	if (turn == 1) {
		printf("[SYS] Au tour de \"%s\"(X). Que voulez-vous jouer ? ",joueur1);
		scanf("%s",jeu);
		if (strcmp(jeu,"tab") == 0)
			afficher_plateau();
		else
			printf("[SYS] Vous avez joué %s\n\n",jeu);
	} else if (turn == 2) {

		if (contre_ia)
		{
			int i, j;
			for (i = 0; i < N; i++) {
				for (j = 0; j < N; j++) {
					if (test_adjacence(i,j) && test_coup(i,j)) {
						jeu[0] = i+65;
						jeu[1] = j+49;
					}
				}
			}
			/*
			if (i == 8 && j == 8)
				return -1;
			*/
			printf("[SYS] PC a joué : %s\n", jeu);
		} else {
			printf("[SYS] Au tour de \"%s\"(O). Que voulez-vous jouer ? ",joueur2);
			scanf("%s",jeu);

			if (strcmp(jeu,"tab") == 0)
				afficher_plateau();
			else
				printf("[SYS] Vous avez joué %s\n\n",jeu);
		}
	} else {
		fprintf(stderr, "[ERR] Erreur selection joueur\n");
		return -1;
	}

	return 1;
}
Ejemplo n.º 3
0
int main ()
{


    char choix;

    printf("Voulez-vous jouer contre l'ordinateur ? (O/n)\n");

    scanf("%c",&choix);

    if (choix == 'O' || choix == 'o')
    	contre_ia = 1;


	printf("[SYS] Entrez le nom du joueur1 (X) : ");
	scanf("%s",joueur1);

	if (contre_ia) {
		strcpy(joueur2,"PC");

	} else { 
		printf("[SYS] Entrez le nom du joueur2 (O) : ");
		scanf("%s",joueur2);
	}
	printf("[SYS] Joueur1(X): \"%s\", Joueur2(O): \"%s\"\n",joueur1, joueur2);

	initialiser();
	afficher_plateau();

	int finished=0;
	while(!finished)
	{
		int val = recuperer_valeur();


		if (val < 0)
			finished=1;


		/* Dans la table ASCII: • les minuscules sont entre 97 et 122
		 						• Les majuscules entre 65 et 90;
		*/
		int x,y;
		y = (jeu[1] - '0') -1;
		

		if (jeu[0] >= 65 && jeu[0] < 73) /* 73 pour s'arrêter à H */
			x = jeu[0] - 65;
		else if (jeu[0] >= 97 && jeu[0] < 105) /* 105 pour s'arrêter à h */
			x = jeu[0] - 97;
		else {
			fprintf(stderr, "[ERR] Vous avez entré une valeur erronnée.\n");
			continue;
		}


		if (strcmp(jeu,"tab") == 0)
			continue;

		if ((x < 0 || x > 8 || y < 0 || y > 8))
		{
			fprintf(stderr, "[ERR] Vous avez entré une valeur erronnée.\n");
			continue;
		}
		if (plateau[x][y] != 0) {
			fprintf(stderr, "[ERR] La case est déjà remplie :( Réessayez\n");
			continue;
		}
		
		if (!test_adjacence(x,y) || !test_coup(x,y)) {
			fprintf(stderr, "[ERR] Ce coup est impossible. Réessayez\n");
			continue;
		}


		jouer_coup(x,y);

		turn = (turn == 1) ? 2 : 1;

		afficher_plateau();

	}

	printf("Terminé ! %s a eu %d, %s a eu %d\n",joueur1, score_j1, joueur2, score_j2);


	return 0;
}