// Add Enemies const void World::addEnemies() { if (mEnemies.size() < mMaxEnemyBase) { Enemy newEnemy(sf::Vector2f(mWindow.getSize().x, mWindow.getSize().y)); mEnemies.push_back(std::move(newEnemy)); } }
void Game::spawnEnemies() { int posY; int shape; posY = (rand() % _win.getH() - 5); if (posY < 5) posY = 5; shape = rand() % 5; Enemy newEnemy(_win.getW() - 10, posY, LEFT, _enemyId, shape); _enemy[_enemyId] = newEnemy; drawShip(_enemy[_enemyId]); _enemyId++; }
//vector lists are used to hold enemy references //enemies do not spawn while the player is respawning void EnemySystem::SpawnEnemy(SDL_Renderer* renderer, Player player) { chooseEnemy = rand() % 2; if (player.getActive() == true) { if (spawnTimer > 0) spawnTimer -= 1; else { if (chooseEnemy == 0) { FollowEnemy newEnemy(renderer, rand() % 2048, rand() % 1024); fEnemyList.push_back(newEnemy); } else { BounceEnemy newEnemy(renderer, rand() % 2048, rand() % 1024); bEnemyList.push_back(newEnemy); } spawnTimer = spawnReset; } } }
bool BeatQuestScene::init() { assert(TRBaseScene::init()); // addCommonBtn({0.5,0.9}, "t", [](){}); _spCover = Sprite::create("images/beat/cover.png"); auto size = Director::getInstance()->getWinSize(); _spCover->setScale(size.width/_spCover->getContentSize().width ); _spCover->setPosition(genPos({0.5,0.5})); _defaultLayer->addChild(_spCover); _lbEnemyStatus = Label::createWithTTF("", "fonts/pixel.ttf", 80); _lbEnemyStatus->setPosition(genPos({0.6, 0.95})); _lbEnemyStatus->setTextColor(Color4B::BLACK); _defaultLayer->addChild(_lbEnemyStatus); _lbFriendStatus = Label::createWithTTF("", "fonts/pixel.ttf", 80); _lbFriendStatus->setPosition(genPos({0.6, 0.05})); _lbFriendStatus->setTextColor(Color4B::BLACK); _defaultLayer->addChild(_lbFriendStatus); _lbEnemyInfo = Label::createWithTTF("", "fonts/pixel.ttf", 120); _lbEnemyInfo->setPosition(genPos({0.5, 0.9})); _lbEnemyInfo->setTextColor(Color4B::RED); _defaultLayer->addChild(_lbEnemyInfo); _lbFriendInfo = Label::createWithTTF("", "fonts/pixel.ttf", 120); _lbFriendInfo->setPosition(genPos({0.5, 0.1})); _lbFriendInfo->setTextColor(Color4B::RED); _defaultLayer->addChild(_lbFriendInfo); initTouchThings(); newFriend(); newEnemy(); scheduleUpdate(); return true; }
bool BeatQuestScene::dealEnemyHit(BeatNode* node) { bool shouldDelete = false; switch (node->type) { case TestBeatType::COMBO: //TODO break; case TestBeatType::SWORD: if (_enemyShieldCnt > 0) { _enemyShieldCnt--; node->beatSpeed = -node->beatSpeed*1.2; shouldDelete = false; toast(false, "REFLECT", true); } else { _enemyBlood -= _friendAttack; toast(false, fmt::sprintf("-%d", _friendAttack), false); shouldDelete = true; if (_enemyBlood < 0) { toast(false, "DEAD!!!", false); newEnemy(); } } break; case TestBeatType::BLOOD: shouldDelete = true; _enemyBlood += node->value; toast(false, fmt::sprintf("+%d", node->value), true); break; case TestBeatType::SHIELD: shouldDelete = true; _enemyShieldCnt++; toast(false, "SHIELD", true); break; default: break; } return shouldDelete; }
void MainWindow::generateNextLevel() { int posicionX = 200; int posicionY = 50; enemyType_T enemigos[3][10]; if(level%5 == 0) { for(int i = 0; i < 10; i++) { enemigos[0][i] = DISPARADOR; } for(int i = 1; i < 3; i++) { for(int j = 0; j < 10; j++) { enemigos[i][j] = NORMAL; } } } else if(level%5 == 1) { for(int i = 0; i < 10; i++) { enemigos[0][i] = DISPARADOR; enemigos[2][i] = NORMAL; } for(int i = 0; i < 5; i++) { enemigos[1][i] = DISPARADOR; enemigos[1][i+5] = NORMAL; } } else if(level%5 == 2) { for(int i = 0; i < 3; i++ ) { for(int j = 0; j < 10; j++) { enemigos[i][j] = DISPARADOR; } } } else if(level%5== 3) { for(int i = 0; i < 10; i++) { enemigos[0][i] = REGRESADOR; enemigos[1][i] = DISPARADOR; enemigos[2][i] = NORMAL; } } else if(level%5 == 4) { for(int i = 0; i < 10; i++) { enemigos[2][i] = NORMAL; enemigos[1][i] = DISPARADOR; } for(int i = 0; i < 5; i++) { enemigos[0][i] = REGRESADOR; enemigos[0][i+5] = REGDIS; } } if(this->level%5 == 4) { posicionY +=200; //CODIGO PARA CREAR EL BOSS AQUI } for(int i = 0; i < 3; i++) { for(int j = 0; j < 10; j++) { //CODIGO PARA EL MOVIMIENTO AQUI QLabel* label = new QLabel(); label->setParent(this); label->show(); enemy_T* temp = newEnemy(enemigos[i][j],1,label,posicionX,posicionY); enemies->append(temp); posicionX += 60; } posicionY += 100; posicionX = 200; } posicionY = 50; }