ITT We LOL At My Horrible Text Based Game I Never Finished

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

Post Reply
User avatar
davidthefat
Chaos Rift Maniac
Chaos Rift Maniac
Posts: 529
Joined: Mon Nov 10, 2008 3:51 pm
Current Project: Fully Autonomous Robot
Favorite Gaming Platforms: PS3
Programming Language of Choice: C++
Location: California
Contact:

ITT We LOL At My Horrible Text Based Game I Never Finished

Post by davidthefat »

:lol: Its the only program Im even closed to finishing, It was from last year...

Yes I know Horrible usage of a header file... and crappy...



main.cpp

Code: Select all

#include <cstdlib>
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include "main.h"
using namespace std;
void Shop();
void fight();
void SkillPoint();
void levelup();
void Items();
void Save();
void Load();
void Game();
void NewGame();

int main(int argc, char *argv[])
{
  cout <<"1=Load \t 2=New Game" << endl;
  cin >> choice;
  if (choice == 1)
  {
	  Load();
  }
  if (choice == 2)
  {
	  NewGame();
  }
}

void fight()
{
	
	
	cout << "Bat appeared!" << endl;
	
	for (;BatHP >0;)	
	{
		cout << BatHP <<"/" << OGBatHP <<"\nYour HP: "<< hp <<"/"<< fullhp <<"\nYour MP: "<<mp <<"/"<< fullmp << endl;
		cout << "1=Attack 2=Power Hit 3=Stab 4=Item" << endl;
		cin >> choice1;
		if (choice1 == 1)
		{
						BatHP = BatHP - (BatDEF / 2 + atk);
						cout << "Bat took " << +(BatDEF / 2 + atk)
							 << " Damage" << endl;
						if(BatHP <= 0)
						{
							cout << "***Bat Died!*** \n you gained " << (exp += exprate) <<"exp.\n you got 30 money" << endl;
								 exp += exprate;
								 money += 30;
								 OGBatHP += 50;
								 BatDEF += 10;
								 BatAtk += 10;
								 exprate += 10;
								 
						}
						if(BatHP >= 0)
						{
							hp = hp - (def / 2 + BatAtk);
							cout << "You took " << -(def / 2 + BatAtk)
								<< " Damage" << endl;
						}
		}
		
		
		else if ((choice1 == 2) && (Super > 0) && (mp >= 150))
		{
			mp -= 150;
			cout <<"MP-150\nPower Hit!"<< endl;
			BatHP = BatHP - (BatDEF / 2 + (atk * Super));
						cout << "Bat took " << -(BatDEF / 2 - (atk * Super))
							 << " Damage" << endl;
						if(BatHP <= 0)
						{
							cout << "***Bat Died!*** \n you gained " << (exp += exprate) <<"exp.\n you got 30 money" << endl;
								 exp += exprate;
								 money += 30;
								 OGBatHP += 50;
								 BatDEF += 10;
								 BatAtk += 10;
								 exprate += 10;
						}
						if(BatHP >= 0)
						{
							hp = hp - (def / 2 + BatAtk);
							cout << "You took " << -(def / 2 + BatAtk)
								<< " Damage" << endl;
						}
		}
		else if ((choice1 == 3) && (Stab > 0) && (mp >= 200))
		{
			mp -= 200;
			cout <<"MP-200\nStab!!!"<< endl;
			BatHP = BatHP - ((atk * Stab)/2);
						cout << "Bat took " <<  (atk * Stab)/2
							 << " Damage" << endl;
						if(BatHP <= 0)
						{
							cout << "***Bat Died!*** \n you gained " << (exp += exprate) <<"exp.\n you got 30 money" << endl;
								  exp += exprate;
								 money += 30;
								 OGBatHP += 50;
								 BatDEF += 10;
								 BatAtk += 10;
								 exprate += 10;
								 
						}
						if(BatHP >= 0)
						{
							hp = hp - (def / 2 + BatAtk);
							cout << "You took " << -(def / 2 + BatAtk)
								<< " Damage" << endl;
						}
		}
		
		else if (choice1 == 4)
		{
			Items();
		}
		
		else
		{
			cout <<"No Can Do"<< endl;
		}
		if (hp <=0)
	{
		cout << "GAME OVER" << endl;
		system("color 40");
	}
		

	}
	
}

void SkillPoint()
{
	cout <<"HP Mastery=" << hpmastery << endl;
	cout <<"MP Mastery=" << mpmastery << endl;
	cout <<"Attack Mastery=" << atkmastery << endl;
	cout <<"Defence Mastery=" << defmastery << endl;
	cout <<"Skill Points=" << SP << endl;
	cout <<"What would you like to upgrade?" << endl;
	cout <<"1=HP Mastery \t 2=MP Mastery \t 3=Attack Mastery \t 4=Defence Mastery \n5=Power Hit \t 6=Stab" <<endl;
	cin >> choice;
	if ((choice == 1) && (SP > 0))
	{
		SP -= 1;
		hpmastery += 5;
	cout <<"HP Mastery Up!" << endl;
	}
else if ((choice == 2) && (SP > 0))
	{
		SP -= 1;
		mpmastery += 5;
		cout <<"MP Mastery Up!" << endl;
	}
	else if ((choice == 3) && (SP > 0))
	{
		SP -= 1;
		atkmastery += 10;
		cout <<"Attack Mastery Up!" << endl;
	}
else if ((choice == 4) && (SP > 0))
	{
		SP -= 1;
		defmastery += 10;
		cout <<"Defence Mastery Up!" << endl;
	}
else if ((choice == 5) && (SP > 0) && (Super < 10))
{
	SP -= 1;
	Super += 1;
	cout <<"Power Hit Up!"<< endl;
}
else if ((choice == 6) && (SP > 0) && (Stab < 10))
{
	SP -= 1;
	Stab += 1;
	cout <<"Stab Up!"<< endl;
}

else 
{
	cout <<"No can do" << endl;
}
}

void levelup()
{
	
		level ++;
		fullhp += hpmastery;
		fullmp += mpmastery;
		hp = fullhp;
		mp = fullmp;
		atk += atkmastery;
		def += defmastery;
		SP += 3;
		explevel *=2;
		cout <<"Level Up!" << endl;
		cout << hp <<"+" << hpmastery <<"=" <<hp + hpmastery <<" HP"<< endl;
		cout << mp <<"+" << mpmastery <<"=" <<mp + mpmastery <<" MP"<< endl;
		cout << atk <<"+" << atkmastery <<"=" <<atk + atkmastery <<" Attack"<< endl;
		cout << def <<"+" << defmastery <<"=" <<def + defmastery <<" Defence"<< endl;
	
	}

void Items()
{
	cout <<"1= HP Potion " << HPpot <<" 2= MP Potion " << MPpot <<" 3= Back" << endl;
	cin >> choice;
		if ((choice == 1) && (HPpot > 0) && (hp <= fullhp))
	{
		HPpot --;
		hp += 100;
		cout <<"Healed 100 HP" <<endl;
			}
		else if ((choice == 2) && (MPpot > 0) && (mp <= fullmp))
		{
			MPpot --;
			mp += 100;
			cout <<"Healed 100 MP" <<endl;
	}
		else if (choice == 3)
		{
			cout <<"OK" << endl;
		}
		else
		{
			cout <<"No can do" << endl;
		}
}
void Save()
{
	ofstream save("DaveSata.dav");
	save << fixed;
	save << left;


    save << name << endl;
    save << level << endl;
	save << money << endl;
	save << exp << endl;
	save << explevel << endl;
	save << exprate << endl;
	save << hp << endl;
	save << mp << endl;
	save << hpmastery << endl;
	save << mpmastery << endl;
	save << fullhp << endl;
	save << fullmp << endl;
	save << atk << endl;
	save << def << endl;
	save << atkmastery << endl;
	save << defmastery << endl;
	save << Super << endl;
	save << Stab << endl;
	save << HPpot << endl;
	save << MPpot << endl;
	save << BatHP << endl;
	save << BatDEF << endl;
	save << BatAtk << endl;
	save << OGBatHP << endl;


	save.close();
	cout <<"Game Saved!" << endl;
}
void Load()
{
	ifstream load("DaveSata.dav");
	load >> name;
    load >> level;
	load >> money;
	load >> exp;
	load >> explevel;
	load >> exprate;
	load >> hp;
	load >> mp;
	load >> hpmastery;
	load >> mpmastery;
	load >> fullhp;
	load >> fullmp;
	load >> atk;
	load >> def;
	load >> atkmastery;
	load >> defmastery;
	load >> Super;
	load >> Stab;
	load >> HPpot;
	load >> MPpot;
	load >> BatHP;
	load >> BatDEF;
	load >> BatAtk;
	load >> OGBatHP;

	cout <<"Game Loaded!" << endl;

	Game();
}
void Game()
{	
	for(; hp > 0 ;)
	{
		cout <<"\n\n\n\n\n\n\n\n\n\n\n";
    cout << "Hi " << name << " how are you doing?" << endl;
	cout <<"Level=" << level << endl;
	cout <<"HP=" << hp <<"/"<< fullhp << "\t Attack=" << atk << endl;
	cout <<"MP=" << mp <<"/"<< fullmp << "\t Defence=" << def << endl;
	cout <<"Money=" << money << "\t EXP=" << exp <<"/"<<explevel<< endl;
	cout <<"HP Mastery=" << hpmastery << endl;
	cout <<"MP Mastery=" << mpmastery << endl;
	cout <<"Attack Mastery=" << atkmastery << endl;
	cout <<"Defence Mastery=" << defmastery << endl;
	cout <<"1=Inn \t 2=Shop \t 3=Suicide" << endl <<
		"4=Fight \t 5=Skills \t 6=Items" << endl <<
		"7=Save" << endl;
	cin >> choice;
	
	if ((choice == 1) && (money >= 50))
	{
		
		hp = fullhp;
		mp = fullmp;
	money -= 50;
	cout <<"Your HP and MP is Fully Restored" << endl;
	}
		else if (choice == 2)
	{
		Shop();
	}
	
	
	else if (choice == 3)
	{
		cout <<"You stab yourself!" << endl;
		    while (hp>=0) {
    
				cout << "HP:" << hp << "\n";
    --hp;
			}
  

 
		
		
	}
	else if (choice == 4)
	{
		BatHP = OGBatHP;
		fight();
	}
	else if (choice == 5)
	{
		SkillPoint();
	}
	else if (choice == 6)
	{
		Items();
	}
	else if (choice == 7)
	{
		Save();
	}
	

	else
	{
		cout << "Make another selection." << endl;
	}
	
	
	if (exp >= explevel)
	{
		levelup();
	}
	
	if (hp <=0)
	{
		cout << "GAME OVER" << endl;
		system("color 40");
	}
	}
	
    system("PAUSE");
    
	
}



void Shop()
{
	int choice2;
	cout <<"Hello welcome to the Shop \nWhat would you like?\n 1=Attack Up 100 money \t 2=Defence Up 100 money \n 3=HP Potion 50 money\t 4=MP Potion 50 money" << endl;
cin >> choice2;
if ((choice2 == 1) && (money >= 100))
{
	atk += 10;
	money -= 100;
	cout <<"Attack + 10" << endl;
}
else if ((choice2 == 2) && (money >= 100))
{
def += 10;
	money -= 100;
	cout <<"Defence + 10" << endl;
}
else if ((choice2 == 3) && (money >= 50))
{
	HPpot ++;
	money -= 50;
	cout <<"HP Potion +1" << endl;
}
else if ((choice2 == 4) && (money >= 50))
{
	MPpot ++;
	money -= 50;
	cout <<"MP Potion +1" << endl;
}
else
{
	cout <<"No can do" << endl;
}
}
void NewGame()
{
	cout << "What is your name?" << endl;
    cin >> name;
	
	hp = 200,mp = 200,fullhp = 200, fullmp = 200, money = 100, choice , level = 1 ,hpmastery = 25,mpmastery = 25,atk = 50,def = 50,atkmastery = 10, defmastery = 10,SP = 0;
	BatHP, BatDEF = 10, BatAtk = 10, choice1,OGBatHP = 100;
explevel = 100, exp = 0,exprate = 10;
Super = 0, Stab = 0;
HPpot = 0, MPpot = 0;
Game();
}
main.h

Code: Select all

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;


string name;
	int hp ,mp,fullhp, fullmp, money, choice , level ,hpmastery,mpmastery,atk,def,atkmastery, defmastery,SP;
	int BatHP, BatDEF, BatAtk, choice1,OGBatHP;
int explevel, exp,exprate;
int Super, Stab;
int HPpot, MPpot;
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: ITT We LOL At My Horrible Text Based Game I Never Finished

Post by dandymcgee »

That looks more like C than C++ with everything in main.cpp. :lol:
Last edited by dandymcgee on Mon Apr 13, 2009 5:52 pm, edited 2 times in total.
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: ITT We LOL At My Horrible Text Based Game I Never Finished

Post by MarauderIIC »

I'm not looking.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
programmerinprogress
Chaos Rift Devotee
Chaos Rift Devotee
Posts: 632
Joined: Wed Oct 29, 2008 7:31 am
Current Project: some crazy stuff, i'll tell soon :-)
Favorite Gaming Platforms: PC
Programming Language of Choice: C++!
Location: The UK
Contact:

Re: ITT We LOL At My Horrible Text Based Game I Never Finished

Post by programmerinprogress »

Yeah, a synopsis would go a long way...
---------------------------------------------------------------------------------------
I think I can program pretty well, it's my compiler that needs convincing!
---------------------------------------------------------------------------------------
And now a joke to lighten to mood :D

I wander what programming language anakin skywalker used to program C3-PO's AI back on tatooine? my guess is Jawa :P
User avatar
davidthefat
Chaos Rift Maniac
Chaos Rift Maniac
Posts: 529
Joined: Mon Nov 10, 2008 3:51 pm
Current Project: Fully Autonomous Robot
Favorite Gaming Platforms: PS3
Programming Language of Choice: C++
Location: California
Contact:

Re: ITT We LOL At My Horrible Text Based Game I Never Finished

Post by davidthefat »

dandymcgee wrote:That looks more like C than C++ with everything in main.cpp. :lol:
Yea I have been told to use classes on this, but I started a new similar project using classes
Post Reply