Ami(e)s du C, bien le bonjour !

Bien, j'ai un projet de bataille navale en C à faire.
Pas d'interface graphique, pas de jeu contre l'ordi.

Juste permettre à deux joueurs de jouer l'un contre l'autre.

Je commence d'aujourd'hui, donc je n'en suis qu'à gérer chaque plateau (sous forme de tableau) et leur affichage.
Mon code fonctionne quand je mets tout dans le main.
Les problèmes arrivent quand je tente d'externaliser l'affichage dans une fonction. Voici donc 1) le code qui fonctionne. 2) Le code qui coince.

Merci d'avance de me dire quelle(s) bévue(s) j'ai fait(es).

Ceci fonctionne :
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
#include <stdio.h>
#include <stdlib.h>
#define MAX_LIGNES 11
#define MAX_COL 11
 
int main()
{
    int x,y;
    char plateau1[MAX_LIGNES][MAX_COL];
    char abcisses[MAX_LIGNES]={'X','A','B','C','D','E','F','G','H','I','J'};
    char ordonnees[MAX_LIGNES]={'X','0','1','2','3','4','5','6','7','8','9'};
 
 
    //boucles d'initialisation plateau1
 
    for(x=0;x<MAX_LIGNES;x++){
        plateau1[0][x]=abcisses[x];
    }
    for(y=0;y<MAX_COL;y++){
        plateau1[y][0]=ordonnees[y];
    }
 
    for(x=1;x<MAX_LIGNES;x++){
        for(y=1;y<MAX_COL;y++){
            plateau1[x][y]='O';
        }
    }
 
    //Boucle d'affichage
    printf("\n");
    for(x=0;x<MAX_LIGNES;x++){
        printf("%c | ",plateau1[0][x]);
    }
    printf("\n- - - - - - - - - - - - - - - - - - - - - \n");
 
    for(x=1;x<MAX_LIGNES;x++){
        for(y=0;y<MAX_COL;y++){
            if(y==0){
                printf("%c | ",plateau1[x][y]);
            }
            else{
                printf("%c   ",plateau1[x][y]);
            }
        }
        printf("\n  | \n");
    }
    return 0;
}
Ceci coince :

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
 
#include <stdio.h>
#include <stdlib.h>
#define MAX_LIGNES 11
#define MAX_COL 11
 
//les prototypes des fonctions
void affiche(char plateau[MAX_LIGNES][MAX_COL]);
 
//Les variables globales.
int x,y;
char plateau1[MAX_LIGNES][MAX_COL],plateau2[MAX_LIGNES][MAX_COL];
char abcisses[MAX_LIGNES]={'X','A','B','C','D','E','F','G','H','I','J'};
char ordonnees[MAX_LIGNES]={'X','0','1','2','3','4','5','6','7','8','9'};
 
 
//boucles d'initialisation plateau1
 
for(x=0;x<MAX_LIGNES;x++){
    plateau1[0][x]=abcisses[x];
}
for(y=0;y<MAX_COL;y++){
    plateau1[y][0]=ordonnees[y];
}
 
for(x=1;x<MAX_LIGNES;x++){
    for(y=1;y<MAX_COL;y++){
        plateau1[x][y]='O';
    }
}
 
//boucles d'initialisation plateau2
 
for(x=0;x<MAX_LIGNES;x++){
    plateau2[0][x]=abcisses[x];
}
for(y=0;y<MAX_COL;y++){
    plateau2[y][0]=ordonnees[y];
}
 
for(x=1;x<MAX_LIGNES;x++){
    for(y=1;y<MAX_COL;y++){
        plateau2[x][y]='O';
    }
}
int main()
{
    affiche(plateau1);
 
    return 0;
}
 
void affiche( char plateau[MAX_LIGNES][MAX_COL]){
    printf("\n");
    for(x=0;x<MAX_LIGNES;x++){
        printf("%c | ",plateau[0][x]);
    }
    printf("\n- - - - - - - - - - - - - - - - - - - - - \n");
 
    for(x=1;x<MAX_LIGNES;x++){
        for(y=0;y<MAX_COL;y++){
            if(y==0){
                printf("%c | ",plateau[x][y]);
            }
            else{
                printf("%c   ",plateau[x][y]);
            }
        }
        printf("\n  | \n");
    }
 
}