j'ai inseré un if vers la fin de mon code pour choisir entre noir ou blanc:
main.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include <stdio.h>
#include <stdlib.h>
int c=0;
int i,j;
unsigned char p[19][19];  /* go board */
unsigned char l[19][19];  /* liberty of current color */
unsigned char ma[19][19]; /* working matrix for marking */
unsigned char ml[19][19]; /* working matrix for marking */
char ans[2];
int p1move, p2move;        /* p1 color, p2 color */
int lib;                  /* current stone liberty */
int p1ik, p1jk;             /* location of p1 stone captured */
int p2ik, p2jk;             /* location of p2 stone captured */
int p1k, p2k;               /* no. of stones captured by p1 and p2 */
int new=0;
void showboard(int c);
int main(int argc,char *argv[]){
 
while ((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)){
	printf ("Taille du Goban:\n\t1) 5x5\n\t2) 7x7\n\t3) 9x9\n\t4) 13x13\n\t5) 19x19\n\nVotre choix:");
	scanf("%d",&c);
}
 
if ((c==1))
	{
	/* init board */
		for (i = 0; i < 5; i++)
		for (j = 0; j < 5; j++)
			p[i][j] = 0;
	}
if ((c==2))
	{
	/* init board */
		for (i = 0; i < 7; i++)
		for (j = 0; j < 7; j++)
			p[i][j] = 0;
	}
if ((c==3))
	{
	/* init board */
		for (i = 0; i < 9; i++)
		for (j = 0; j < 9; j++)
			p[i][j] = 0;
	}
if ((c==4))
	{
	/* init board */
		for (i = 0; i < 13; i++)
		for (j = 0; j < 13; j++)
			p[i][j] = 0;
	}
if ((c==5))
	{
	/* init board */
		for (i = 0; i < 19; i++)
		for (j = 0; j < 19; j++)
			p[i][j] = 0;
	}
 
 
 
 if (!new)  /* new game */
     {
 
/* choose color */
      printf("\nChoose side(b or w)? ");
      scanf("%c",ans);
      if (ans[0] == 'b')
        {
         p1move = 1;   /* P1 white */
         p2move = 2;   /* P2 black */
        }
      else
        {
         p1move = 2;   /* P1 black */
         p2move = 1;   /* P2 white */
       }
    }
 
showboard(c);
 
/* main loop
 * tant que pas capturer de pierres 
 * lit mouvement joueur1
 * enleve pierre
 * lit mouvement joueur2
 * enleve pierre
 * */
 
 
 
return 0;
}
puis showboard.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#include <stdio.h>
#include <stdlib.h>
extern unsigned char p[19][19];
extern int p1move, p2move;        /* p1 color, p2 color */
extern int lib;                  /* current stone liberty */
extern int p1ik, p1jk;             /* location of p1 stone captured */
extern int p2ik, p2jk;             /* location of p2 stone captured */
extern int p1k, p2k;               /* no. of stones captured by p1 and p2 */
int ii=0;
int i=0;
int j=0;
void showboard(int c){
 
if (c==1){  /*goban 5x5*/
	printf("   A B C D E\n");
		for (i = 0; i < 5; i++){
		ii = 5 - i;
		printf("%2d",ii);
 
		for (j = 0; j < 5; j++)
			if (p[i][j] == 0)
			printf(" -");
			else if (p[i][j] == 1)
                printf(" O");
            	else printf(" X");
 
		printf("%2d",ii);
		printf("\n");
 
}
	printf("   A B C D E\n");
}
 
if (c==2){  /*goban 7x7*/
	printf("   A B C D E F G\n");
		for (i = 0; i < 7; i++){
		ii = 7 - i;
		printf("%2d",ii);
 
		for (j = 0; j < 7; j++)
			if (p[i][j] == 0)
			printf(" -");
			else if (p[i][j] == 1)
                printf(" O");
           	else printf(" X");
 
		printf("%2d",ii);
		printf("\n");
 
     }
	printf("   A B C D E F G\n");
}
 
if (c==3){  /*goban 9x9*/ 
	printf("   A B C D E F G H J\n");
		for (i = 0; i < 9; i++){
		ii = 9 - i;
		printf("%2d",ii);
 
		for (j = 0; j < 9; j++)
			if (p[i][j] == 0)
			printf(" -");
			else if (p[i][j] == 1)
                printf(" O");
            	else printf(" X");
 
      		printf("%2d",ii);
      		printf("\n");
 
     }
	printf("   A B C D E F G H J\n");
}
 
if (c==4){  /*goban 13x13*/
	printf("   A B C D E F G H J K L M N\n");
		for (i = 0; i < 13; i++){
		ii = 13 - i;
		printf("%2d",ii);
 
		for (j = 0; j < 13; j++)
			if (p[i][j] == 0)
			printf(" -");
			else if (p[i][j] == 1)
                printf(" O");
            	else printf(" X");
 
      		printf("%2d",ii);
      		printf("\n");
 
     }
	printf("   A B C D E F G H J K L M N\n");
}
 
if (c==5){  /*goban19x19*/
	printf("   A B C D E F G H J K L M N O P Q R S T\n");
		for (i = 0; i < 19; i++){
		ii = 19 - i;
		printf("%2d",ii);
 
		for (j = 0; j < 19; j++)
			if (p[i][j] == 0)
			printf(" -");
			else if (p[i][j] == 1)
                printf(" O");
            	else printf(" X");
 
      		printf("%2d",ii);
      		printf("\n");
 
     }
	printf("   A B C D E F G H J K L M N O P Q R S T\n");
}
if (p2move == 1)
      printf("     Your color: White O\n");
   else
      if (p2move == 2)
	 printf("     Your color: Black X\n");
      else
	 printf("\n");
 if (p1move == 1)
	    printf("     My color:   White O\n");
	 else
	    if (p1move == 2)
	       printf("     My color:   Black X\n");
	    else
	       printf("\n");
}
mais une fois compilé je ne peux pas choisir entre black or white.
J'y arrive quand j'utilise scanf(%d,&s) avec int mais pas avec char.
Je ne sais pas de ou viens mon probleme.

merci de votre aide