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
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);
......
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