Skip to content

Commit

Permalink
cleanup for loops made ugly in previous commit
Browse files Browse the repository at this point in the history
This is a strict refactor.
  • Loading branch information
cbeck88 committed May 31, 2014
1 parent 5718992 commit 5fa0836
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 36 deletions.
49 changes: 24 additions & 25 deletions src/play_controller.cpp
Expand Up @@ -684,9 +684,9 @@ void play_controller::do_init_side(bool is_replay, bool only_visual) {
// Healing/income happen if it's not the first turn of processing,
// or if we are loading a game.
if (!only_visual && turn() > 1) {
for(unit_map::iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) {
if (i->side() == player_number_) {
i->new_turn();
BOOST_FOREACH(unit & i, gameboard_.units_) {
if (i.side() == player_number_) {
i.new_turn();
}
}

Expand Down Expand Up @@ -753,20 +753,19 @@ config play_controller::to_config() const

{
//current visible units
for(unit_map::const_iterator i = gameboard_.units_.begin(); i != gameboard_.units_.end(); ++i) {
if (i->side() == side_num) {
BOOST_FOREACH(const unit & i, gameboard_.units_) {
if (i.side() == side_num) {
config& u = side.add_child("unit");
i->get_location().write(u);
i->write(u);
i.get_location().write(u);
i.write(u);
}
}
}
//recall list
{
for(std::vector<unit>::const_iterator j = t->recall_list().begin();
j != t->recall_list().end(); ++j) {
config& u = side.add_child("unit");
j->write(u);
BOOST_FOREACH(const unit & j, t->recall_list()) {
config& u = side.add_child("unit");
j.write(u);
}
}
}
Expand Down Expand Up @@ -802,9 +801,10 @@ void play_controller::finish_side_turn(){

resources::whiteboard->on_finish_side_turn(player_number_);

for(unit_map::iterator uit = gameboard_.units_.begin(); uit != gameboard_.units_.end(); ++uit) {
if (uit->side() == player_number_)
uit->end_turn();
BOOST_FOREACH(unit & uit, gameboard_.units_) {
if (uit.side() == player_number_) {
uit.end_turn();
}
}
// Clear shroud, in case units had been slowed for the turn.
actions::clear_shroud(player_number_);
Expand Down Expand Up @@ -849,9 +849,11 @@ bool play_controller::enemies_visible() const
return true;

// See if any enemies are visible
for(unit_map::const_iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u)
if (current_team().is_enemy(u->side()) && !gui_->fogged(u->get_location()))
BOOST_FOREACH(const unit & u, gameboard_.units_) {
if (current_team().is_enemy(u.side()) && !gui_->fogged(u.get_location())) {
return true;
}
}

return false;
}
Expand Down Expand Up @@ -1399,20 +1401,17 @@ void play_controller::check_victory()
}
std::set<unsigned> not_defeated;

for (unit_map::const_iterator i = gameboard_.units_.begin(),
i_end = gameboard_.units_.end(); i != i_end; ++i)
BOOST_FOREACH( const unit & i , gameboard_.units_)
{
const team& tm = gameboard_.teams_[i->side()-1];
if (i->can_recruit() && tm.defeat_condition() == team::NO_LEADER) {
//DBG_NG << "seen leader for side " << i->side() << "\n";
not_defeated.insert(i->side());
const team& tm = gameboard_.teams_[i.side()-1];
if (i.can_recruit() && tm.defeat_condition() == team::NO_LEADER) {
not_defeated.insert(i.side());
} else if (tm.defeat_condition() == team::NO_UNITS) {
//DBG_NG << "side doesn't require leader " << i->side() << "\n";
not_defeated.insert(i->side());
not_defeated.insert(i.side());
}
}

BOOST_FOREACH(team& tm, this->gameboard_.teams_)
BOOST_FOREACH(team& tm, gameboard_.teams_)
{
if(tm.defeat_condition() == team::NEVER)
{
Expand Down
17 changes: 8 additions & 9 deletions src/playsingle_controller.cpp
Expand Up @@ -550,13 +550,12 @@ LEVEL_RESULT playsingle_controller::play_scenario(

// Add all the units that survived the scenario.
LOG_NG << "Add units that survived the scenario to the recall list.\n";
for(unit_map::iterator un = gameboard_.units_.begin(); un != gameboard_.units_.end(); ++un) {

if (gameboard_.teams_[un->side() - 1].persistent()) {
LOG_NG << "Added unit " << un->id() << ", " << un->name() << "\n";
un->new_turn();
un->new_scenario();
gameboard_.teams_[un->side() - 1].recall_list().push_back(*un);
BOOST_FOREACH (unit & un, gameboard_.units_) {
if (gameboard_.teams_[un.side() - 1].persistent()) {
LOG_NG << "Added unit " << un.id() << ", " << un.name() << "\n";
un.new_turn();
un.new_scenario();
gameboard_.teams_[un.side() - 1].recall_list().push_back(un);
}
}
gamestate_.snapshot = config();
Expand Down Expand Up @@ -845,8 +844,8 @@ void playsingle_controller::linger()
gui_->redraw_everything();

// End all unit moves
for (unit_map::iterator u = gameboard_.units_.begin(); u != gameboard_.units_.end(); ++u) {
u->set_user_end_turn(true);
BOOST_FOREACH (unit & u, gameboard_.units_) {
u.set_user_end_turn(true);
}
try {
// Same logic as single-player human turn, but
Expand Down
4 changes: 2 additions & 2 deletions src/replay_controller.cpp
Expand Up @@ -124,8 +124,8 @@ void replay_controller::init_gui(){

gui_->scroll_to_leader(gameboard_.units_, player_number_, display::WARP);
update_locker lock_display((*gui_).video(),false);
for(std::vector<team>::iterator t = gameboard_.teams_.begin(); t != gameboard_.teams_.end(); ++t) {
t->reset_objectives_changed();
BOOST_FOREACH(team & t, gameboard_.teams_) {
t.reset_objectives_changed();
}

update_replay_ui();
Expand Down

0 comments on commit 5fa0836

Please sign in to comment.