Here is the code:
#include <iostream>
#include <cstdlib>
#include <ctime>
struct Characters
{
int nLevel;
int nHealth;
int nAttack;
int nDefence;
};
Characters sPlayer;
Characters sMonster;
void monster()
{
using namespace std;
srand(time(0));
sMonster.nLevel = sPlayer.nLevel - 1 - (rand() % 2);//So that the monster level is at least 1 level smaller than the user level
sMonster.nHealth = sMonster.nLevel * 100; //TODO: Add an xp system to advance levels
sMonster.nAttack = sMonster.nLevel * 10;
sMonster.nDefence = sMonster.nLevel * 10;
int nInflict = sPlayer.nAttack - sMonster.nDefence;
if (nInflict < 0)
nInflict = 0;
int nReceive = sMonster.nAttack - sPlayer.nDefence;
if (nReceive < 0)
nReceive = 0;
do
{
nInflict = (rand() % (nInflict));
sMonster.nHealth = sMonster.nHealth - nInflict;
nReceive = (rand() % (nReceive));
sPlayer.nHealth = sPlayer.nHealth - nReceive;
cout << "You hit " << nInflict << "!\t\t(Monster HP: " << sMonster.nHealth << "\n";
cout << "You get " <<nReceive << "damage!\t\t(Your HP: " << sPlayer.nHealth << "\n\n";
}
while (sMonster.nHealth < 0 || sPlayer.nHealth < 0);
if (sMonster.nHealth < 0)
cout << "You defeated the monster!\n\n";
else
cout << "You are dead!\n\n";
}
int main()
{
using namespace std;
srand(time(0));
sPlayer.nLevel = 5; //Starting level
cout << "Welcome to a simple RPG!\n\n";
int nChoice;
do
{
sPlayer.nHealth = sPlayer.nLevel * 100;
sPlayer.nAttack = sPlayer.nLevel * 10;
sPlayer.nDefence = sPlayer.nLevel * 10;
cout << "Please select your choice: ";
cin >> nChoice;
switch (nChoice)
{
case 1:
cout << "A monster has apeared!\n";
monster();
break;
case 2:
cout << "Random chance!\n"; //To be implemented
break;
default:
cout << "Invalid choice!\n\n";
}
}
while (sPlayer.nHealth > 0);
return 0;
}
Any help would be appreciated!
thanks,
kaaie

New Topic/Question
Reply




MultiQuote





|