Skip to content

Commit

Permalink
implémentation du code de gautier pour l'affichage des maisons et co
Browse files Browse the repository at this point in the history
  • Loading branch information
jc committed Feb 10, 2012
1 parent 97c594f commit 6c8a980
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 34 deletions.
1 change: 1 addition & 0 deletions src/controller/simu.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

#include "../model/case.h"
#include "../shared/val.h"
#include "network.h"

/*fonction de raz des différents marqueurs et comptage de la population*/
int simu_raz(t_case** tab);
Expand Down
13 changes: 10 additions & 3 deletions src/model/bitmaps.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@ t_tiles * load_tiles()
t_tiles * tiles;
tiles=malloc(sizeof(t_tiles));

tiles->sea=load_bitmap("res/game/sea.bmp", NULL);
tiles->ground=load_bitmap("res/game/ground.bmp",NULL);
tiles->electric=load_bitmap("res/game/elec.bmp", NULL);
tiles->sea=load_bitmap("res/game/sea.bmp", NULL);
tiles->ground=load_bitmap("res/game/ground.bmp",NULL);
tiles->electric=load_bitmap("res/game/elec.bmp", NULL);
tiles->in_construction=load_bitmap("res/game/small_construct.bmp",NULL);
tiles->house=load_bitmap("res/game/small_house.bmp",NULL);
tiles->powerplant=load_bitmap("res/game/power_plant.bmp",NULL);
tiles->water=load_bitmap("res/game/water.bmp",NULL);
tiles->road=load_bitmap("res/game/road.bmp",NULL);
tiles->construct=load_bitmap("res/game/construct.bmp",NULL);
tiles->conduct=load_bitmap("res/game/conduct.bmp", NULL);

return tiles;
}
3 changes: 2 additions & 1 deletion src/model/bitmaps.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ typedef struct _tiles
BITMAP * powerplant;
BITMAP * water;
BITMAP * electric;
BITMAP * conduct;
BITMAP * conduct;
BITMAP * in_construction;
} t_tiles;

t_tiles * load_tiles();
Expand Down
4 changes: 2 additions & 2 deletions src/model/case.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ t_case **init_tabCases()
}
else
{
tab[i][j].state0=GROUND;
tab[i][j].state1=ELECTRIC;
tab[i][j].state0=GROUND;
tab[i][j].state1=GROUND;
tab[i][j].state2=GROUND;
}

Expand Down
1 change: 1 addition & 0 deletions src/model/case.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#define HOUSE 4
#define POWER_PLANT 5
#define WATER 6
#define IN_CONSTRUCTION 9

//Level -1
#define ELECTRIC 7
Expand Down
80 changes: 52 additions & 28 deletions src/view/display_map.c
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
#include "display_map.h"

void* print_map (void* game_r)
{
{
t_game* game = (t_game*)game_r;
int i,j;
int x,y;
int x_screen, y_screen;
t_case **tab = game->tab;
BITMAP * buffer = game->buffer;
t_scroll * camera = game->camera;
t_menu * menu = game->menu;
t_tiles * tiles = game->tiles;
int x_screen, y_screen;
t_case **tab = game->tab;
BITMAP * buffer = game->buffer;
t_scroll * camera = game->camera;
t_menu * menu = game->menu;
t_tiles * tiles = game->tiles;
int dx;
int dy;
float zoom;

while(!end_of_game)
{
usleep(LONG_SLEEPING_TIME);

dx = camera->dx;
dy = camera->dy;
zoom = camera->zoom;

clear_bitmap(buffer);

if (camera->floor==0)
{

while(!end_of_game)
{
usleep(LONG_SLEEPING_TIME);

dx = camera->dx;
dy = camera->dy;
zoom = camera->zoom;

clear_bitmap(buffer);

if (camera->floor==0)
for (i=0; i<size_map; i++)
{
for(j=0; j<size_map; j++)
Expand All @@ -39,11 +38,21 @@ void* print_map (void* game_r)
stretch_sprite(buffer,tiles->sea, x_screen, y_screen, tiles->sea->w * zoom, tiles->sea->h * zoom);
else if(tab[i][j].state0==GROUND)
stretch_sprite(buffer,tiles->ground, x_screen, y_screen, tiles->ground->w * zoom, tiles->ground->h * zoom);
else if(tab[i][j].state0==CONSTRUCT)
stretch_sprite(buffer,tiles->construct, x_screen, y_screen, tiles->construct->w * zoom, tiles->construct->h * zoom);
else if(tab[i][j].state0==HOUSE)
stretch_sprite(buffer,tiles->house, x_screen, y_screen, tiles->house->w * zoom, tiles->house->h * zoom);
else if(tab[i][j].state0==POWER_PLANT)
stretch_sprite(buffer,tiles->powerplant, x_screen, y_screen, tiles->powerplant->w * zoom, tiles->powerplant->h * zoom);
else if(tab[i][j].state0==WATER)
stretch_sprite(buffer,tiles->water, x_screen, y_screen, tiles->water->w * zoom, tiles->water->h * zoom);
else if(tab[i][j].state0==IN_CONSTRUCTION)
stretch_sprite(buffer,tiles->in_construction, x_screen, y_screen, tiles->in_construction->w * zoom, tiles->in_construction->h * zoom);
else if(tab[i][j].state0==ROAD)
stretch_sprite(buffer,tiles->road, x_screen, y_screen, tiles->road->w * zoom, tiles->road->h * zoom);
}
}
}
else if (camera->floor==-1)
{
}
else if (camera->floor==-1)
for (i=0; i<size_map; i++)
{
for(j=0; j<size_map; j++)
Expand All @@ -59,12 +68,27 @@ void* print_map (void* game_r)
else if(tab[i][j].state1==ELECTRIC)
stretch_sprite(buffer,tiles->electric, x_screen, y_screen, tiles->electric->w * zoom, tiles->electric->h * zoom);
}
}
}

}
else if (camera->floor==-2)
for (i=0; i<size_map; i++)
{
for(j=0; j<size_map; j++)
{
x= i;
y= j;
x_screen= ((x - y) * TILE_W/2 * zoom) - 64*zoom - dx;
y_screen= ((x + y) * TILE_H/2 * zoom) - dy;
if(tab[i][j].state2==SEA)
stretch_sprite(buffer,tiles->sea, x_screen, y_screen, tiles->sea->w * zoom, tiles->sea->h * zoom);
else if(tab[i][j].state2==GROUND)
stretch_sprite(buffer,tiles->ground, x_screen, y_screen, tiles->ground->w * zoom, tiles->ground->h * zoom);
else if(tab[i][j].state2==CONDUCT)
stretch_sprite(buffer,tiles->conduct, x_screen, y_screen, tiles->conduct->w * zoom, tiles->conduct->h * zoom);
}
}
display_menu(buffer, menu);
info_click(tab, buffer, camera);
draw_sprite(screen, buffer, 0, 0);
draw_sprite(screen, buffer, 0, 0);
}
return NULL;
}

0 comments on commit 6c8a980

Please sign in to comment.