Bonjour à tous,

Je dois réaliser un projet en C, j'ai bien avancé dessus mais je bloque sur un petit point. En effet je dois réaliser la fonction suivante (en pièce jointe). J'ai déjà bien avancé en effet il était demandé de créer deux types une structure T_case et un tableau à une dimension T_Tab_Case de T_case afin d'afficher ce tableau (2 ème et 3 ème pièce jointe). J'aimerai avoir quelques avis sur comment je pourrai réaliser la suite bien sûr toujours en utilisant les structures ?

Je vous joint mon code ci-contre :

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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
 
#include <stdio.h>
 
#define VMAX 30
 
 
 
 
 
// Définition de la structure pour les coordonnées de la grille
typedef struct {
  int nlig;
  int ncol;
} T_Case;
 
typedef T_Case T_Tab_Case[];
 
T_Case pion;
 
 
 
int Lire_Entier();
 
void Parametres(int niveau, int next);
 
 
void affich_Tab(int nlig, int ncol);
 
void nimber();
 
void construit_voisines(int nlig, int ncol, T_Case T_Tab_Case [VMAX], int *nb_vois);
 
 
 
 
 
 
int main(){
    int niveau, next = 1;
    int nlig, ncol;
    int n;
    int T[VMAX][VMAX];
 
 
 
 
    printf("***** Bienvenue dans le jeu ! *****\n\n");
 
    printf("Paramètres du jeu :\n");
 
 
    nlig = Lire_Entier();
    ncol = Lire_Entier();
 
 
    printf("\n nombre de lignes : %d\n", nlig);
    printf("\n nombre de colonnes : %d\n", ncol);
 
    Parametres(niveau, next);
 
 
    affich_Tab(nlig, ncol);
 
 
  T_Case T_Tab_Case [VMAX];
  int nb_vois;
 
  construit_voisines(3, 4, T_Tab_Case, &nb_vois);
 
  printf("La case a %d voisines :\n", nb_vois);
  for (int i = 0; i < nb_vois; i++) {
    printf("(%d, %d)\n", T_Tab_Case[i].nlig, T_Tab_Case[i].ncol);
  }
 
  return 0;
 
 
 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
int Lire_Entier(){
 
    // saisie d'un nombre compris entre VMIN ET VMAX      //
    int n = 0;
    printf("Entrez un nombre compris entre 5 et 30 :");
 
    scanf("%d", &n);
    while (n < 5 || n > 30)
    {
        printf("Veuillez recommencez avec un nombre compris entre 5 et 30 :");
        scanf("%d", &n);
    }
    return n;
}
 
 
 
 
void Parametres(int niveau, int next){
 
    niveau = 0;
    next = 0;
    printf("Choisissez votre niveau de difficulté (1 à 4) :");
 
    scanf("%d", &niveau);
    while (niveau < 1 || niveau > 4)
    {
         printf("Veuillez recommencez avec un niveau de difficulté valide :");
        scanf("%d", &niveau);
 
    }
 
    printf("A qui de commencer ? : ");
    scanf("%d", &next);
 
 
    if (next == 1) printf(" L'ordinateur débute la partie !\n ");
    else if (next == 2) printf(" Le joueur débute la partie !\n ");
 
 
 
}
 
 
 
 
 
 
 
 
 
 
void affich_Tab(int nlig, int ncol){
    int i, j;
 
 
 
    printf("C'EST PARTI !");
    printf("\n");
    for (int i = 0; i < nlig; i++) {
    for (int j = 0; j < ncol; j++) {
      if (i == pion.nlig && j == pion.ncol) {
        printf("|O");
      } else {
        printf("|-");
      }
    }
    printf("|\n");
  }
}
Énoncé et captures ci-après :

Nom : Capture d’écran 2022-12-28 à 21.15.46.png
Affichages : 311
Taille : 315,1 KoNom : Capture d’écran 2022-12-28 à 21.16.46.png
Affichages : 305
Taille : 110,6 KoNom : Capture d’écran 2022-12-28 à 21.16.23.png
Affichages : 303
Taille : 124,6 KoNom : Capture d’écran 2022-12-28 à 21.15.46.png
Affichages : 311
Taille : 315,1 KoNom : Capture d’écran 2022-12-28 à 21.16.46.png
Affichages : 305
Taille : 110,6 KoNom : Capture d’écran 2022-12-28 à 21.16.23.png
Affichages : 303
Taille : 124,6 Ko


Merci de votre aide !