Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Character.h"
- #include "Enemy.h"
- #include<iostream>
- #include "Stats.h"
- #include "Player.h"
- #include "time.h"
- #include<string>
- using namespace std;
- void waitForEnter()
- {
- while(1) { if( '\n' == getchar()) { break; } }
- }
- int main()
- {
- int roundNumber = 0;
- string playerChoice = "";
- Stats monsterStats(50 , 10 , 10 , 5);
- Enemy monster(monsterStats);
- Stats playerStats(50, 10, 10, 5);
- Player player(playerStats);
- //seed random generator
- srand(time(NULL));
- while(monster.getHealthStat() > 0 &&
- player.getHealthStat() > 0)
- {
- cout << "----------------------------------------\n";
- cout << "Starting round " << roundNumber << endl;
- cout << "----------------------------------------\n";
- monster.setEnemyDefaultDefense();
- cout << "Monster Stats" << endl;
- monster.printStats();
- cout << "Player Stats" << endl;
- player.printStats();
- //enemy turn
- // handle enemy logic
- Enemy::decisionTypes enemyDecision = monster.chooseWhatToDo(); //Enemy 'AI'
- switch(enemyDecision)
- {
- case Enemy::DEFEND:
- cout <<"Monster uses Defend...\n";
- monster.incrementEnemyDefense(5);
- break;
- case Enemy::RAGE:
- cout <<"Monster uses Rage...\n";
- monster.incrementEnemyAttack(5);
- break;
- case Enemy::ATTACK:
- cout << "Monster Attacks...\n";
- player.getHit(monster.getAttackStat() , player.getDefenseStat(), player.getHealthStat());
- monster.setEnemyDefaultAttack();
- break;
- default:
- break; //wtf?
- }
- //player turn
- cout << "Player's Turn:\n";
- cout << "What would you like to do?";
- //get user input and validate
- getline(cin, playerChoice);
- while(playerChoice.compare("heal") != 0
- && playerChoice.compare("magic") != 0
- && playerChoice.compare("attack") != 0)
- {
- cout << "What would you like to do?";
- getline(cin, playerChoice);
- }
- //handle user's choice - attack, magic, heal
- if(playerChoice.compare("attack") == 0)
- {
- cout << "Player Attacks...\n";
- monster.getHit(player.getAttackStat(), monster.getDefenseStat(), monster.getHealthStat());
- }
- if(playerChoice.compare("magic") == 0)
- {
- cout << "Player casts fireball spell... \n";
- monster.getHit(player.fireBall(player.getSkillStat()) , monster.getDefenseStat(), monster.getHealthStat());
- }
- if(playerChoice.compare("heal") == 0)
- {
- cout << "Player casts heal...\n";
- player.healSelf(player.getSkillStat());
- }
- roundNumber++;
- }
- cout << "Press Enter to Exit...";
- waitForEnter();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement