ElderInternalIgnition  0.1
case.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include "structures.h"
4 #include "case.h"
5 #include "personnage.h"
6 #include "deplacements.h"
7 
8 Case* init_case(Case *c,int x, int y, type_terrain *t){
9  c->coord_x=x;
10  c->coord_y=y;
11  c->terrain=t;
12  c->occupee=0;
13  return c;
14 }
15 
16 int get_x(Case *c){
17  return c->coord_x;
18 }
19 
20 int get_y(Case *c){
21  return c->coord_y;
22 }
23 
24 boolean est_occupee(Case *c){
25  return c->occupee;
26 }
27 
28 boolean case_franchissable(Case *c){
29  return terrain_franchissable(c->terrain);
30 }
31 
32 void marquer_occupee(Case *c){
33  if (c->occupee==vrai) printf("case déjà occupée");
34  c->occupee=vrai;
35 }
36 
37 void marquer_libre(Case *c){
38  if (c->occupee==faux) printf("case déjà libre");
39  c->occupee=faux;
40 }
41 
42 type_terrain* get_terrain(Case *c){
43  if (c->terrain==NULL){
44  fprintf(stderr,"pas de terrain");
45  }
46  return c->terrain;
47 }
48 
49 int init_carte(carte* c,unsigned short int largeur, unsigned short int hauteur){
50  int i,j,n;
51  if (largeur*hauteur>TAILLE_MAX_CARTE){
52  printf("erreur : taille maximum de la carte dépassée");
53  return 1;
54  }
55  for (i=0;i<largeur;i++){
56  for (j=0;j<hauteur;j++){
57  init_case(c[n],i,j,NULL);
58  n++;
59  }
60  }
61  return 0;
62 }