#include <stdio.h>
#include <stdlib.h>
#include "terrain.h"
#include "structures.h"
#include "personnage.h"
#include "deplacements.h"

/*!
* \file case.c
* \brief Fichier contenant le code des fonctions liees aux cases
*/


Case * init_case(Case * c,int x, int y, Terrain *t){
    c->coord_x=x;
    c->coord_y=y;
    c->terrain=t;
    c->occupee=faux;
    return c;
}

int get_x(Case *c){
    return c->coord_x;
}

int get_y(Case *c){
    return c->coord_y;
}

boolean est_occupee(Case *c){
    return c->occupee;
}

boolean case_franchissable(Case *c){
    return terrain_franchissable(c->terrain);
}

void marquer_occupee(Case *c){
    if (c->occupee==vrai) printf("case d�j� occup�e");
    c->occupee=vrai;
}

void marquer_libre(Case *c){
    if (c->occupee==faux) printf("case d�j� libre");
    c->occupee=faux;
}

Terrain* get_terrain(Case *c){
    if (c->terrain==NULL){
        fprintf(stderr,"pas de terrain");
    }
    return c->terrain;
}

int init_carte(Carte* c,unsigned short int largeur, unsigned short int hauteur){
    int i,j,n;
    n=0;
    if (largeur*hauteur>TAILLE_MAX_CARTE){
        printf("erreur : taille maximum de la carte d�pass�e");
        return 1;
    }
    for (i=0;i<(largeur);i++){
        for (j=0;j<(hauteur);j++){
            init_case(c[n],i,j,NULL);
            n++;
        }
    }
    return 0;
}