Example #1
0
void main()
{
	char cKey = 0;
	Object stateMap[gStageWidth * gStageHeight] = {};
	POINT tower = { 9, 9, 5 };
	POINT enemy = { 2, 2, 0 };

	while (cKey != 27)
	{
		drowingGuide();

		initObject(&tower, &enemy, stateMap);

		if (tower.isinRange(&enemy))
		{
			printf("발사!\n");
		}
		
		// 입력받은 키값을 key변수에 대입
		cKey = getch();
		if (_kbhit())
		{
			cKey = getch();
			enemyUpdate(cKey, &enemy, stateMap);
		}


		system("cls");
	}
}
Example #2
0
void Frigate::Update()
{
	if (type == "player")
	{
		playerUpdate();
	}
	else if (type == "enemy" || type == "ally")
	{
		enemyUpdate();
	}
}
void enemyManager::update(void)
{
	for (_liEnemyList = _lEnemyList.begin(); _liEnemyList != _lEnemyList.end(); ++_liEnemyList)
	{
		enemyUpdate();

		enemyCheckUpdate();

		// 충돌하지않았다면 ++iterator	(삭제하면서 다음iterator로 넘기기때문에)
		if (_liEnemyList == _lEnemyList.end()) break;
	}
}
Example #4
0
void MainWindow::gameUpdate()
{
    //update jugador
    updateShip(this->player);

    //update bullets
    for(int i = 0; i < playerBullets->size(); i++)
    {
        bool remove = UpdatePlayerBeam(playerBullets->at(i));

        if(remove)
        {
            delete playerBullets->at(i)->myLabel;
            playerBullets->removeAt(i);
            i--;

        }
    }
    for(int i= 0; i < enemies->size(); i++)
    {
        enemyUpdate(enemies->at(i));
    }

    QRect Rectplayer = player->myLabel->geometry();
    //Checkeo Colisiones
    for(int i = 0; i < playerBullets->size(); i++)
    {
        PlayerBeam* bullet = playerBullets->at(i);
        QRect Rectbullet = bullet->myLabel->geometry();

        if(Rectbullet.intersects(Rectplayer))
        {
            player->lives--;
            delete bullet->myLabel;
            playerBullets->removeAt(i);
            i--;
        }

        for(int j = 0; j < enemies->size(); j++)
        {
             enemy_T* actEnemy = enemies->at(j);
             QRect RectActEnemy = actEnemy->image->geometry();
             if(Rectbullet.intersects(RectActEnemy))
             {
                 hit(actEnemy);
                 delete bullet->myLabel;
                 playerBullets->removeAt(i);
                 i--;
                 break;
             }
        }

    }
    //Colisiones con el jugador


    for(int i = 0; i < enemies->size(); i++)
    {

        QRect RectActEnemy = enemies->at(i)->image->geometry();
        if(Rectplayer.intersects(RectActEnemy))
        {
            playerHitted = true;
            player->lives--;
            qDebug() << player->lives;
            hit(enemies->at(i));
        }
    }



    //check gmae over
    if(player->lives <= 0)
    {
         emit gameEnd();
    }

    //Checkeo Muerte de Enemigos
    for(int i = 0; i < enemies->size(); i++)
    {
        if(enemies->at(i)->dead)
        {
            delete enemies->at(i)->image;
            player->score += checkEnemyValue(enemies->at(i)->type);
            enemies->removeAt(i);
            i--;
            this->enemyKilled = true;
        }
    }

    if(enemies->size() == 0)
    {
        this->level++;
        generateNextLevel();
    }

    refreshScore();
    refreshLives();

}