Skip to content
Snippets Groups Projects
Commit 1bb2bb58 authored by maberet's avatar maberet
Browse files

Ajout des fonction de bases Fire

parent 44f19ffa
No related branches found
No related tags found
No related merge requests found
File deleted
......@@ -17,3 +17,94 @@ booleen_t emptyListFire(listchainfire_t listFire)
return (result);
}
listchainfire_t insertAheadFire(fire_t fire,listchainfire_t listFire)
{
chainfire_t *m;
m=(chainfire_t*)malloc(sizeof(chainfire_t));
if (m==NULL)
{
printf("problème d'allocation \n");
exit(1);
}
if (!searchFire(listFire,fire.x,fire.y)){
m->fire=fire;
m->next= listFire;
listFire=m;}
return listFire;
}
listchainfire_t startFire(listchainfire_t listFire,int numberFire, int mapSize){
int i;
int xFire=0;
int yFire=0;
fire_t fire;
if (emptyListFire(listFire)){
for (i=0;i<numberFire;i++){
srand(time(NULL));
xFire= rand()%mapSize;
srand(time(NULL));
xFire= rand()%mapSize;
fire.x= xFire;
fire.y= yFire;
fire.state=1;
listFire=insertAheadFire(fire, listFire);
}
}
return (listFire);
}
booleen_t searchFire(listchainfire_t listFire, int x ,int y)
{
booleen_t result = false;
while((listFire!=NULL)||!(result))
{
if(((listFire->fire).x==x)&&((listFire->fire).y==y)) // si on trouve la semaine voulue
{
result= true ;// on chercher si on trouve l'action ou non.
}
listFire=listFire->next; // on passe au suivant.
}
return result;
}
listchainfire_t deleteAheadFire(listchainfire_t listFire){
listchainfire_t listTemporary;
listTemporary = listFire; // recuperation de la semaine en tête de liste
listFire = listFire->next; // on avance la liste sur le maillon suivant
free(listTemporary); // on libere le maillon en tete
return listFire;
}
listchainfire_t deleteFire (listchainfire_t listFire, int x ,int y ){
if (emptyListFire(listFire)){
return(listFire);
}
if(((listFire->fire).x==x)&&((listFire->fire).y==y)) {
listFire= deleteAheadFire( listFire);
}
else{
listFire->next=deleteFire(listFire->next,x,y);
}
return listFire;
}
listchainfire_t freeListFire (listchainfire_t listFire){
while (emptyListFire(listFire)){
listFire=deleteAheadFire(listFire);
}
return listFire;
}
#ifndef PLAYER_H
#define PLAYER_H
#ifndef FIRE_H
#define FIRE_H
#include "main.h"
#include "gest_event.h"
#include <time.h>
#include <stdio.h>
typedef enum
{
false,true
}booleen_t;
typedef struct chain {
fire_t fire;
struct chain *next;
}chainfire_t,*listchainfire_t;
typedef struct fire{
int x;
int y;
......@@ -22,11 +19,19 @@ typedef struct fire{
}fire_t;
typedef struct chain {
fire_t fire;
struct chain *next;
}chainfire_t,*listchainfire_t;
listchainfire_t initFire(void);
listchainfire_t insertAheadFire(fire_t, listchainfire_t);
booleen_t emptyListFire(listchainfire_t);
listchainfire_t insertAheadFire(fire_t, listchainfire_t);
listchainfire_t startFire(listchainfire_t ,int , int );
booleen_t searchFire(listchainfire_t, int ,int);
listchainfire_t deleteAheadFire(listchainfire_t);
listchainfire_t deleteFire (listchainfire_t, int ,int );
listchainfire_t freeListFire (listchainfire_t );
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment