diff --git a/src/game/penguin.cpp b/src/game/penguin.cpp index 6acc76d52d787d86e88544ad6910c4c1d55a3897..dde9a8791eee90db08dced98f77572f8cf05ddd4 100644 --- a/src/game/penguin.cpp +++ b/src/game/penguin.cpp @@ -177,48 +177,48 @@ namespace game uint8_t move_number = ((*p) >> 6) & 63; //Move number for the current penguin uint32_t penguin_copy = (*p) >> 12; //Direction A - if((penguin_copy & 7) >= move_number) + if((penguin_copy & 7) > move_number) { //Move direction A - (*p) = (7 * move_number +1) + ((*p) & 63); + (*p) = (7 * (move_number +1)) + ((*p) & 63); return; } move_number -= penguin_copy & 7; penguin_copy = penguin_copy >> 3; - if((penguin_copy & 7) >= move_number) + if((penguin_copy & 7) > move_number) { //Move direction B - (*p) = (-1 * move_number +1) + ((*p) & 63); + (*p) = (-1 * (move_number +1)) + ((*p) & 63); return; } move_number -= penguin_copy & 7; penguin_copy = penguin_copy >> 3; - if((penguin_copy & 7) >= move_number) + if((penguin_copy & 7) > move_number) { //Move direction C - (*p) = (-8 * move_number +1) + ((*p) & 63); + (*p) = (-8 * (move_number +1)) + ((*p) & 63); return; } move_number -= penguin_copy & 7; penguin_copy = penguin_copy >> 3; - if((penguin_copy & 7) >= move_number) + if((penguin_copy & 7) > move_number) { //Move direction D - (*p) = (-7 * move_number +1) + ((*p) & 63); + (*p) = (-7 * (move_number +1)) + ((*p) & 63); return; } move_number -= penguin_copy & 7; penguin_copy = penguin_copy >> 3; - if((penguin_copy & 7) >= move_number) + if((penguin_copy & 7) > move_number) { //Move direction E - (*p) = (1 * move_number +1) + ((*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 +1) + ((*p) & 63); + (*p) = (8 * (move_number +1)) + ((*p) & 63); } int penguin::update_moves(uint32_t* p, uint64_t obstacles)