-
Notifications
You must be signed in to change notification settings - Fork 1
/
plateau.h
51 lines (38 loc) · 1.34 KB
/
plateau.h
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
#ifndef PLATEAU
#define PLATEAU
#include "bateau.h"
#include "coordonnees.h"
struct Plateau {
ListeBateau manager;
char** board;
int taille;
};
typedef struct Plateau Plateau;
void allouerPlateau(Plateau* p);
void allouerPlateau(Plateau* p, int taille);
void detruirePlateau(Plateau* p);
void initPlateau(Plateau* p);
void initPlateau(Plateau* p, char x);
int getTaille(Plateau* p);
void setTaille(Plateau* p, int x);
char getCase(Plateau* p, Coordonnee* x);
char getCase(Plateau* p, int y, int x);
void setCase(Plateau* p, Coordonnee* x, char c);
void setCase(Plateau* p, int y, int x, char c);
ListeBateau* getListeBateau(Plateau* p);
void afficherPlateau(Plateau* p);
void afficherBateauxDisponibles(Plateau* p);
bool placerTir(Plateau* bateaux, Plateau* tirs, Coordonnee* x);
bool placerBateau(Plateau* bateaux, Coordonnee liste[], int taille);
bool autoriserBateau(Plateau* p, int taille);
bool caseNonVide(Plateau* p, Coordonnee* x);
int radar(Plateau* p, Coordonnee* tir);
bool tousBateauxTouches(Plateau* bateaux, Plateau* tirs);
// Les prototypes privés
static int radar_NON_C(Plateau* p, int y, int x, int rayon, char c);
static bool case_NON_C(Plateau* p, int y, int x, char c);
static bool caseNonVide(Plateau* p, int y, int x);
static void coulerBateau(Bateau* b, Plateau* tirs);
// Les tests
void testsPlateau();
#endif