1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
#include <stdlib.h> //pour maloc
#include <stdio.h>
#include <stdbool.h> //pour les booleen
int main()
{
int Plateau, pl;
int L, C; // Ligne (L) et Colone (C)
char * c;
bool continuer;
// Vérfier L et C sont impaires
printf("Entrez un nombre de lignes :");
scanf("%d", &L);
while (L % 2 == 0)
{
printf("Mauvaise nombre entrez un nombre de ligne impaire :");
scanf("%d", &L);
}
printf("Entrez un nombre de colones :");
scanf("%d", &C);
while (C % 2 == 0)
{
printf("Mauvaise nombre entrez un nombre de colone impaire :");
scanf("%d", &C);
}
do
{
initialiserPlateau(&pl, L, C);
printf("Voulez vous jouer (o ou n)"); // o pour oui, n pour non
scanf("%c", &c);
if (c == 'o')
{
continuer = 1;
}else
{
continuer = 0;
}
jouerPartie(&pl, L, C);
} while (continuer == 1);
}
struct Plateau
{
int L;
int C;
int **tab;
};
void initialiserPlateau(Plateau *pl, int L, int C){
pl -> L=L;
pl -> C=C;
//allocation
pl -> tab = (int ) malloc(L * (sizeof(int)));
int i, j;
for (i = 0; i < L; i++)
{
pl -> tab[i] = (int ) malloc(C sizeof(int));
}
//initialisation
for (i = 0; i < L; i++)
{
for (j = 0; i < C; j++)
{
pl -> tab[i][j] = 0;
}
}
}
void jouerPartie(Plateau pl, int L, int C){
int nombre_tours = (LC-1)/2;
int i;
for(i=1; i <= nombre_tours; i++)
{
clear();
afficherPl(pl);
ajouterPion(pl, 1, i); //ajouter au plateau pour le joueur 1 et le ième pion
afficherPl(pl);
ajouterPion(pl, 1, i); //ajouter au plateau pour le joueur 2 et ième pion
}
int j = verifierVainqueur(pl);
}
void ajouterPion(Plateau pl, int joueur, int i){
// déclarer 2 variables (int ligne = 2, int colonne = 4)
// 2 scanf quelle ligne qu'elle colone
// vérifier que la case exite et qu'elle n'est pas utiliser
// Plateau : 3 lignes x 5 colonnes => pl.L <= lignes
// Case(2,4)
//if( pl.tab[2][4] === 0) === false (case vide)
//if( pl.tab[2][4] === 0) === true (case vide)
// pl.tab[2][4] = i
// printf("pion placé!"); wait / sleep(10)
}
int verifierVainqueur(Plateau pl) {
int ligne, colonne;
int i, j;
for (i = 0; i < pl.L; i++) {
for (j = 0; j < pl.C; j++) {
if(pl.tab[i][j] == 0) {
ligne = i;
colonne = j;
}
}
}
// la case vide est à la position (ligne, colonne)
int scoreJoueur1 = 0 , scoreJoueur2 = 0;
for (i=0; i <= ligne +1; i++) {
for (j=0; j <= colonne +1; j++) {
// pl.tab[i][j] => couleur ?
if (couleur = "la couleur du joueur 1") {
scorejoueur1 = scoreJoueur1 + pl.tab[i][j];
}
else (couleur = "la couleur du joueur 2") {
scorejoueur2 = scorejoueur2 + pl.tab[i][j]
}
}
}
if (scoreJoueur1 > scoreJoueur2) {
return 1;
}
else if (scoreJoueur2 < scoreJoueur1) {
return 2;
}
else {
return 0;
}
} |