moved move and move_or_attack implementation into characters.cc

This commit is contained in:
2024-07-02 12:43:39 -04:00
parent b4e7f39dae
commit 2c0b30cd33
4 changed files with 25 additions and 39 deletions

View File

@ -151,3 +151,26 @@ position_list remove_from_list(const position_list &sorted_positions,
return result;
}
// IMPORTANT: remember to check if player is on the stairs
result character::move(const direction dir,
const position_list &available_positions) {
if (find(available_positions, pos + MOVE[dir])
!= available_positions.size()) {
pos += MOVE[dir];
return result::moved;
}
return result::fine;
}
result character::move_or_attack(const direction dir,
const position_list &available_positions,
const character_list &chlist) {
auto res = this->move(dir,available_positions);
if(res != result::fine)
return res;
return this->attack(dir,chlist);
}