Alright, in order to make myself better with C++ I'm developing the basics for a text-based RPG (which if/when I get good enough, I'll probably use it to convert to a Windows app when I learn the language better).
First of all, thanks for all the help so far with the monster thing (another thread.)
Now, I've got something a little different. I better just show you the codes...
Code:
#include <iostream>
#include <string>
#include "levels.h"
using namespace std;
//global variables
int char_level=1;
int char_exp =0;
int classcount=0;
string char_class;
string char_name;
//global variables
void char_selection();
int main()
{
if (char_exp<28)
{
char_level==1;
}
else if ((char_exp<52) && (char_level==1))
{
char_level++;
}
else if ((char_exp<165) && (char_level==2))
{
char_level++;
}
cout<<"*Warrior*\n";
cout<<"Warriors are strong, fierce. They focus on physical fighting.\n\n";
cout<<"*Mage*\n";
cout<<"Mages are wise, powerful. They use magic to win.\n\n";
cout<<"*Rogue*\n";
cout<<"Rogues are quick, witty. They are more balanced.\n\n";
level character;
while (classcount<1)
{
cout<<"Choose your class --> ";
cin>>char_class;
cin.ignore();
if ((char_class=="Warrior") || (char_class=="warrior"))
{
classcount++;
switch(char_level)
{
case 1:
character.strength(7);
character.intelligence(1);
character.defense(6);
character.health(130);
character.mana(4);
break;
case 2:
character.strength(10);
character.intelligence(3);
character.defense(9);
character.health(150);
character.mana(7);
break;
case 3:
character.strength(14);
character.intelligence(5);
character.defense(11);
character.health(165);
character.mana(10);
break;
}
}
else if ((char_class=="Mage") || (char_class=="mage"))
{
classcount++;
switch(char_level)
{
case 1:
character.strength(2);
character.intelligence(20);
character.defense(2);
character.health(100);
character.mana(30);
break;
case 2:
character.strength(3);
character.intelligence(25);
character.defense(4);
character.health(125);
character.mana(40);
break;
case 3:
character.strength(6);
character.intelligence(32);
character.defense(7);
character.health(155);
character.mana(55);
break;
}
}
else if ((char_class=="Rogue") || (char_class=="rogue"))
{
classcount++;
switch(char_level)
{
case 1:
character.strength(5);
character.intelligence(8);
character.defense(5);
character.health(200);
character.mana(6);
break;
case 2:
character.strength(7);
character.intelligence(11);
character.defense(8);
character.health(220);
character.mana(10);
break;
case 3:
character.strength(10);
character.intelligence(16);
character.defense(10);
character.health(235);
character.mana(14);
break;
}
}
else
{
cout<<"\nThat is not a valid class.\n\n";
}
}
cout<<"Okay, now what is your name?\n";
cout<<"Name: ";
cin>>char_name;
cin.ignore();
cout<<"\nName: "<<char_name<<endl;
cout<<"Strength: "<<character.displaystrength()<<endl;
cout<<"Intelligence: "<<character.displayintelligence()<<endl;
cout<<"Defense: "<<character.displaydefense()<<endl;
cout<<"Health: "<<character.displayhealth()<<endl;
cout<<"Mana: "<<character.displaymana()<<endl;
cout<<"Exp: "<<char_exp<<endl;
cout<<"\n\n\n\tReady to level up?\n\n";
char_exp=char_exp+30;;
cout<<"\nName: "<<char_name<<endl;
cout<<"Strength: "<<character.displaystrength()<<endl;
cout<<"Intelligence: "<<character.displayintelligence()<<endl;
cout<<"Defense: "<<character.displaydefense()<<endl;
cout<<"Health: "<<character.displayhealth()<<endl;
cout<<"Mana: "<<character.displaymana()<<endl;
cout<<"Exp: "<<char_exp<<endl;
cin.get();
}
Code:
class level
{
public:
level();
~level();
void strength(int str);
int displaystrength();
void intelligence(int intel);
int displayintelligence();
void defense(int def);
int displaydefense();
void health(int hea);
int displayhealth();
void mana(int man);
int displaymana();
protected:
int power;
int magic;
int vitality;
int hitpoints;
int magicpoints;
};
level::level() //construct
{}
level::~level() //destruct
{}
void level::strength(int str)
{
power=str;
}
int level::displaystrength()
{
return power;
}
void level::intelligence(int intel)
{
magic=intel;
}
int level::displayintelligence()
{
return magic;
}
void level::defense(int def)
{
vitality=def;
}
int level::displaydefense()
{
return vitality;
}
void level::health(int hea)
{
hitpoints=hea;
}
int level::displayhealth()
{
return hitpoints;
}
void level::mana(int man)
{
magicpoints=man;
}
int level::displaymana()
{
return magicpoints;
}
If you compile that, you'll see that you don't actually level up... and it's because I'm already out of the while loop. I need to simplify the code, maybe put the whole class and name selection on another .h file, and get the leveling up right. Any help?