本文整理汇总了C++中Weapon::getMissChance方法的典型用法代码示例。如果您正苦于以下问题:C++ Weapon::getMissChance方法的具体用法?C++ Weapon::getMissChance怎么用?C++ Weapon::getMissChance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Weapon
的用法示例。
在下文中一共展示了Weapon::getMissChance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Run
void AttackCommand::Run(list<string>* parameters, Game * game) {
if (game->getPlayer()->getCurrentRoom()->hasEnemy()) {
int trueDamage = game->getPlayer()->getMainHand()->getDamage();
int damage = trueDamage - game->getPlayer()->getCurrentRoom()->getEnemy()->getDefence();
if (damage < 0) {
damage = 0;
}
std::cout << "You hitted the enemy for " << damage << " damage" << std::endl;
game->getPlayer()->getCurrentRoom()->getEnemy()->takeDamage(trueDamage);
if (game->getPlayer()->getCurrentRoom()->getEnemy()->getHealth() == 0) {
delete game->getPlayer()->getCurrentRoom()->getEnemy();
game->getPlayer()->getCurrentRoom()->setEnemy(nullptr);
std::cout << "The enemy has died!" << std::endl;
std::cout << "You recieved 200xp!" << std::endl;
game->getPlayer()->setExperience(game->getPlayer()->getExperience() + 200);
int dropChance = 101;
int random = RandomInt::generateInt(0, 100);
if (dropChance >= random) {
int weaponShield = RandomInt::generateInt(0, 1);
if (weaponShield) {
Weapon* weapon = game->getItemFactory()->CreateWeapon(game->getPlayer()->getLevel());
std::cout << "The enemy dropped his weapon" << endl;
std::cout << "Weapon: " << weapon->getName() << " L" << weapon->getLevel() << endl;
std::cout << "Base Attack: " << weapon->getBaseDamage() << endl;
std::cout << " -- Critical Chance: " << weapon->getCriticalChance() << endl;
std::cout << " -- Miss Chance: " << weapon->getMissChance() << endl;
std::cout << "Current Weapon: " << game->getPlayer()->getMainHand()->getName() << " L" << game->getPlayer()->getMainHand()->getLevel() << endl;
std::cout << " -- Base Attack: " << game->getPlayer()->getMainHand()->getBaseDamage() << endl;
std::cout << " -- Critical Chance: " << game->getPlayer()->getMainHand()->getCriticalChance() << "%" << endl;
std::cout << " -- Miss Chance: " << game->getPlayer()->getMainHand()->getMissChance() << "%" << endl;
bool incorrect = true;
while (incorrect) {
std::cout << "Would you like to equip this weapon? (y/n)";
std::string input;
getline(cin, input);
if (input == "y") {
delete game->getPlayer()->getMainHand();
game->getPlayer()->setMainHand(weapon);
incorrect = false;
}
else if (input == "n") {
incorrect = false;
}
else {
std::cout << "Wrong input" << endl;
}
}
}
else {
Shield* shield = game->getItemFactory()->CreateShield(game->getPlayer()->getLevel());
std::cout << "The enemy dropped his shield" << endl;
std::cout << "Shield: " << shield->getName() << " L" << shield->getLevel() << endl;
std::cout << " -- Base Defence: " << shield->getBaseDefence() << endl;
std::cout << " -- Block Chance: " << shield->getBlockChance() << endl;
std::cout << "Current Shield: " << game->getPlayer()->getOffHand()->getName() << " L" << game->getPlayer()->getOffHand()->getLevel() << endl;
std::cout << " -- Base Defence: " << game->getPlayer()->getOffHand()->getBaseDefence() << endl;
std::cout << " -- Block Chance: " << game->getPlayer()->getOffHand()->getBlockChance() << "%" << endl;
bool incorrect = true;
while (incorrect) {
std::cout << "Would you like to equip this shield? (y/n)";
std::string input;
getline(cin, input);
if (input == "y") {
delete game->getPlayer()->getOffHand();
game->getPlayer()->setOffHand(shield);
incorrect = false;
}
else if (input == "n") {
incorrect = false;
}
else {
std::cout << "Wrong input" << endl;
}
}
}
}
}
else {
std::cout << "The enemy is alive and attacks you back!" << std::endl;
game->getPlayer()->TakeDamage(game->getPlayer()->getCurrentRoom()->getEnemy()->getDamage());
std::cout << "Your current health is now " + game->getPlayer()->getCurrentHealth() << endl;
if (game->getPlayer()->getCurrentHealth() < 0) {
std::cout << "Your died... GAME OVER!" << endl;
game->finish();
//.........这里部分代码省略.........