diff --git a/w/w.c b/w/w.c index 381da34..21bd63c 100644 --- a/w/w.c +++ b/w/w.c @@ -20,6 +20,7 @@ #define CMD_BACKTOSTATION 'r' #define CMD_GOTOMAZE 'v' #define CMD_GOTOMARKET 'm' +#define CMD_SHOWMAP 'm' #define SC_TITLE 0 #define SC_SETNAME 1 @@ -29,6 +30,7 @@ #define SC_GAMEOVER 5 #define SC_WON 6 #define SC_MARKET 7 +#define SC_SHOWMAP 8 #define NORTH 0 #define EAST 1 @@ -726,6 +728,8 @@ void update(char* command) gotostation(); } break; + case CMD_SHOWMAP: + state.screen = SC_SHOWMAP; default: break; } @@ -839,6 +843,10 @@ void update(char* command) } } } + else if (state.screen == SC_SHOWMAP) + { + state.screen = SC_MAP; + } } void draw() @@ -879,19 +887,21 @@ void draw() else if (state.screen == SC_MAP) { update3dpov(); - drawmap(); drawpov3d(); + printf("\n\n Orientation : "); + switch (state.position.orientation) + { + case NORTH: printf("nord"); break; + case EAST: printf("est"); break; + case SOUTH: printf("sud"); break; + case WEST: printf("ouest"); break; + } + if (charatpos(state.position.x, state.position.y) == TILE_START) { - printf("\n\nr: Retour à la station\n"); + printf("\n\nr: Retour à la station"); } - else - { - printf("\n ^\n"); - printf(" \n"); - } - //drawmap(); } else if (state.screen == SC_STATION) { @@ -934,6 +944,10 @@ void draw() printf("\nr: Retour à la station\n"); } + else if (state.screen == SC_SHOWMAP) + { + drawmap(); + } if (state.screen != SC_TITLE && state.screen != SC_SETNAME) { @@ -986,7 +1000,7 @@ int main() char command[CMD_LEN] = CMD_NULL; - while (command[0] != 'q' || state.screen == SC_MONSTER) + while (command[0] != 'q' || state.screen != SC_STATION) { update(command); draw();