diff --git a/src/game/penguin.cpp b/src/game/penguin.cpp index e6f3e300169ddf294566b502dfaaa20a17530d9a..b10429e297de60c71b261a3912234b44d33d394e 100644 --- a/src/game/penguin.cpp +++ b/src/game/penguin.cpp @@ -181,7 +181,7 @@ namespace game if((penguin_copy & 7) >= move_number) { //Move direction A - (*p) = (7 * move_number) + ((*p) & 63); + (*p) = (7 * move_number +1) + ((*p) & 63); return; } move_number -= penguin_copy & 7; @@ -189,7 +189,7 @@ namespace game if((penguin_copy & 7) >= move_number) { //Move direction B - (*p) = (-1 * move_number) + ((*p) & 63); + (*p) = (-1 * move_number +1) + ((*p) & 63); return; } move_number -= penguin_copy & 7; @@ -197,7 +197,7 @@ namespace game if((penguin_copy & 7) >= move_number) { //Move direction C - (*p) = (-8 * move_number) + ((*p) & 63); + (*p) = (-8 * move_number +1) + ((*p) & 63); return; } move_number -= penguin_copy & 7; @@ -205,7 +205,7 @@ namespace game if((penguin_copy & 7) >= move_number) { //Move direction D - (*p) = (-7 * move_number) + ((*p) & 63); + (*p) = (-7 * move_number +1) + ((*p) & 63); return; } move_number -= penguin_copy & 7; @@ -213,13 +213,13 @@ namespace game if((penguin_copy & 7) >= move_number) { //Move direction E - (*p) = (1 * move_number) + ((*p) & 63); + (*p) = (1 * move_number +1) + ((*p) & 63); return; } move_number -= penguin_copy & 7; penguin_copy = penguin_copy >> 3; //Move direction F - (*p) = (8 * move_number) + ((*p) & 63); + (*p) = (8 * move_number +1) + ((*p) & 63); } int penguin::update_moves(uint32_t* p, uint64_t obstacles) @@ -328,6 +328,8 @@ namespace game //Move the current penguin move_penguin(p); + cout << "Penguin p :" << *p << endl; + //Update moves on all penguins uint64_t obstacles = (~(state.one_fish | state.two_fish | state.three_fish)); obstacles |= ((uint64_t) 1) << (state.p1_red & 63); @@ -339,6 +341,8 @@ namespace game obstacles |= ((uint64_t) 1) << (state.p3_blue & 63); obstacles |= ((uint64_t) 1) << (state.p4_blue & 63); + cout << obstacles; + state.nb_moves_red = 0; state.nb_moves_blue = 0; state.nb_moves_red += update_moves(&state.p1_red, obstacles);