#include <iostream>
using namespace std;
class playerCharacter{
public :
playerCharacter( ) ;
playerCharacter( string, int , int , int , int , int , int , int , int ) ;
~playerCharacter( ) ;
string name;
int strength;
int dex;
int intellect;
int luck;
int maxHp;
int maxMp;
int level;
int experience;
} ;
playerCharacter:: playerCharacter ( ) {
name = "blah" ;
strength = 0 ;
dex = 0 ;
intellect = 0 ;
luck = 0 ;
maxHp = 0 ;
maxMp = 0 ;
level = 0 ;
experience = 0 ;
}
playerCharacter:: playerCharacter ( string cname, int s, int d, int i, int l , int maxh, int maxm, int exp , int levelset) {
name = cname;
strength = s;
dex = d;
intellect = i;
luck = l;
maxHp = maxh;
maxMp = maxm;
level = levelset;
experience = exp ;
}
playerCharacter:: ~playerCharacter( ) {
}
void showClassMenu( ) ;
void charAttrib( int [ ] ) ;
int main ( ) {
string str = "" ;
cout << "What would you like to name your character?: " ;
getline( cin , str) ;
showClassMenu( ) ;
int mainArray[ 6 ] ;
charAttrib( mainArray) ;
playerCharacter PC( str, mainArray[ 0 ] , mainArray[ 1 ] , mainArray[ 2 ] , mainArray[ 3 ] , mainArray[ 4 ] , mainArray[ 5 ] , 0 , 1 ) ;
cout << "\n \n " ;
cout << "Character: " << PC.name << endl << "Strength: " << PC.strength << endl;
cout << "Dexterity: " << PC.dex << endl << "Intellect: " << PC.intellect << endl;
cout << "Max Health: " << PC.maxHp << endl << "Max mana: " << PC.maxMp << endl;
cout << "Experience: " << PC.experience << endl;
cout << "Level: " << PC.level << endl;
PC.experience + = 1001 ;
if ( PC.experience > ( PC.level * 1000 ) ) {
PC.level + = 1 ;
}
cout << "Experience: " << PC.experience << endl;
cout << "Level: " << PC.level << endl;
return 0 ;
}
void showClassMenu( ) {
cout << "\n \n Warrior, high strength, medium dexterity, low intellect, high hp, low mp, a war hardened hero. " << endl;
cout << "\n Ranger, med strength, high dex, low intellect, med hp, low mp, a long range hero. " << endl;
cout << "\n Mage, low strength, med dex, high intellect, low hp, high mp, an old man wise in the ways of magic. " << endl;
cout << "Press 1 to make a warrior, press 2 to make a ranger, press 3 to make a mage" << endl;
}
void charAttrib( int mainArray[ ] ) {
int select;
cin >> select;
switch ( select) {
case 1 : { //warrior
mainArray[ 0 ] = 8 ; //str, dex, int, luck, hp, mp
mainArray[ 1 ] = 5 ;
mainArray[ 2 ] = 3 ;
mainArray[ 3 ] = 5 ;
mainArray[ 4 ] = 250 ;
mainArray[ 5 ] = 70 ;
break ;
}
case 2 : {
break ;
}
case 3 : {
break ;
}
} //End switch
} //end CharAttrib
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmNsYXNzIHBsYXllckNoYXJhY3RlcnsKcHVibGljOgogICAgcGxheWVyQ2hhcmFjdGVyKCk7CiAgICBwbGF5ZXJDaGFyYWN0ZXIoc3RyaW5nLCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCk7CiAgICB+cGxheWVyQ2hhcmFjdGVyKCk7CiAgICBzdHJpbmcgbmFtZTsKICAgIGludCBzdHJlbmd0aDsKICAgIGludCBkZXg7CiAgICBpbnQgaW50ZWxsZWN0OwogICAgaW50IGx1Y2s7CiAgICBpbnQgbWF4SHA7CiAgICBpbnQgbWF4TXA7CiAgICBpbnQgbGV2ZWw7CiAgICBpbnQgZXhwZXJpZW5jZTsKfTsKcGxheWVyQ2hhcmFjdGVyOjpwbGF5ZXJDaGFyYWN0ZXIoKXsKICAgIG5hbWUgPSAiYmxhaCI7CiAgICBzdHJlbmd0aCA9MDsKICAgIGRleCA9MDsKICAgIGludGVsbGVjdCA9MDsKICAgIGx1Y2sgPTA7CiAgICBtYXhIcCA9MDsKICAgIG1heE1wID0wOwogICAgbGV2ZWwgPSAwOwogICAgZXhwZXJpZW5jZSA9IDA7CiAgICAKfQpwbGF5ZXJDaGFyYWN0ZXI6OnBsYXllckNoYXJhY3RlcihzdHJpbmcgY25hbWUsIGludCBzLCBpbnQgZCwgaW50IGksIGludCBsICwgaW50IG1heGgsIGludCBtYXhtLCBpbnQgZXhwLCBpbnQgbGV2ZWxzZXQpewogICAgbmFtZSA9IGNuYW1lOwogICAgc3RyZW5ndGggPXM7CiAgICBkZXggPWQ7CiAgICBpbnRlbGxlY3QgPWk7CiAgICBsdWNrID1sOwogICAgbWF4SHAgPW1heGg7CiAgICBtYXhNcCA9bWF4bTsKICAgIGxldmVsID0gbGV2ZWxzZXQ7CiAgICBleHBlcmllbmNlID0gZXhwOwogICAgCn0KcGxheWVyQ2hhcmFjdGVyOjp+cGxheWVyQ2hhcmFjdGVyKCl7CiAgICAKfQp2b2lkIHNob3dDbGFzc01lbnUoKTsKdm9pZCBjaGFyQXR0cmliKGludCBbXSk7CgppbnQgbWFpbiAoKSB7CiAgICAKICAgIHN0cmluZyBzdHIgPSIiOwogICAgY291dCA8PCAiV2hhdCB3b3VsZCB5b3UgbGlrZSB0byBuYW1lIHlvdXIgY2hhcmFjdGVyPzogIjsKICAgIGdldGxpbmUoY2luLCBzdHIpOwogICAgCiAgICBzaG93Q2xhc3NNZW51KCk7CiAgICBpbnQgbWFpbkFycmF5WzZdOwogICAgY2hhckF0dHJpYihtYWluQXJyYXkpOwogICAgCiAgICBwbGF5ZXJDaGFyYWN0ZXIgUEMoc3RyLCBtYWluQXJyYXlbMF0sIG1haW5BcnJheVsxXSwgbWFpbkFycmF5WzJdLCBtYWluQXJyYXlbM10sIG1haW5BcnJheVs0XSwgbWFpbkFycmF5WzVdLCAwLCAxKTsKICAgIGNvdXQgPDwgIlxuXG4iOwogICAgY291dCA8PCAiQ2hhcmFjdGVyOiAiIDw8IFBDLm5hbWUgPDxlbmRsIDw8IlN0cmVuZ3RoOiAiPDwgUEMuc3RyZW5ndGggPDwgZW5kbDsKICAgIGNvdXQgPDwgIkRleHRlcml0eTogIiA8PCBQQy5kZXggPDxlbmRsIDw8ICJJbnRlbGxlY3Q6ICI8PCBQQy5pbnRlbGxlY3QgPDxlbmRsOwogICAgY291dCA8PCAiTWF4IEhlYWx0aDogIjw8IFBDLm1heEhwIDw8IGVuZGwgPDwiTWF4IG1hbmE6ICIgPDwgUEMubWF4TXA8PGVuZGw7CiAgICBjb3V0IDw8ICJFeHBlcmllbmNlOiAiIDw8IFBDLmV4cGVyaWVuY2UgPDxlbmRsOwogICAgY291dCA8PCAiTGV2ZWw6ICAiPDwgUEMubGV2ZWwgPDxlbmRsOwogICAgCiAgICBQQy5leHBlcmllbmNlICs9MTAwMTsKICAgIGlmIChQQy5leHBlcmllbmNlID4gKFBDLmxldmVsKjEwMDApKXsKICAgICAgICBQQy5sZXZlbCArPTE7CiAgICB9CiAgICBjb3V0IDw8ICJFeHBlcmllbmNlOiAiIDw8IFBDLmV4cGVyaWVuY2UgPDxlbmRsOwogICAgY291dCA8PCAiTGV2ZWw6ICAiPDwgUEMubGV2ZWwgPDxlbmRsOwogICAgCiAgICAKICAgIHJldHVybiAwOwp9CiAKdm9pZCBzaG93Q2xhc3NNZW51KCl7CiAgICBjb3V0IDw8ICJcblxuV2FycmlvciwgaGlnaCBzdHJlbmd0aCwgbWVkaXVtIGRleHRlcml0eSwgbG93IGludGVsbGVjdCwgaGlnaCBocCwgbG93IG1wLCBhIHdhciBoYXJkZW5lZCBoZXJvLiAiPDxlbmRsOwogICAgY291dCA8PCAiXG5SYW5nZXIsIG1lZCBzdHJlbmd0aCwgaGlnaCBkZXgsIGxvdyBpbnRlbGxlY3QsIG1lZCBocCwgbG93IG1wLCBhIGxvbmcgcmFuZ2UgaGVyby4gIjw8ZW5kbDsKICAgIGNvdXQgPDwgIlxuTWFnZSwgbG93IHN0cmVuZ3RoLCBtZWQgZGV4LCBoaWdoIGludGVsbGVjdCwgbG93IGhwLCBoaWdoIG1wLCBhbiBvbGQgbWFuIHdpc2UgaW4gdGhlIHdheXMgb2YgbWFnaWMuICIgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlByZXNzIDEgdG8gbWFrZSBhIHdhcnJpb3IsIHByZXNzIDIgdG8gbWFrZSBhIHJhbmdlciwgcHJlc3MgMyB0byBtYWtlIGEgbWFnZSI8PGVuZGw7Cn0KCnZvaWQgY2hhckF0dHJpYihpbnQgbWFpbkFycmF5W10pewogICAgCiAgICAKICAgIGludCBzZWxlY3Q7CiAgICBjaW4gPj4gc2VsZWN0OwogICAgCiAgICBzd2l0Y2goc2VsZWN0KXsKICAgICAgICBjYXNlIDE6eyAvL3dhcnJpb3IKICAgICAgICAgICAgbWFpbkFycmF5WzBdID0gODsgLy9zdHIsIGRleCwgaW50LCBsdWNrLCBocCwgbXAKICAgICAgICAgICAgbWFpbkFycmF5WzFdID0gNTsKICAgICAgICAgICAgbWFpbkFycmF5WzJdID0gMzsKICAgICAgICAgICAgbWFpbkFycmF5WzNdID0gNTsKICAgICAgICAgICAgbWFpbkFycmF5WzRdID0gMjUwOwogICAgICAgICAgICBtYWluQXJyYXlbNV0gPSA3MDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNhc2UgMjp7CiAgICAgICAgICAgIAogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgY2FzZSAzOnsKICAgICAgICAKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgfS8vRW5kIHN3aXRjaAogICAgCgoKfS8vZW5kIENoYXJBdHRyaWIKCg==