示例#1
0
//==============================================================================
void GameServer::GenMonsters_()
{
  int monsterCounter = 0;
  for (int i = 0; i < levelMap_.GetRowCount(); i++)
  {
    for (int j = 0; j < levelMap_.GetColumnCount(); j++)
    {
      if (levelMap_.GetCell(j, i) == '.')
      {
        monsterCounter++;
        if (monsterCounter % 10 == 0)
        {
          Monster* monster = CreateActor_<Monster>();
          monster->SetType(EActorType::MONSTER);
          Monster& m = *monster;
          SetActorPosition_(monster, Vector2(j + 0.5f, i + 0.5f));
          m.SetDirection(static_cast<EActorDirection>(rand() % 4 + 1));
          storage_.GetMonster(monster, monster->GetId() % 32 + 1);
        }
      }
    }
  }
}