Enemy::Enemy(b2Body* body, const EnemyDef& def, std::function<void(SideDef&)>& callback, std::function<Shape*()> &player) : Shape(body, def, callback), getPlayer_(player), aistate(def.ai), brainStem_(def.brain), stateOfMind_(IDLE), panic_(false), chasing_(false), fired_(false) { imprint(brainStem_); startingHP_ = getHP(); body_->GetFixtureList()->SetUserData("enemy"); shapeFixDef_.userData = "enemy"; //Add to swarm swarm_.push_back(this); }
/* ============================================================================ * Funktion: LoadGameMenue * Input: ACCOUNT user * Output: - * * Beschreibung: Laden des Gamemenues, wenn User eingeloggt ist * ============================================================================ */ void LoadGameMenue(ACCOUNT user) { /* Initialisierung der Variablen */ int iStatus = 0, iTemp = 1, iLength = 0, i, m_Exit = 0; char *cMenu[GAME_MENUE_SIZE] = { "Play Sudoku", "How To Play", "Top List", "Imprint", "Log Out"} ,highLight[2]; sprintf(highLight, "%c", 16); resizeWindow(WINDOW_WIDTH, WINDOW_HEIGHT); do { resizeWindow(WINDOW_WIDTH, WINDOW_HEIGHT); system("cls"); createBlockView(WINDOW_WIDTH, 37); createBlockView(WINDOW_WIDTH, 10); loadMainLogo(); printTo(((WINDOW_WIDTH-17)/2), 40, "G A M E M E N U E", 0); printTo(((WINDOW_WIDTH-17)/2), 41, "= = = = = = = = =", 0); for (i = 0; i < GAME_MENUE_SIZE; i++) { printTo((WINDOW_WIDTH-17)/2, 43+i, cMenu[i], 0); } printTo(((WINDOW_WIDTH-17)/2)-5, 42+iTemp, highLight, 0); gotoxy(WINDOW_WIDTH-1,0); /* Bewegen der Pfeile fuer Menuepunkte */ do { iStatus = control(); printTo(((WINDOW_WIDTH-17)/2)-5, 42+iTemp, " ", 0); if (iStatus == 2) { if (iTemp > 1) { iTemp--; } } else if (iStatus == 3) { if (iTemp < GAME_MENUE_SIZE && iTemp > 0) { iTemp++; } } printTo(((WINDOW_WIDTH-17)/2)-5, 42+iTemp, highLight, 0); gotoxy(WINDOW_WIDTH-1,0); } while (iStatus != 6); /* Je nach Position des Pfeils soll Funktion geladen werden */ switch(iTemp) { case 1: LoadDifficultyMenue(user); break; case 2: howToPlay(); break; case 3: toplist(user); break; case 4: imprint(); break; default: m_Exit = 1; break; } } while(!m_Exit); }