diff --git a/puissance4_GRB/puissance4.c b/puissance4_GRB/puissance4.c new file mode 100644 index 0000000000000000000000000000000000000000..b15968f16df21d1662984b24431dde344d4d1eb8 --- /dev/null +++ b/puissance4_GRB/puissance4.c @@ -0,0 +1,29 @@ +#include "puissance4.h" +#include <stdint.h> +#include <stdio.h> + +/*********************************** + * function : Create_grid2D + * arguments : taille de grille (ex: 3 pour 3x3) + * + * return value : cell_t** -> la grille mise à jour et allouée + * initialise les valeurs de la grille + * et alloue la mémoire dynamiquement + ***********************************/ +struct cell **Create_grid2D(uint8_t height, uint8_t width){ + struct cell** cells = malloc(height*sizeof(struct cell)); + for(int k =0; k<height; k++){ + cells[k] = malloc(width*sizeof(struct cell)); + } + //initialise les positions et les valeurs de base + for(int i = 0; i<height; i++){ + for(int j=0; j<width; j++){ + cells[i][j].pressed = false; + cells[i][j].symbol = EMPTY; + cells[i][j].i_pos = i; + cells[i][j].j_pos = j; + } + } + return cells; +} + diff --git a/puissance4_GRB/puissance4.h b/puissance4_GRB/puissance4.h new file mode 100644 index 0000000000000000000000000000000000000000..db8ee4e7ce958e1b7af3e78ba4f261a25835594a --- /dev/null +++ b/puissance4_GRB/puissance4.h @@ -0,0 +1,28 @@ +#ifndef _PUIS4_ +#define _PUIS4_ + +#include <stdlib.h> +#include <stdio.h> +#include <stdbool.h> + +struct grid{ + int height; + int width; + struct cell** cells; +}typedef grid; + +typedef enum{ + CIRCLE, //signifie le symbole du cercle + CROSS, //signifie le symbole de la croix + EMPTY, //signifie une cellule vide + EQUAL //signifie un état d'égalité entre la croix et le cercle +}symbol_t; + +struct cell{ + bool pressed; + symbol_t symbol; + int i_pos; + int j_pos; +}; + +#endif \ No newline at end of file