>>474
典型的には、メインループはこんなもんだろ。

for (;;) {
 ProcessInput();
 ProcessFileIO();

 player.Update(*this);
 for_each(enemies.begin(), enemies.end(), boost::bind(&Enemy::Update, ::_1, boost::ref(*this));

 if (player.Finished())
  break;

 HitCheck();

 backGround.Draw();
 player.Draw();
 for_each(enemies.begin(), enemies.end(), boost::bind(&Enemy::Draw, ::_1));

 WaitVSync();
}