Skip to content
Snippets Groups Projects
Commit 1a874714 authored by antoinemeyer5's avatar antoinemeyer5
Browse files

ajout vies max et degats avec feu, debut concatenation de code

parent 8116c58b
No related branches found
No related tags found
No related merge requests found
......@@ -55,7 +55,7 @@ listchainfire_t startFire(listchainfire_t listFire,int numberFire, int mapSize){
xFire= rand()%mapSize;
yFire= rand()%mapSize;
printf("xf:%d,yf:%d\n",xFire,yFire);
//printf("xf:%d,yf:%d\n",xFire,yFire);
fire.x= xFire;
fire.y= yFire;
fire.state=1;
......@@ -132,7 +132,7 @@ void travelFire(listchainfire_t listFire){
listchainfire_t listTemporary=listFire;
while(listTemporary!=NULL){
printf("x:%d,y:%d\n",(listTemporary->fire).x,(listTemporary->fire).y);
//printf("x:%d,y:%d\n",(listTemporary->fire).x,(listTemporary->fire).y);
listTemporary=listTemporary->next;
}
//freeListFire(listTemporary);
......@@ -185,8 +185,8 @@ void nextFire(listchainfire_t listFire){
else if ((pMedium<=probability)&&(probability<pStrong)){(listTemporary->fire).state=STRONG;}
else {(listTemporary->fire).state=SPREAD;}
printf("%d %d\n", probability, state);
printf("%d %d %d %d\n", pDead, pSparkle, pMedium, pStrong);
//printf("%d %d\n", probability, state);
//printf("%d %d %d %d\n", pDead, pSparkle, pMedium, pStrong);
listTemporary=listTemporary->next;
}
......
......@@ -12,6 +12,9 @@ void initPlayer(){
player.currentWater = player.waterMax;
player.speed = 1;
player.isMoving = 0;
player.HPMax = 3;
player.currentHP = player.HPMax;
player.invisible = 0;
}
int giveCaseBelowPosition(int x, int y){
......@@ -20,22 +23,45 @@ int giveCaseBelowPosition(int x, int y){
return map[y2][x2];
}
int getPositionXInMap(int x){
int x2 = x/CELLSIZE;
return x2;
}
int getPositionYInMap(int y){
int y2 = y/CELLSIZE;
return y2;
}
int checkCollisionsTree(int dot1, int dot2){
int coll = 0;
if(dot1==1 || dot2==1){
coll = 1;
}
return coll;
}
int collisionsLeftPlayer(){
int collision = 0;
int dotTopLeft = giveCaseBelowPosition(player.x, player.y);
int dotDownLeft = giveCaseBelowPosition(player.x, player.y+player.h);
int fireTopLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y));
int fireDownLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y+player.h));
//collision window
if(player.x <= 0){
collision = 1;
}
//collision tree
if(dotTopLeft==1 || dotDownLeft==1){
collision = 1;
}
collision = checkCollisionsTree(dotTopLeft, dotDownLeft);
//collision water
if(dotTopLeft==2 || dotDownLeft==2){
collision = 1;
}
//collision fire
if((fireTopLeft==1 || fireDownLeft==1) && player.invisible==0){
player.currentHP = player.currentHP - 1;
player.invisible = 1;
}
return collision;
}
......@@ -43,18 +69,23 @@ int collisionsRightPlayer(){
int collision = 0;
int dotTopRight = giveCaseBelowPosition(player.x+player.w, player.y);
int dotDownRight = giveCaseBelowPosition(player.x+player.w, player.y+player.h);
int fireTopRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y));
int fireDownRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y+player.h));
//collision window
if(player.x + player.w >= MAPSIZE * CELLSIZE){
collision = 1;
}
//collision tree
if(dotTopRight==1 || dotDownRight==1){
collision = 1;
}
collision = checkCollisionsTree(dotTopRight, dotDownRight);
//collision water
if(dotTopRight==2 || dotDownRight==2){
collision = 1;
}
//collision fire
if((fireTopRight==1 || fireDownRight==1) && player.invisible==0){
player.currentHP = player.currentHP - 1;
player.invisible = 1;
}
return collision;
}
......@@ -62,6 +93,8 @@ int collisionsUpPlayer(){
int collision = 0;
int dotTopRight = giveCaseBelowPosition(player.x+player.w, player.y);
int dotTopLeft = giveCaseBelowPosition(player.x, player.y);
int fireTopRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y));
int fireTopLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y));
//collision window
if(player.y <= 0){
collision = 1;
......@@ -74,6 +107,11 @@ int collisionsUpPlayer(){
if(dotTopRight==2 || dotTopLeft==2){
collision = 1;
}
//collision fire
if((fireTopRight==1 || fireTopLeft==1) && player.invisible==0){
player.currentHP = player.currentHP - 1;
player.invisible = 1;
}
return collision;
}
......@@ -81,6 +119,8 @@ int collisionsDownPlayer(){
int collision = 0;
int dotDownRight = giveCaseBelowPosition(player.x+player.w, player.y+player.h);
int dotDownLeft = giveCaseBelowPosition(player.x, player.y+player.h);
int fireDownRight = searchFire(fireList, getPositionXInMap(player.x+player.w), getPositionYInMap(player.y+player.h));
int fireDownLeft = searchFire(fireList, getPositionXInMap(player.x), getPositionYInMap(player.y+player.h));
//collision window
if(player.y + player.h >= MAPSIZE * CELLSIZE){
collision = 1;
......@@ -93,6 +133,11 @@ int collisionsDownPlayer(){
if(dotDownRight==2 || dotDownLeft==2){
collision = 1;
}
//collision fire
if((fireDownRight==1 || fireDownLeft==1) && player.invisible==0){
player.currentHP = player.currentHP - 1;
player.invisible = 1;
}
return collision;
}
......
......@@ -19,6 +19,9 @@ typedef struct player{
int speed;
int isMoving;
int direction;
int HPMax;
int currentHP;
int invisible;
} player_t;
extern player_t player;
......
......@@ -250,7 +250,7 @@ void drawScore(){
SDL_RenderCopy(renderer, scoreTexture, NULL, &rect);
rect.y += rect.h;
char str[10];
sprintf(str, "%d", score);
//sprintf(str, "%d", score);
SDL_Color textColor = {237,222,17};
SDL_Surface * surface = TTF_RenderText_Solid(robotoFont, str, textColor);
SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, surface);
......@@ -348,9 +348,9 @@ void mainLoop(){
delta = (a - b);
if (delta > 1000/FPS_TO_GET){
timer += delta;
printf("timer : %f\n", timer/1000);
//printf("timer : %f\n", timer/1000);
b = a;
printf("fps : %f", 1000/delta);
//printf("fps : %f", 1000/delta);
switch (gameState){
case MENU:
drawMenu();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment