Skip to content
Snippets Groups Projects
Commit 1e73f1d3 authored by Bariatti Francesco's avatar Bariatti Francesco
Browse files

Bugfix: wrong move number chosen

parent c70919d0
No related branches found
No related tags found
No related merge requests found
...@@ -181,7 +181,7 @@ namespace game ...@@ -181,7 +181,7 @@ namespace game
if((penguin_copy & 7) >= move_number) if((penguin_copy & 7) >= move_number)
{ {
//Move direction A //Move direction A
(*p) = (7 * move_number) + ((*p) & 63); (*p) = (7 * move_number +1) + ((*p) & 63);
return; return;
} }
move_number -= penguin_copy & 7; move_number -= penguin_copy & 7;
...@@ -189,7 +189,7 @@ namespace game ...@@ -189,7 +189,7 @@ namespace game
if((penguin_copy & 7) >= move_number) if((penguin_copy & 7) >= move_number)
{ {
//Move direction B //Move direction B
(*p) = (-1 * move_number) + ((*p) & 63); (*p) = (-1 * move_number +1) + ((*p) & 63);
return; return;
} }
move_number -= penguin_copy & 7; move_number -= penguin_copy & 7;
...@@ -197,7 +197,7 @@ namespace game ...@@ -197,7 +197,7 @@ namespace game
if((penguin_copy & 7) >= move_number) if((penguin_copy & 7) >= move_number)
{ {
//Move direction C //Move direction C
(*p) = (-8 * move_number) + ((*p) & 63); (*p) = (-8 * move_number +1) + ((*p) & 63);
return; return;
} }
move_number -= penguin_copy & 7; move_number -= penguin_copy & 7;
...@@ -205,7 +205,7 @@ namespace game ...@@ -205,7 +205,7 @@ namespace game
if((penguin_copy & 7) >= move_number) if((penguin_copy & 7) >= move_number)
{ {
//Move direction D //Move direction D
(*p) = (-7 * move_number) + ((*p) & 63); (*p) = (-7 * move_number +1) + ((*p) & 63);
return; return;
} }
move_number -= penguin_copy & 7; move_number -= penguin_copy & 7;
...@@ -213,13 +213,13 @@ namespace game ...@@ -213,13 +213,13 @@ namespace game
if((penguin_copy & 7) >= move_number) if((penguin_copy & 7) >= move_number)
{ {
//Move direction E //Move direction E
(*p) = (1 * move_number) + ((*p) & 63); (*p) = (1 * move_number +1) + ((*p) & 63);
return; return;
} }
move_number -= penguin_copy & 7; move_number -= penguin_copy & 7;
penguin_copy = penguin_copy >> 3; penguin_copy = penguin_copy >> 3;
//Move direction F //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) int penguin::update_moves(uint32_t* p, uint64_t obstacles)
...@@ -328,6 +328,8 @@ namespace game ...@@ -328,6 +328,8 @@ namespace game
//Move the current penguin //Move the current penguin
move_penguin(p); move_penguin(p);
cout << "Penguin p :" << *p << endl;
//Update moves on all penguins //Update moves on all penguins
uint64_t obstacles = (~(state.one_fish | state.two_fish | state.three_fish)); uint64_t obstacles = (~(state.one_fish | state.two_fish | state.three_fish));
obstacles |= ((uint64_t) 1) << (state.p1_red & 63); obstacles |= ((uint64_t) 1) << (state.p1_red & 63);
...@@ -339,6 +341,8 @@ namespace game ...@@ -339,6 +341,8 @@ namespace game
obstacles |= ((uint64_t) 1) << (state.p3_blue & 63); obstacles |= ((uint64_t) 1) << (state.p3_blue & 63);
obstacles |= ((uint64_t) 1) << (state.p4_blue & 63); obstacles |= ((uint64_t) 1) << (state.p4_blue & 63);
cout << obstacles;
state.nb_moves_red = 0; state.nb_moves_red = 0;
state.nb_moves_blue = 0; state.nb_moves_blue = 0;
state.nb_moves_red += update_moves(&state.p1_red, obstacles); state.nb_moves_red += update_moves(&state.p1_red, obstacles);
......
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