| | |
Text - Based RPG V2
Please support our C++ advertiser: Intel Parallel Studio Home
I accidentally posted a lower version of the game that had more flaws, and a few less features. This one has a few more minor bugs fixed, and a power attack instead of a normal attack.
#include <stdlib.h> #include <time.h> #include <iostream> #include <fstream> #include <string> #include <windows.h> //used to maximize screen #pragma comment(lib,"kernel32.lib") #pragma comment(lib,"user32.lib") using namespace std; int main() { //tells screen to maximize HWND hWnd = GetConsoleWindow(); ShowWindow(hWnd,SW_MAXIMIZE); cout << "********************************************************************************"; cout << "****************************** ***************** *******************************"; cout << "**************************** ******************* ****************************"; cout << "************************* ************************ *************************"; cout << "********************** **************************** **********************"; cout << "******************** ****************************** *******************"; cout << "****************** ******************************** ****************"; cout << "**************** ****** ** * * * ****** **************"; cout << "************** ******* ** * *** * * * * * * ******* ************"; cout << "************* ******* *** * ** * * * * * * ******** ***********"; cout << "************ ******* *** * *** * * * * * * ******** ***********"; cout << "*********** ******* ** * *** * * * * * * ******** **********"; cout << "*********** ****** ** * *** * * * ******* **********"; cout << "*********** * ********************************** * **********"; cout << "*********** ** * ****************************** * ** ***********"; cout << "************ ** * ***************************** ** ** ***********"; cout << "************* * *** ** ******************************* ******* * ************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "************************* *************************** *******************"; cout << "**************************** *********************** **********************"; cout << "******************************* ******************** ************************"; cout << "********************************* ****************** **************************"; cout << "******************** ************* **************** ************* **************"; cout << "********************* ********** ************** ********** ***************"; cout << "********************* ******* ************ ******* ***************"; cout << "******************** ********** ********** ********** **************"; cout << "******************** ****** **** ******** ***** ****** **************"; cout << "********************* **** *************** **** ***************"; cout << "*********************** ************* ******************"; cout << "************************************ ********** ******************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "******************************* ********************** *************************"; cout << "********************************* ****************** ****** ********************"; cout << "************************** ******* **************** ******** *******************"; cout << "************************* *** **** ************** ***** *** ******************"; cout << "**************************** ********************* *********************"; cout << "****************************** ******************* ***********************"; cout << "****************** ************ ***************** *************************"; cout << "***************** * ************ ***************** ************ *************"; cout << "************** * *** ************* *************** ************* * * **********"; cout << "*************** ***** ***** ********************************** *** **********"; cout << "*************** ******* *** * ********************* ********** **** ***********"; cout << "************************ * *** ******************* ********* *****************"; cout << "************************* ***** ************ **** * ******* ******************"; cout << "************************* ******* ********** * ** *** ***** *******************"; cout << "************************* ******** ***** ** *** ***** *** ********************"; cout << "*********************************** *** * **** ******** * *********************"; cout << "************************************ * * *************** **********************"; cout << "************************************* *** **************************************"; cout << "************************************* ******************************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; cout << "********************************************************************************"; Beep(300,100); Beep(100,100); Beep(300,100); Beep(100,300); Beep(300,100); Beep(150,100); Beep(300,100); Beep(100,100); Beep(300,100); Beep(150,300); Beep(350,100); Beep(200,100); Beep(250,100); Beep(150,100); Beep(350,100); Beep(200,300); Beep(300,100); Beep(200,100); Beep(300,100); Beep(150,100); Beep(300,100); Beep(120,300); Beep(300,100); Beep(190,100); Beep(300,100); Beep(140,100); Beep(300,100); Beep(170,300); Beep(360,100); Beep(130,100); Beep(300,100); Beep(120,100); Beep(300,100); Beep(190,300); Beep(300,100); Beep(150,100); Beep(300,100); Beep(150,100); Beep(300,100); Beep(100,300); Beep(150,200); Beep(200,200); Beep(250,300); system("cls"); int person, opponent, atk, asuccess, msuccess, xsuccess, game = 1, counter1=1, level = 1, atr, a, b, c = 0, d, decision, item; //opponent int attackop, defenseop, speedop, healthop = 100, opac, expo = 0, moneyo = 0; //user int magicus, attackus, defenseus, speedus, healthus = 100, exp = 0, money = 0, levelup = 200; //names string nameus, nameop; char exit; //classes int healus = 0; do{ cout << "(1)\n***************\nThe Wizard:\n attack - 30\n defense - 40\n magic - 60\n speed - 60\n***************" << endl << endl; cout << "(2)\n***************\nThe Knight:\n attack - 50\n defense - 75\n magic - 40\n speed - 30\n***************" << endl << endl; cout << "(3)\n***************\nThe Berzerker:\n attack - 60\n defense - 50\n magic - 30\n speed - 50\n***************" << endl << endl; cout << "(4)\n***************\nThe Banshee:\n attack - 40\n defense - 40\n magic - 50\n speed - 65\n***************" << endl << endl; cout << "(5)\n***************\nThe Goblin:\n attack - 60\n defense - 65\n magic - 30\n speed - 40\n***************" << endl << endl; cout << "(6)\n***************\nThe Demon:\n attack - 65\n defense - 70\n magic - 25\n speed - 30\n***************" << endl << endl; cout << "Which Class would you like to be?: "; cin >> person; if((person > 6)&&(person != 666)) { system("cls"); cout << "You must enter an integer between 1 and 6!!!!\n\n"; system("pause"); system("cls"); } if(person == 666) { system("cls"); cout << "Muahahahaha!! You have unleashed Satan!!!"; cout << "\n***************\nSatan:\n attack - 100\n defense - 100\n magic - 100\n speed - 100\n***************" << endl << endl; Beep(300,200); Sleep(100); Beep(200,200); Sleep(100); Beep(100,200); Sleep(100); Beep(100,100); Beep(125,50); Beep(150,50); Beep(125,50); Beep(100,200); system("pause"); system("cls"); } }while((person > 6)&&(person != 666)); //information for user switch(person) { case 1: attackus = 30, defenseus = 40, magicus = 60, speedus = 60, nameus = "Wizard"; break; case 2: attackus = 50, defenseus = 60, magicus = 40, speedus = 40, nameus = "Knight"; break; case 3: attackus = 60, defenseus = 50, magicus = 30, speedus = 50, nameus = "Berzerker"; break; case 4: attackus = 40, defenseus = 40, magicus = 50, speedus = 65, nameus = "Banshee"; break; case 5: attackus = 60, defenseus = 65, magicus = 30, speedus = 40, nameus = "Goblin"; break; case 6: attackus = 65, defenseus = 70, magicus = 30, speedus = 25, nameus = "Demon"; break; case 666: attackus = 100, defenseus = 100, magicus = 100, speedus = 100, nameus = "Satan"; break; default: cout << "No One"; } do{ do{ system("cls"); cout << "Hello, " << nameus << ", what would you like to do?\n\n"; cout << "(1)\n**********\nGo to the Arena\n**********\n\n"; cout << "(2)\n**********\nGo to the Armory\n**********\n:"; cin >> decision; switch(decision) { case 1: int random3, random4, random5; srand ((unsigned)time(0)); random3 = (rand() % 4) + 1; random4 = (rand() % 4) + 1; random5 = (rand() % 4) + 1; if(healthop == 0) healthop = 100; system("cls"); do{ cout << "Welcome to the arena, " << nameus << ", which opponent would you like to face?" << endl; d = (level * -1); switch(random3) { case 1: if(level <= 1) { cout << "(" << d + 2 << ")\n***************\nThe Tree(lvl 1):\n attack - 0\n defense - 20\n speed - 0\n***************\n"; cout << endl; } break; case 2: if(level <= 1) { cout << "(" << d + 2 << ")\n***************\nThe Rock(lvl 1):\n attack - 0\n defense - 30\n speed - 0\n***************\n"; cout << endl; } break; case 3: if(level <= 1) { cout << "(" << d + 2 << ")\n***************\nThe Computer(lvl 1):\n attack - 0\n defense - 10\n speed - 0\n***************\n"; cout << endl; } break; case 4: if(level <= 1) { cout << "(" << d + 2 << ")\n***************\nThe Book(lvl 1):\n attack - 0\n defense - 5\n speed - 0\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } switch(random4) { case 1: if(level <= 2) { cout << "(" << d + 3 << ")\n***************\nThe Rat(lvl 2):\n attack - 30\n defense - 20\n speed - 30\n***************\n"; cout << endl; } break; case 2: if(level <= 2) { cout << "(" << d + 3 << ")\n***************\nThe Cat(lvl 2):\n attack - 40\n defense - 20\n speed - 30\n***************\n"; cout << endl; } break; case 3: if(level <= 2) { cout << "(" << d + 3 << ")\n***************\nThe Dog(lvl 2):\n attack - 45\n defense - 25\n speed - 30\n***************\n"; cout << endl; } break; case 4: if(level <= 2) { cout << "(" << d + 3 << ")\n***************\nThe Bat(lvl 2):\n attack - 30\n defense - 20\n speed - 35\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } switch(random5) { case 1: if(level <= 3) { cout<< "(" << d + 4 << ")\n***************\nThe Mage(lvl 3):\n attack - 65\n defense - 35\n speed - 45\n***************\n"; cout << endl; } break; case 2: if(level <= 3) { cout<< "(" << d + 4 << ")\n***************\nThe Jackal(lvl 3):\n attack - 60\n defense - 50\n speed - 50\n***************\n"; cout << endl; } break; case 3: if(level <= 3) { cout<< "(" << d + 4 << ")\n***************\nThe Crusader(lvl 3):\n attack - 65\n defense - 55\n speed - 45\n***************\n"; cout << endl; } break; case 4: if(level <= 3) { cout<< "(" << d + 4 << ")\n***************\nThe Wolf(lvl 3):\n attack - 55\n defense - 45\n speed - 55\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } switch(random3) { case 1: if((level <= 4)&&(level >= 2)) { cout<< "(" << d + 5 << ")\n***************\nThe Assassin(lvl 4):\n attack - 75\n defense - 35\n speed - 55\n***************\n"; cout << endl; } break; case 2: if((level <= 4)&&(level >= 2)) { cout<< "(" << d + 5 << ")\n***************\nThe Pacman(lvl 4):\n attack - 65\n defense - 30\n speed - 60\n***************\n"; cout << endl; } break; case 3: if((level <= 4)&&(level >= 2)) { cout<< "(" << d + 5 << ")\n***************\nThe Man Eating Bunny(lvl 4):\n attack - 75\n defense - 35\n speed - 55\n***************\n"; cout << endl; } break; case 4: if((level <= 4)&&(level >= 2)) { cout<< "(" << d + 5 << ")\n***************\nThe Warlock(lvl 4):\n attack - 70\n defense - 40\n speed - 50\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } switch(random4) { case 1: if((level <= 5)&&(level >= 3)) { cout<< "(" << d + 6 << ")\n***************\nPoseidon(lvl 5):\n attack - 80\n defense - 45\n speed - 45\n***************\n"; cout << endl; } break; case 2: if((level <= 5)&&(level >= 3)) { cout<< "(" << d + 6 << ")\n***************\nMinitaur(lvl 5):\n attack - 65\n defense - 55\n speed - 50\n***************\n"; cout << endl; } break; case 3: if((level <= 5)&&(level >= 3)) { cout<< "(" << d + 6 << ")\n***************\nThe Cyclops(lvl 5):\n attack - 75\n defense - 45\n speed - 50\n***************\n"; cout << endl; } break; case 4: if((level <= 5)&&(level >= 3)) { cout<< "(" << d + 6 << ")\n***************\nThe Dragon(lvl 5):\n attack - 80\n defense - 55\n speed - 30\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } switch(random4) { case 1: if((level <= 6)&&(level >= 4)) { cout<< "(" << d + 7 << ")\n***************\nAthena(lvl 6):\n attack - 85\n defense - 55\n speed - 60\n***************\n"; cout << endl; } break; case 2: if((level <= 6)&&(level >= 4)) { cout<< "(" << d + 7 << ")\n***************\nZeus(lvl 6):\n attack - 90\n defense - 65\n speed - 55\n***************\n"; cout << endl; } break; case 3: if((level <= 6)&&(level >= 4)) { cout<< "(" << d + 7 << ")\n***************\nHades(lvl 6):\n attack - 75\n defense - 70\n speed - 50\n***************\n"; cout << endl; } break; case 4: if((level <= 6)&&(level >= 4)) { cout<< "(" << d + 7 << ")\n***************\nOsiris(lvl 6):\n attack - 70\n defense - 60\n speed - 55\n***************\n"; cout << endl; } break; default: cout << "Can't Happen"; } if((level <= 99)&&(level >= 5)) { cout<< "(" << d + 8 << ")\n***************\nGod(lvl ?):\n attack - ??\n defense - ??\n speed - ??\n***************\n"; cout << endl; } cout << ":"; cin >> opponent; if((opponent > 3)||(opponent < 1)) { system("cls"); cout << "You must enter an integer between 1 and 3!!!!\n\n"; system("pause"); system("cls"); } }while((opponent > 3)||(opponent < 1)); system("cls"); opponent = opponent + c; switch(opponent) { case 1: switch(random3) { case 1: attackop = 0, defenseop = 20, speedop = 0, nameop = "Tree", expo = 40, moneyo = 20; break; case 2: attackop = 0, defenseop = 30, speedop = 0, nameop = "Rock", expo = 60, moneyo = 30; break; case 3: attackop = 0, defenseop = 10, speedop = 0, nameop = "Computer", expo = 20, moneyo = 10; break; case 4: attackop = 0, defenseop = 5, speedop = 0, nameop = "Book", expo = 10, moneyo = 5; break; } break; case 2: switch(random4) { case 1: attackop = 30, defenseop = 20, speedop = 30, nameop = "Rat", expo = 160, moneyo = 80; break; case 2: attackop = 40, defenseop = 20, speedop = 30, nameop = "Cat", expo = 180, moneyo = 90; break; case 3: attackop = 45, defenseop = 25, speedop = 30, nameop = "Dog", expo = 200, moneyo = 100; break; case 4: attackop = 35, defenseop = 20, speedop = 35, nameop = "Bat", expo = 180, moneyo = 90; break; } break; case 3: switch(random5) { case 1: attackop = 65, defenseop = 35, speedop = 45, nameop = "Mage", expo = 290, moneyo = 145; break; case 2: attackop = 60, defenseop = 50, speedop = 50, nameop = "Jackel", expo = 320, moneyo = 160; break; case 3: attackop = 65, defenseop = 55, speedop = 45, nameop = "Crusader", expo = 330, moneyo = 165; break; case 4: attackop = 55, defenseop = 45, speedop = 55, nameop = "Wolf", expo = 310, moneyo = 155; break; } break; case 4: switch(random3) { case 1: attackop = 85, defenseop = 35, speedop = 65, nameop = "Assassin", expo = 330, moneyo = 165; break; case 2: attackop = 75, defenseop = 30, speedop = 70, nameop = "Pacman", expo = 310, moneyo = 155; break; case 3: attackop = 85, defenseop = 35, speedop = 85, nameop = "Man Eating Bunny", expo = 330, moneyo = 165; break; case 4: attackop = 80, defenseop = 40, speedop = 60, nameop = "Warlock", expo = 320, moneyo = 160; break; } break; case 5: switch(random4) { case 1: attackop = 90, defenseop = 45, speedop = 55, nameop = "Poseidon", expo = 340, moneyo = 170; break; case 2: attackop = 80, defenseop = 55, speedop = 60, nameop = "Minitaur", expo = 350, moneyo = 175; break; case 3: attackop = 85, defenseop = 45, speedop = 70, nameop = "Cyclops", expo = 340, moneyo = 170; break; case 4: attackop = 90, defenseop = 55, speedop = 45, nameop = "Dragon", expo = 340, moneyo = 170; break; } break; case 6: switch(random5) { case 1: attackop = 105, defenseop = 55, speedop = 70, nameop = "Athena", expo = 400, moneyo = 200; break; case 2: attackop = 110, defenseop = 65, speedop = 65, nameop = "Zeus", expo = 420, moneyo = 210; break; case 3: attackop = 95, defenseop = 70, speedop = 60, nameop = "Hades", expo = 390, moneyo = 195; break; case 4: attackop = 90, defenseop = 60, speedop = 65, nameop = "Osiris", expo = 370, moneyo = 185; break; } break; case 7: attackop = 110, defenseop = 90, speedop = 80, nameop = "God"; break; default: cout << "No One"; } //success rate asuccess = speedus - defenseop + 50; msuccess = speedus - defenseop + 50; xsuccess = (speedus - defenseop + 50)/2; cout << "First Round is: " << nameus << " vs. " << nameop << "!!!"; if(opponent != 7) Sleep(1000); if(opponent == 7) { Beep(350,200); Beep(300,300); Beep(400,200); Beep(350,250); Beep(400,400); Beep(450,600); } //amount of damage dealt a = attackus - defenseop; b = magicus - defenseop; opac = 100 - defenseus; attackop = attackop - defenseus; if (attackop < 0) attackop = 0; else attackop = attackop; do{ //Random Number Generator int random, random2; random = rand() % 100; random2 = rand() % 100; system("CLS"); //limitation if(asuccess > 100) asuccess = 100; else asuccess = asuccess; if(msuccess > 100) msuccess = 100; else msuccess = msuccess; if(xsuccess > 100) xsuccess = 100; else msuccess = msuccess; //options do{ if((random < 80)&&(random > 75)) { system("cls"); cout << "Incredible..a mythical sword has fallen from the sky and into your fist.\nYour attack has rose an additional 5 points!\n(only used on THIS round.)\n\n"; a = a + 5; system("pause"); system("cls"); } if((random < 76)&&(random > 70)) { system("cls"); cout << "You have just returned from the shoe store, with sneakers faster than lightning!\nYour Speed rose an additional 5 points!\n(only used on THIS round.)\n\n"; asuccess = asuccess + 5; msuccess = msuccess + 5; xsuccess = xsuccess + 5; system("pause"); system("cls"); } if((random < 71)&&(random > 65)) { system("cls"); cout << "An ancient wizard visited you in your sleep, and gave you a new spell.\nYour magic has rose an additional 5 points!\n(only used on THIS round.)\n\n"; b = b + 5; system("pause"); system("cls"); } if((random < 66)&&(random > 60)) { system("cls"); cout << "Athena has just granted you a new sheild!\nYour defense has rose an additional 5 points!\n(only used on THIS round.)\n\n"; opac = opac - 5; system("pause"); system("cls"); } healus = attackop -5; if(healus <= 0) healus = 10; if(asuccess > 100) asuccess = 100; if(msuccess > 100) msuccess = 100; if(xsuccess > 100 xsuccess = 100; cout << "What would you like to use?\n\n" << "(1)\n***************\nAttack: " << asuccess << "% chance of success\n***************\n\n" << "(2)\n***************\nPower Attack: " << xsuccess << "% chance of success\n***************\n\n" << "(3)\n***************\nMagic: " << msuccess << "% chance of success\n***************\n\n" << "(4)\n***************\nPower Magic: " << xsuccess << "% chance of success\n***************\n\n" << "(5)\n***************\nheal + " << healus << "hp\n***************\n\n"; cout << ": "; cin >> atk; if(atk > 5) { system("cls"); cout << "You MUST enter a number between 1 and 3!!!\n\n"; system("pause"); system("cls"); } }while(atk > 5); system("CLS"); cout << "Calculating results"; for(int counter = 0; counter <= 6; counter++) { Sleep(00); cout << "."; } system("CLS"); switch(atk) { case 1: if(random<=asuccess) { if(random<=10) { cout << "CRITICAL!!!!\n\n\a"; a = a * 2; } if(a < 0) a = 5; cout << "You took away " << a << " health points from the " << nameop << "!\n\n"; healthop = healthop - a; if(healthop < 0) healthop = 0; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; if(random<=10) a = a/2; } else { cout << "You missed!\n\n"; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; } break; case 2: if(random<=xsuccess) { if(random<=10) { cout << "CRITICAL!!!!\n\n\a"; a = a * 2; } if(a < 0) a = 5; cout << "You took away " << (a*2)-10 << " health points from the " << nameop << "!\n\n"; healthop = healthop - ((a*2)-10); if(healthop < 0) healthop = 0; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; if(random<=10) a = a/2; } else { cout << "You missed!\n\n"; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; } break; case 3: if(random<=msuccess) { if(random<=10) { cout << "CRITICAL!!!!\n\n\a"; b = b * 2; } if(b < 0) b = 5; cout << "You took away " << b << " health points from the " << nameop << "!\n\n"; healthop = healthop - b; if(healthop < 0) healthop = 0; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; if(random<=10) b = b/2; } else { cout << "You missed!\n\n"; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; } break; case 4: if(random<=xsuccess) { if(random<=10) { cout << "CRITICAL!!!!\n\n\a"; b = b * 2; } if(b < 0) b = 5; cout << "You took away " << (b*2)-10 << " health points from the " << nameop << "!\n\n"; healthop = healthop - ((b*2)-10); if(healthop < 0) healthop = 0; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; if(random<=10) b = b/2; } else { cout << "You missed!\n\n"; cout << "The " << nameop << "'s health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; } break; case 5: if(healthus < 100) { healthus = healthus + healus; cout << "Your health rose from " << healthus-healus << ", to " << healthus << "!!!" << endl << endl; } else cout << "Your health is already 100%!!!" << endl << endl; break; default: cout << "Attack Not available"; } system("pause"); system("cls"); if(healthop > 0) { cout << "Opponent is now attacking"; for(int counter = 6; counter >= 0; counter--) { Sleep(00); cout << "."; } system("cls"); if(opac <= random2) { if(random2<=5) { cout << "CRITICAL!!!!\n\n\a"; attackop = attackop + 15; } if(attackop <= 0) attackop = 5; if(opponent==1) attackop = 0; cout << "The opponent took away " << attackop << " health points from you!\n\n"; healthus = healthus - attackop; if(healthus < 0) healthus = 0; cout << "Opponent's health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; if(random2<=5) attackop = attackop - 15; } else { cout << "The opponent missed!\n\n"; cout << "Opponent's health is: " << healthop << endl << "Your health is: " << healthus << endl << endl; } system("pause"); } }while((healthop >= 1)&&(healthus >= 1)); system("cls"); if(healthop >= 1) { cout << "You were beat by the " << nameop << "!!! Whhaaaahaahaaaaa\n\n"; Beep(180,500); Beep(160,500); Beep(140,500); Beep(120,500); Beep(100,800); } else if(opponent!=7) { if(healthus > 0) { healthus = 100; cout << "You have gained " << expo << " experience, and " << moneyo << " money!!!\n\n"; exp = exp + expo; money = money + moneyo; cout << "You have " << exp << " experience points!\n"; if(levelup > exp) cout << "You need " << levelup - exp << " more exp points to level up.\n"; cout << "You have $" << money << endl << endl; system("pause"); system("cls"); } if(exp >= levelup) { c++; level++; cout << "Congratulations on your victory! You have graduated to level " << level << "!!!.\n\n"; cout << "Which attribute would you like to increase by 5 points?\n"; cout << endl << "(1)\n*****\nattack\n*****\n\n(2)\n*****\nmagic\n*****\n\n(3)\n*****\nspeed\n*****\n\n(4)\n*****\ndefense\n*****\n:"; cin >> atr; switch(atr) { case 1: attackus = attackus + 5; break; case 2: magicus = magicus + 5; break; case 3: speedus = speedus + 5; break; case 4: defenseus = defenseus + 5; break; default: defenseus = defenseus; break; } system("cls"); cout << "Your current Stats are:\nattack - " << attackus << endl << "magic - " << magicus << endl << "speed - " << speedus << endl << "defense - " << defenseus << endl << endl; system("pause"); system("cls"); levelup = levelup*2; } } system("pause"); break; case 2: do{ do{ system("cls"); cout << "You have $" << money << " left."; cout << " Which Item would you like to buy?\n\n"; cout << "(1)\n**********\nRusty Sword(+3 attack) - 300$\n**********\n"; cout << "(2)\n**********\nSteel Sword(+6 attack) - 500$\n**********\n"; cout << "(3)\n**********\nGreat Sword(+9 attack) - 700$\n**********\n\n"; cout << "(4)\n**********\nWooden Shield(+3 defense) - 300$\n**********\n"; cout << "(5)\n**********\nSmall Shield(+6 defense) - 500$\n**********\n"; cout << "(6)\n**********\nGaurdian's Shield(+9 defense) - 700$\n**********\n\n"; cout << "(7)\n**********\nWooden Staff(+3 magic) - 300$\n**********\n"; cout << "(8)\n**********\nCurved Staff(+6 magic) - 500$\n**********\n"; cout << "(9)\n**********\nWarlock's Staff(+9 magic) - 700$\n**********\n\n"; cout << "(10)\n**********\nPatched Loafers(+3 speed) - 300$\n**********\n"; cout << "(11)\n**********\nRegular Sneakers(+6 speed) - 500$\n**********\n"; cout << "(12)\n**********\nRunning Shoes(+9 speed) - 700$\n**********\n"; cout << "(13)\n**********\nExit\n**********\n"; cin >> item; system("cls"); }while((item > 13)||(item < 1)); switch(item) { case 1: if(money >= 300) { cout << "You have gained 3 attack!\n\n"; money = money - 300; attackus = attackus + 3; break; } case 2: if(money >= 500) { cout << "You have gained 6 attack!\n\n"; money = money - 500; attackus = attackus + 6; break; } case 3: if(money >= 700) { cout << "You have gained 9 attack!\n\n"; money = money - 700; attackus = attackus + 9; break; } case 4: if(money >= 300) { cout << "You have gained 3 defense!\n\n"; money = money - 300; defenseus = defenseus + 3; break; } case 5: if(money >= 500) { cout << "You have gained 6 defense!\n\n"; money = money - 500; defenseus = defenseus + 6; break; } case 6: if(money >= 700) { cout << "You have gained 9 defense!\n\n"; money = money - 700; defenseus = defenseus + 9; break; } case 7: if(money >= 300) { cout << "You have gained 3 magic!\n\n"; money = money - 300; magicus = magicus + 3; break; } case 8: if(money >= 500) { cout << "You have gained 3 magic!\n\n"; money = money - 500; magicus = magicus + 6; break; } case 9: if(money >= 700) { cout << "You have gained 3 magic!\n\n"; money = money - 700; magicus = magicus + 9; break; } case 10: if(money >= 300) { cout << "You have gained 3 speed!\n\n"; money = money - 300; speedus = speedus + 3; break; } case 11: if(money >= 500) { cout << "You have gained 3 speed!\n\n"; money = money - 500; speedus = speedus + 6; break; } case 12: if(money >= 700) { cout << "You have gained 3 speed!\n\n"; money = money - 700; speedus = speedus + 9; break; } default: speedus = speedus; } //END Armory cout << "Would you like to exit? (y or n): "; cin >> exit; system("cls"); }while(exit != 'y'); break; default: cout << "Please select 1 or 2!!!"; } }while((healthus > 0)&&(opponent!=7)); }while((healthus >= 1)&&(opponent!=7)); if(healthus >= 1) { cout << "OMG!! YOU WON!!! You are better than god...congrats!\n"; cout << " ******** \n"; cout << " ************ ** \n"; cout << " ************** ****** \n"; cout << " *********************** \n"; cout << " *********************** \n"; cout << " **************** ***** \n"; cout << " ************** *** \n"; cout << " ************ * \n"; cout << " ******** *** * * \n"; cout << " **** * * * \n"; cout << " ** * * * \n"; cout << " **** * * * \n"; cout << " * \n"; cout << " * \n"; cout << " * * * \n"; cout << " * * * \n"; cout << " * * * \n"; cout << " * \n"; cout << " * \n"; cout << " * \n"; Beep(100,100); Beep(120,100); Beep(140,100); Beep(160,100); Beep(180,100); Beep(200,100); Beep(220,100); Beep(240,100); Beep(260,100); Beep(280,100); Beep(300,100); Beep(320,100); Beep(340,100); Beep(360,100); Beep(380,100); Beep(400,100); Beep(420,100); Beep(440,100); Beep(460,100); Beep(480,100); Beep(500,100); Beep(600,300); } }
0
•
•
•
•
Yes, I know. But there was no "post your program" section, so I didn't see a place fit to post my program I spent so much time on. Besides, I saw other people posting their games, so I figured why not? 

0
•
•
•
•
•
•
•
•
This is awsome! what compiler did you use to make this ?
Last edited by restrictment; 23 Days Ago at 1:16 am.
0
•
•
•
•
"ahh cool. I tries using that but failed epically cos i found it soo bloody confusing "
Yeah, I accidentally missed a parenthesis on one of the if statements. Just debug it, right click "go to location", and add in the parenthesis. I would have edited it in there..but there is no way to edit it, and I didn't want to spam another thread with such a minor correction.
Yeah, I accidentally missed a parenthesis on one of the if statements. Just debug it, right click "go to location", and add in the parenthesis. I would have edited it in there..but there is no way to edit it, and I didn't want to spam another thread with such a minor correction.
0
•
•
•
•
Thanks for the positive comments.
I am currently working on a new rpg that will be 100x neater. (Using functions and arrays to cut down the code length, as well as organize).
As well, the program will actually store potions, weapons, armor ect. Instead of just raising your stats every time you buy the same thing. The RPG will also feature quests, and choices that will change the way you play the game!!
If you would like to get updates on this rpg, please pm me, and I will send you updated source code about every week.
*I am hoping that this will be the best rpg for c++ console!*
I am currently working on a new rpg that will be 100x neater. (Using functions and arrays to cut down the code length, as well as organize).
As well, the program will actually store potions, weapons, armor ect. Instead of just raising your stats every time you buy the same thing. The RPG will also feature quests, and choices that will change the way you play the game!!
If you would like to get updates on this rpg, please pm me, and I will send you updated source code about every week.
*I am hoping that this will be the best rpg for c++ console!*
Similar Threads
- Code Snippet: Neat Text-Based RPG C++ Console (C++)
- Partner Text-Based RPG (Web Development Job Offers)
- Help with text-based RPG (Game Development)
- Text based adventure game (Java)
- Web-based RPG game advice needed (Game Development)
- Enhancing a Text based RPG (C++)
| Thread Tools | Search this Thread |
3d 360 ads advertising alignment api applet application array assembly based c# c++ code command community computer console design development dice editor egg engine events external file fpx game games gaming getselection guess guessing hardware helpwithhomework hot hyper import in-gameadvertisement intellectualproperty jasper java jygame keyboard laracroft law link mercenaries microsoft mobo msn naked news nintendo parse patents perl pinky pirate playstation politics popular port program project prompt ps3 python read registry review richtextbox root rpg rrod search site software sony split studio technology terrorism text textbox tombraider top tweaks txttoxmlconverter unicode unit video warcraft3 wii win32 windows xbox xbox360 xml






