ElderInternalIgnition  0.1
deplacements.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 boolean case_a_cote(personnage *perso,Case *destination){ /* vérifie que la case hexagonale "destination" est contigue à la case du personnage */
9  Case *depart = getPosition(perso);
10  if (get_x(depart)>get_x(destination)+1||get_x(depart)<get_x(destination)-1||get_y(depart)>get_y(destination)+1||get_y(depart)>get_y(destination)-1){
11  return faux;
12  }
13  if (get_y(depart)==get_y(destination)+1&&get_x(depart)!=get_x(destination)){
14  return faux;
15  }
16  return vrai;
17 }
18 
19 int deplacement_unitaire(personnage *perso,Case *destination){ /*déplace un personnage sur une case située à côté de la sienne, si cela est possible */
20  if (est_occupee(destination)){
21  printf("déplacement impossible : case déjà occupée par un personnage");
22  return 1;
23  }
24  if (case_franchissable(destination)==faux){
25  printf("déplacement impossible : case infranchissable");
26  return 1;
27  }
28  if (case_a_cote(perso,destination)==vrai){
29  return deplacer_personnage(perso, destination);
30  }
31  printf("déplacement impossible : case non contigue");
32  return 1;
33 }
34 
35 
36 int affichage_deplacements_possibles(personnage *perso, carte *c){ /* Met en surbrillance les cases disponibles pour un déplacement */
37  int i;
38  int pd_max_x = get_PD(perso);
39  int pd_max_y = get_PD(perso);
40 
41  for(i=0;i<pd_max_x;i++){
42  if(1!=0)
43  /* ??? */
44  }
45  return 0;
46 }