示例#1
0
void Game::combat(Hero& newHero,Monster& newMonster)
{
	int playerDamage,monsterDamage;
	while(true)
	{
		playerDamage=newMonster.getDamage()-newHero.getBlock();
		cout<<endl<<newMonster.getName()<<" damages you for "<<playerDamage<<" HP...\n";
		newHero.takeDamage(playerDamage);
		if(newHero.getCurHP()<=0)
			gameEnd();
		cout<<newMonster.getName()<<" HP: "<<newMonster.getHP()<<"\t\t"<<newHero.getName()<<" HP: "<<newHero.getCurHP();
		_getch();
		monsterDamage=newHero.getMeleeDamage();
		newMonster.takeDamage(monsterDamage);
		if(newMonster.getHP()<=0)
		{
			cout<<endl<<"You deliver the killing blow to "<<newMonster.getName()<<"\n";
			newHero.updateXP(newMonster.getLevel());
			return;
		}
		cout<<endl<<"You damage "<<newMonster.getName()<<" for "<<monsterDamage<<" HP...\n";
		cout<<newMonster.getName()<<" HP: "<<newMonster.getHP()<<"\t\t"<<newHero.getName()<<" HP: "<<newHero.getCurHP();
		_getch();
	}
}