Hello, I just finished my text-based RPG called Helsmich, however I need a few testers to find bugs/errors and tell me. There are quite a few variables that can be changed in the games such as your name, money, armor, weapon, kills, deaths, strength, speed, defense, accuracy, health, attributes, level, alignment, etc. so I don't really feel like testing it a bunch of times.

So even if you could run through it one time, that would be great. As well, a review would be nice and comments on ways to improve.

*The game is a little over 1,000 lines so I uploaded it to a .cpp file, so you can skip the copy+paste annoyance*

P.S. I know the orderly of the code is a bit bad. (I did use arrays and functions) So please don't tell me it is bad. Constructive criticism please!

Edit: I am horrible at spelling, and I KNOW that, so please don't tell me I suck at spelling. :) However, please point out the mistakes.

Also, if you don't feel like looking through my code, here are the cheat codes for the game: (Please don't use these until AFTER you test out the game, or it will ruin it for you. :()
----------------------------
GiveMeExcaliberPlease
~ Gives you the highest weapon: Excaliber

GiveMeBerzerkerArmorPlease
~ Gives you the Highest Armor: Berzerker Armor

MOOONEY
~ Gives you 9999999 money

MusclesRule
~ Gives you 999 strength

ArmoredLikeAnAnt
~ Gives you 999 defense

RunningShoes
~ Gives you 999 speed

EagleEye
~ Gives you 999 Accuracy

HealthNut
~ Gives you 9999 Health

LetMeGuess
~ Gives you 999 Training Points

HealMe
~ Gives you 999 Health Points

ILikeAttributes
~ Gives you 999 attributes

MedicMan
~ Gives you 999 of EVERY potion

EvilBoss
~ Sends you straight to the Evil Boss

GoodBoss
~ Sends you straight to the Good Boss

IDontFeelLikeActuallyPlaying
~ Gives you insanely high stats on everything

MakeMeEvilNow
~ Gives you -20 alignment

MakeMeGoodNow
~ Gives you +20 alignment
-------------------

Edited 7 Years Ago by restrictment: n/a

Comments
very nice game :)
Attachments
/*  Game Created by Jacob Caron. Started on 11/2/09  */
//version 2
//header declarations
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <iomanip>
#include <string>
#include <time.h>
#include <fstream>
#include <windows.h>
using namespace std;
//used to maximize screen
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"user32.lib")
//initializing functions
void attribute(int stats[4], int & attributes);
void levels(int & level, int & enemy, int & alignment);
void medic(int & money,int potionsize[5]);
void weapons(int & money, int & weapon);
void armory(int & money, int & armor);
void statistics(int money,int mondef,int potionsize[5],int armor,int weapon,string name,int stats[4], int health, int attributes, int alignment, int deaths, int hp, int tp);
void heal(int & health, int & hp);
void train(int stats[4], int & tp);
void battlephase(int stats[4], int & enemy, int potionsize[5], string name, int & weapon, int & armor, int & money, int & mondef, int & health, int & level, int & attributes, int & alignment, int & hp, int & tp, int & deaths);
//main function
int main()
{
	system("color 0f");
	//tells screen to maximize
	HWND hWnd = GetConsoleWindow();
	ShowWindow(hWnd,SW_MAXIMIZE);
	/*****array declarations*****/
	//potions
	int potionsize[5] = {0, 0, 0, 0, 0};
	//armor
	int armor = 0;
	//weapons
	int weapon = 0;
	//menu array
	char menu[7][25] = {"Visit the town medic", "Visit the Weapon Smith", "Go to the Armory", "View Stats", "Add Attributes", "Heal", "Train"};
	//area
	char monsters[16][25] = {"Wolf", "Bear", "Bandit", "Traveler", "Gargoyle", "Knight", "Warlock", "Mammoth", "Cyclops", "Unicorn", "Dragon", "Your Mother", "Demon", "Jesus", "Satan", "God"};
	char area[7][25] = {"Go to the Trail", "Go to the Mountains", "Go to the Valley", "Go to the Lake", "Go to the Cliff", "Go to the Cave", "Go to the Land of Fire"};
	int level = 0;
	//character Stats
	int stats[4] = {10, 10, 10, 10};
	//counter
	int count1;
	//name
	string name;
	//money
	int money = 50;
	//which enemy to fight
	int enemy = 0;
	//monsters defeated
	int mondef = 0;
	//User Health
	int health = 100;
	//amount of attributes
	int attributes = 0;
	//alignment
	int alignment = 0;
	//number of times died
	int deaths = 0;
	//health points
	int hp = 0;
	//training points
	int tp = 0;
	//enter page
	int title;
	//decides whether or not you will move on
	int moveon = 0;
	//cheat code
	string cheatcode;
	do{
		system("cls");
		cout << "*************Helsmich*************" << endl
			<< "----------by: Jake Caron----------" << endl << endl << endl;
		cout << "Welcome, what would you like to do?\n\n"
			<< "1. Start a New Game" << endl
			<< "2. Load Saved Game" << endl
			<< "3. Help/Rules" << endl
			<< "4. Enter Cheat Codes" << endl << endl << ">> ";
		cin >> title;
		system("cls");
		switch(title)
		{
		case 1:
			/*****Introduction*****/
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				cout << "Welcome to Grundor, " << name << ", the village were you were born.\n"
					<< "Your mother, Marlene was abducted by the Horrid Dragon, Helsmich, in the land \n"
					<< "of fire. In order for you to save your mother, you must travel along the \n"
					<< "twisted trail into lands that are filled with terror. I bid you the best of \n"
					<< "luck, and here is $50 to spend on supplies. I know it is not much, but I am \n"
					<< "not the wealthiest man alive!\n\n";
				system("pause");
				system("cls");
				moveon = 1;
			}
			break;
		case 3:
			cout << "                       **********Rules**********" << endl << endl
				<< "The Rules of Helsmich are simple. Just enter a number that is available, and\n"
				<< "try to make the CORRECT selection to survive. Every choice or thing that you\n"
				<< "do will impact either your character or the way you play the game. As you make\n"
				<< "choices, your alignment will change. If your alignment is in the negative, you\n"
				<< "will become 'evil'. Thus, the monsters you battle will differ depending on how\n"
				<< "your alignment is. Your score nearly depends on ALL the variables in the game,\n"
				<< "so don't slack on one aspect and think it won't effect you. Your game has an\n"
				<< "auto-save that will save your game each and every time you hit the enter page!\n"
				<< "This was a brief review of the game, so have fun!" << endl << endl;
			system("pause");
			break;
		case 4:
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				do{
					cout << "Please enter your cheat code: \n"
						<< "Type '123' to exit.\n\n>> ";
					cin >> cheatcode;
					if(cheatcode == "GiveMeExcaliberPlease")
						weapon = 9;
					else if(cheatcode == "GiveMeBerzerkerArmorPlease")
						armor = 9;
					else if(cheatcode == "MOOONEY")
						money = 9999999;
					else if(cheatcode == "MusclesRule")
						stats[0] = 999;
					else if(cheatcode == "ArmoredLikeAnAnt")
						stats[1] = 999;
					else if(cheatcode == "RunningShoes")
						stats[2] = 999;
					else if(cheatcode == "EagleEye")
						stats[3] = 999;
					else if(cheatcode == "HealthNut")
						health = 9999;
					else if(cheatcode == "LetMeGuess")
						tp = 999;
					else if(cheatcode == "HealMe")
						hp = 999;
					else if(cheatcode == "ILikeAttributes")
						attributes = 999;
					else if(cheatcode == "MedicMan")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
					}
					else if(cheatcode == "EvilBoss")
					{
						alignment = 3;
						level = 8;
					}
					else if(cheatcode == "GoodBoss")
					{
						alignment = -3;
						level = 8;
					}
					else if(cheatcode == "IDontFeelLikeActuallyPlaying")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
						attributes = 999;
						tp = 999;
						hp = 999;
						weapon = 9;
						armor = 9;
						for(int x=0;x<4;x++)
							stats[x]+=999;
						health = 999;
						money = 999;
						mondef = 8;
					}
					else if(cheatcode != "123")
					{
						system("cls");
						cout << "Invalid Cheat Code!!!\n\n";
						system("pause");
					}
					system("cls");
				}while(cheatcode != "123");
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				moveon = 1;
			}
			break;
		case 2:
			ifstream infoout("test.txt");
			if (infoout.is_open())
			{
				infoout >> name;
				infoout >> money;
				infoout >> mondef;
				infoout >> potionsize[0];
				infoout >> potionsize[1];
				infoout >> potionsize[2];
				infoout >> potionsize[3];
				infoout >> potionsize[4];
				infoout >> armor;
				infoout >> weapon;
				infoout >> deaths;
				infoout >> hp;
				infoout >> tp;
				infoout >> health;
				infoout >> stats[0];
				infoout >> stats[1];
				infoout >> stats[2];
				infoout >> stats[3];
				infoout >> attributes;
				infoout >> alignment;
				infoout >> level;
				infoout.close();
			}
			moveon = 1;
			break;
		}
	}while(moveon == 0);
	do{
		ofstream infoin("test.txt");
		infoin << name << endl;
		infoin << money << endl;
		infoin << mondef << endl;
		infoin << potionsize[0] << endl;
		infoin << potionsize[1] << endl;
		infoin << potionsize[2] << endl;
		infoin << potionsize[3] << endl;
		infoin << potionsize[4] << endl;
		infoin << armor << endl;
		infoin << weapon << endl;
		infoin << deaths << endl;
		infoin << hp << endl;
		infoin << tp << endl;
		infoin << health << endl;
		infoin << stats[0] << endl;
		infoin << stats[1] << endl;
		infoin << stats[2] << endl;
		infoin << stats[3] << endl;
		infoin << attributes << endl;
		infoin << alignment << endl;
		infoin << level << endl;
		infoin.close();
		/*****Main Menu*****/
		//ask what user what they want to do
		cout << "What would you like to do?\n\n";
		for(count1=0;count1<7;count1++)
			cout << count1+1 << ". " << menu[count1] << endl;
		if(level < 7)
			cout << count1+1 << ". " << area[level] << endl;
		if(level > 6)
		{
			if((level == 7)&&(alignment < 0))
				cout << "8. Go to Heaven" << endl;
			if((level == 7)&&(alignment >= 0))
				cout << "8. Go to Hell" << endl; 
			if((level == 8)&&(alignment < 0))
				cout << "8. Go to Heaven's Throne" << endl;
			if((level == 8)&&(alignment >= 0))
				cout << "8. Go to Hell's Throne" << endl;
		}
		cout << endl << ">> ";
		cin >> count1;
		system("cls");
		//switch to change main event
		switch(count1)
		{
		case 1:
			medic(money, potionsize);
			break;
		case 2:
			weapons(money, weapon);
			break;
		case 3:
			armory(money, armor);
			break;
		case 4:
			statistics(money, mondef, potionsize, armor, weapon, name, stats, health, attributes, alignment, deaths, hp, tp);
			break;
		case 5:
			attribute(stats, attributes);
			break;
		case 6:
			heal(health, hp);
			break;
		case 7:
			train(stats, tp);
			break;
		default:
			levels(level, enemy, alignment);
			battlephase(stats, enemy, potionsize, name, weapon, armor, money, mondef, health, level, attributes, alignment, hp, tp, deaths);
			break;
		}
	}while(level!=9);
	//If user won
	system("cls");
	char won[2][25] = {"God", "Satan"};
	if(enemy = 15)
		level = 1;
	if(enemy = 14)
		level = 0;
	cout << "You have beaten the game! I congratulate you on your vistory. \nYou are indeed better than " << won[level] << "!!!";
	system("pause");
}
/*****Menu Options*****/
/*****Adding Attributes*****/
void attribute(int stats[4], int & attributes)
{
	int number=0;
	char statname[4][25] = {"Attack", "Defense", "Speed", "Accuracy"};
	system("cls");
	do{
		if(attributes==0)
			cout << "Sorry, you do not have any free attributes at the moment, please earn some and \ncome back.\n\n";
		else
		{
			cout << "Wel

Very nice game -- enjoyed playing it. I have two problems

  1. On the menu "What would you like to do?", it has 8 menu items. Your program needs to validate that I enter a number 1 to 8.
  2. There is no way to quit the game, except possibly finish the game. Enter q (for quit) and the program goes into an infinite loop.

Edited 7 Years Ago by Ancient Dragon: n/a

Very nice game -- enjoyed playing it. I have two problems

  1. On the menu "What would you like to do?", it has 8 menu items. Your program needs to validate that I enter a number 1 to 8.
  2. There is no way to quit the game, except possibly finish the game. Enter q (for quit) and the program goes into an infinite loop.

Ah, I forgot to test out to make sure the user enters a correct input! Thanks for the reminder.

As far as quitting the game is concerned, I figured hitting the 'x' button at the top right would be a good solution. :P
Anyway, how would I make it so if they entered in a 'q' it would automatically quit? I have quite a few loops and stuff, and I am not sure how I would do that unless I went through every single loop and changed it to if(this||q)! O.O

Edit: Sorry, I am kind of new to C++, and I do not know how to stop the infinite loop thing id the user enters a letter. Can you please help me.

Also, was the game too easy or too hard? Or just right?

Edited 7 Years Ago by restrictment: n/a

Infinite loop: after getting integer input you have to flush the input stream of the <Enter> key '\n'. Read this thread

int n;
cin >> n;
// flush input
cin.ignore(1000,'\n');

>>I figured hitting the 'x' button at the top right would be a good solution.
Well, that's a terrible solution. So is pressing Ctrl+C. Get the menu selection as a char instead of int so that it will accept 'q'.

char response[2];
cin >> response;
if( response[0] == 'q')
    return;
switch( response[0] )
{
   case '1': // blabla
}

>>Also, was the game too easy or too hard? Or just right?
It was just about right for me:) But I like easy games. Teen-agers who like to play elaborate games like World of Warcraft wouldn't like your game. But you are just starting out, so don't worry about that. Your games will become more difficult as you gain experience writing them.

Edited 7 Years Ago by Ancient Dragon: n/a

Comments
Very helpful

Thank you. I think I am going to up the stats of the monsters just a little bit, as well I need to fix my text paragraphs, as their format is horrid as of right now.

I will definitely apply what you said to my code tomorrow, as I am too tired right now.

Edit: Actually, I made the changes just now, and I added a few things. Since I can't edit my main thread for some reason, I uploaded the new code bellow:

Edited 7 Years Ago by restrictment: n/a

Attachments
/*  Game Created by Jacob Caron. Started on 11/2/09  */
//version 2
//header declarations
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <iomanip>
#include <string>
#include <time.h>
#include <fstream>
#include <windows.h>
using namespace std;
//used to maximize screen
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"user32.lib")
//initializing functions
void attribute(int stats[4], int & attributes);
void levels(int & level, int & enemy, int & alignment);
void medic(int & money,int potionsize[5]);
void weapons(int & money, int & weapon);
void armory(int & money, int & armor);
void statistics(int money,int mondef,int potionsize[5],int armor,int weapon,string name,int stats[4], int health, int attributes, int alignment, int deaths, int hp, int tp);
void heal(int & health, int & hp);
void train(int stats[4], int & tp);
void battlephase(int stats[4], int & enemy, int potionsize[5], string name, int & weapon, int & armor, int & money, int & mondef, int & health, int & level, int & attributes, int & alignment, int & hp, int & tp, int & deaths);
//main function
int main()
{
	system("color 0f");
	//tells screen to maximize
	HWND hWnd = GetConsoleWindow();
	ShowWindow(hWnd,SW_MAXIMIZE);
	/*****array declarations*****/
	//potions
	int potionsize[5] = {0, 0, 0, 0, 0};
	//armor
	int armor = 0;
	//weapons
	int weapon = 0;
	//menu array
	char menu[7][25] = {"Visit the town medic", "Visit the Weapon Smith", "Go to the Armory", "View Stats", "Add Attributes", "Heal", "Train"};
	//area
	char monsters[16][25] = {"Wolf", "Bear", "Bandit", "Traveler", "Gargoyle", "Knight", "Warlock", "Mammoth", "Cyclops", "Unicorn", "Dragon", "Your Mother", "Demon", "Jesus", "Satan", "God"};
	char area[7][25] = {"Go to the Trail", "Go to the Mountains", "Go to the Valley", "Go to the Lake", "Go to the Cliff", "Go to the Cave", "Go to the Land of Fire"};
	int level = 0;
	//character Stats
	int stats[4] = {10, 10, 10, 10};
	//counter
	int count1;
	//name
	string name;
	//money
	int money = 50;
	//which enemy to fight
	int enemy = 0;
	//monsters defeated
	int mondef = 0;
	//User Health
	int health = 100;
	//amount of attributes
	int attributes = 0;
	//alignment
	int alignment = 0;
	//number of times died
	int deaths = 0;
	//health points
	int hp = 0;
	//training points
	int tp = 0;
	//enter page
	char title;
	//decides whether or not you will move on
	int moveon = 0;
	//menu
	char menu1;
	//cheat code
	string cheatcode;
	do{
		system("cls");
		cout << "*************Helsmich*************" << endl
			<< "----------by: Jake Caron----------" << endl << endl << endl;
		cout << "Welcome, what would you like to do?\n\n"
			<< "1. Start a New Game" << endl
			<< "2. Load Saved Game" << endl
			<< "3. Help/Rules" << endl
			<< "4. Enter Cheat Codes" << endl << endl << ">> ";
		cin >> title;
		if(title == 'q')
			return 0;
		system("cls");
		switch(title)
		{
		case '1':
			/*****Introduction*****/
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				cout << "Welcome to Grundor, " << name << ", the village were you were born.\n"
					<< "Your mother, Marlene was abducted by the Horrid Dragon, Helsmich, in the land \n"
					<< "of fire. In order for you to save your mother, you must travel along the \n"
					<< "twisted trail into lands that are filled with terror. I bid you the best of \n"
					<< "luck, and here is $50 to spend on supplies. I know it is not much, but I am \n"
					<< "not the wealthiest man alive!\n\n";
				system("pause");
				system("cls");
				moveon = 1;
			}
			break;
		case '3':
			cout << "                       **********Rules**********" << endl << endl
				<< "The Rules of Helsmich are simple. Just enter a number that is available, and\n"
				<< "try to make the CORRECT selection to survive. Every choice or thing that you\n"
				<< "do will impact either your character or the way you play the game. As you make\n"
				<< "choices, your alignment will change. If your alignment is in the negative, you\n"
				<< "will become 'evil'. Thus, the monsters you battle will differ depending on how\n"
				<< "your alignment is. Your score nearly depends on ALL the variables in the game,\n"
				<< "so don't slack on one aspect and think it won't effect you. Your game has an\n"
				<< "auto-save that will save your game each and every time you hit the enter page!\n"
				<< "This was a brief review of the game, so have fun!" << endl << endl;
			system("pause");
			break;
		case '4':
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				do{
					cout << "Please enter your cheat code: \n"
						<< "Type '123' to exit.\n\n>> ";
					cin >> cheatcode;
					if(cheatcode == "GiveMeExcaliberPlease")
						weapon = 9;
					else if(cheatcode == "GiveMeBerzerkerArmorPlease")
						armor = 9;
					else if(cheatcode == "MOOONEY")
						money = 9999999;
					else if(cheatcode == "MusclesRule")
						stats[0] = 999;
					else if(cheatcode == "ArmoredLikeAnAnt")
						stats[1] = 999;
					else if(cheatcode == "RunningShoes")
						stats[2] = 999;
					else if(cheatcode == "EagleEye")
						stats[3] = 999;
					else if(cheatcode == "HealthNut")
						health = 9999;
					else if(cheatcode == "LetMeGuess")
						tp = 999;
					else if(cheatcode == "HealMe")
						hp = 999;
					else if(cheatcode == "ILikeAttributes")
						attributes = 999;
					else if(cheatcode == "MakeMeGoodNow")
						alignment = 6;
					else if(cheatcode == "MakeMeEvilNow")
						alignment = -6;
					else if(cheatcode == "MedicMan")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
					}
					else if(cheatcode == "EvilBoss")
					{
						alignment = 3;
						level = 8;
					}
					else if(cheatcode == "GoodBoss")
					{
						alignment = -3;
						level = 8;
					}
					else if(cheatcode == "IDontFeelLikeActuallyPlaying")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
						attributes = 999;
						tp = 999;
						hp = 999;
						weapon = 9;
						armor = 9;
						for(int x=0;x<4;x++)
							stats[x]+=999;
						health = 999;
						money = 999;
						mondef = 8;
					}
					else if(cheatcode != "123")
					{
						system("cls");
						cout << "Invalid Cheat Code!!!\n\n";
						system("pause");
					}
					system("cls");
				}while(cheatcode != "123");
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				moveon = 1;
			}
			break;
		case '2':
			ifstream infoout("test.txt");
			if (infoout.is_open())
			{
				infoout >> name;
				infoout >> money;
				infoout >> mondef;
				infoout >> potionsize[0];
				infoout >> potionsize[1];
				infoout >> potionsize[2];
				infoout >> potionsize[3];
				infoout >> potionsize[4];
				infoout >> armor;
				infoout >> weapon;
				infoout >> deaths;
				infoout >> hp;
				infoout >> tp;
				infoout >> health;
				infoout >> stats[0];
				infoout >> stats[1];
				infoout >> stats[2];
				infoout >> stats[3];
				infoout >> attributes;
				infoout >> alignment;
				infoout >> level;
				infoout.close();
			}
			moveon = 1;
			break;
		}
	}while(moveon == 0);
	do{
		ofstream infoin("test.txt");
		infoin << name << endl;
		infoin << money << endl;
		infoin << mondef << endl;
		infoin << potionsize[0] << endl;
		infoin << potionsize[1] << endl;
		infoin << potionsize[2] << endl;
		infoin << potionsize[3] << endl;
		infoin << potionsize[4] << endl;
		infoin << armor << endl;
		infoin << weapon << endl;
		infoin << deaths << endl;
		infoin << hp << endl;
		infoin << tp << endl;
		infoin << health << endl;
		infoin << stats[0] << endl;
		infoin << stats[1] << endl;
		infoin << stats[2] << endl;
		infoin << stats[3] << endl;
		infoin << attributes << endl;
		infoin << alignment << endl;
		infoin << level << endl;
		infoin.close();
		/*****Main Menu*****/
		//ask what user what they want to do
		cout << "What would you like to do?\n\n";
		for(count1=0;count1<7;count1++)
			cout << count1+1 << ". " << menu[count1] << endl;
		if(level < 7)
			cout << count1+1 << ". " << area[level] << endl;
		if(level > 6)
		{
			if((level == 7)&&(alignment < 0))
				cout << "8. Go to Heaven" << endl;
			if((level == 7)&&(alignment >= 0))
				cout << "8. Go to Hell" << endl; 
			if((level == 8)&&(alignment < 0))
				cout << "8. Go to Heaven's Throne" << endl;
			if((level == 8)&&(alignment >= 0))
				cout << "8. Go to Hell's Throne" << endl;
		}
		cout << endl << ">> ";
		cin >> menu1;
		if(menu1 == 'q')
			return 0;
		system("cls");
		//switch to change main event
		switch(menu1)
		{
		case '1':
			medic(money, potionsize);
			break;
		case '2':
			weapons(money, weapon);
			break;
		case '3':
			armory(money, armor);
			break;
		case '4':
			statistics(money, mondef, potionsize, armor, weapon, name, stats, health, attributes, alignment, deaths, hp, tp);
			break;
		case '5':
			attribute(stats, attributes);
			break;
		case '6':
			heal(health, hp);
			break;
		case '7':
			train(stats, tp);
			break;
		case '8':
			levels(level, enemy, alignment);
			battlephase(stats, enemy, potionsize, name, weapon, armor, money, mondef, health, level, attributes, alignment, hp, tp, deaths);
			break;
		}
	}while(level!=8);
	//If user won
	system("cls");
	char won[2][25] = {"God", "Satan"};
	if(enemy = 15)
		level = 0;
	if(enemy = 14)
		level = 1;
	cout << "You have beaten the game! I congratulate you on your vistory. \nYou are indeed better than " << won[level] << "!!!";
	system("pause");
	return 0;
}
/*****Menu Options*****/
/*****Adding Attributes*****/
void attribute(int stats[4], int & attributes)
{
	int numbe

Great Game, I liked the save and load options.

Only a few problems I saw :P
You spelled 'by' as 'bye', like the man walked "bye" the person.

Comments
Thanks for the compliment

Great Game, I liked the save and load options.

Only a few problems I saw :P
You spelled 'by' as 'bye', like the man walked "bye" the person.

Alright, thanks for the input Kole. I will be sure to try and correct it along with other spelling errors.

gamex.cpp(31) : error C2065: 'GetConsoleWindow' : undeclared identifier
gamex.cpp(31) : error C2440: 'initializing' : cannot convert from 'int' to 'struct HWND__ *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
gamex.cpp(185) : error C2374: 'x' : redefinition; multiple initialization
gamex.cpp(178) : see declaration of 'x'
gamex.cpp(320) : warning C4508: 'main' : function should return a value; 'void' return type assumed
gamex.cpp(516) : error C2374: 'x' : redefinition; multiple initialization
gamex.cpp(511) : see declaration of 'x'
gamex.cpp(832) : error C2374: 'x' : redefinition; multiple initialization
gamex.cpp(829) : see declaration of 'x'

If I remember I'll try again at home on a different machine, different compiler, etc.

If I remember I'll try again at home on a different machine, different compiler, etc.

That's odd, I thought it would work for mostly all of the compilers. What compiler are you using, Dev?

Actually, I think I found the problem. Look at the top of the code, and you should see this:

HWND hWnd = GetConsoleWindow();
	ShowWindow(hWnd,SW_MAXIMIZE);

Just delete it, and I think the program will work just fine. (At least it does in Dev++)

Edited 7 Years Ago by restrictment: n/a

Like a charm.

I tried in VS 6.0 as well as several other version of VS, the included command line compiler, some other compiler we have at work, etc. All complaining about the same thing, so I guess removing the lines that fixed dev probably would have fixed the others. I compiled it in dev at home since all my visual studio installations are hosed up :-(

I'll give 'er a go here in a bit.

The version of windows.h that is supplied with VC++ 6.0 is a little buggy. Dowload and install the Windows Platform SDK which has those bugs fixed.

Hmm... as I am a bit of a Grammar Nazi, here are some spelling mistakes you made :P

In your opening paragraph , you say "the village were".
This should be "The village where".

In the stats page, it says "You currently have ## attribute pojnts"... Should be "attribute points"

Also, in the shops, you say dollars. everywhere else, you say gold.

Actually a quite fun game, all in all. I liked it :)

Thanks for pointing out the mistakes. I shall fix them soon.

I am glad that you liked it. :)

The version of windows.h that is supplied with VC++ 6.0 is a little buggy. Dowload and install the Windows Platform SDK which has those bugs fixed.

Yep. Works fine on VS 2008. As ancient dragon says, i think you can use the platform SDK with vs6 (i think you need the 2003 version?)

Once youve made the changes mentioned so far, can you upload the newest revision?

Edited 7 Years Ago by jbennet: n/a

Not bad, not bad. I didn't get to finish it because I was battling satan and I went into the PC's memory to try and figure out where my health was saved and tweak it :confused: and it was apparently the wrong memory location that I tweaked...it went into some sort of fit where I attacked every time rather than having a choice of attack/drink/forfeit.

A couple spelling errors...after you beat a monster it says "pojnts" rather than points and "dreary" is misspelled as "dreery"

Also, the game has some choices to tweak your weapons, armor, attributes, etc. but other than that there aren't many choices (other than the alignment choices of stealing/helping and buying/killing). This makes the game very linear and not incredibly exciting. Consider adding more than one location to go to at each step rather than just the one. Maybe also add a "look around" option at each locale which gives an X% chance of finding goodies and a Y% chance of finding a bad dude to battle. That would give less linearity and more opportunities to get attributes/gold/etc.

Lastly, consider adding an "inn" or something in the village which lets you save the data. If you don't want to do file I/O, maybe when you visit the inn they can give you a code (some hex value of hashed variables or something) that you can re-enter when you return to the game and want to load it up.

HTH

Yep. Works fine on VS 2008. As ancient dragon says, i think you can use the platform SDK with vs6 (i think you need the 2003 version?)

Hmmm...I would have thought that it would work on the dev PC I was on at work. It's what I make a lot of our commercial software on, so IIRC I try to keep it up to date. Maybe I wasn't on the machine or IDE I thought I was.

Once youve made the changes mentioned so far, can you upload the newest revision?

Open source, duuuude. Where's your fixed copy? :cool: ;)

Edited 7 Years Ago by donaldw: n/a

@donald Thanks for the feedback, and I like the look around option. However, I don't know what you mean by tweaking the armor/weapon choices. Do you mean adding more that what is there? As well, I will fix the infamous spelling errors. Also, by adding more than one location, do you mean going from one place to another without the menu option?

Also, the auto-save thing I have works fine I think. I did it this way so you don't forget to save and lose all of your data..I did that quite a few times.

@Jbennet, sure I will upload the new version tomorrow. :)

Edit: I forgot to mention in the thread that I just started c++ about one-two months ago. My class hasn't even started on functions yet!..I like looking up codes and figuring out problems for myself.

Edited 7 Years Ago by restrictment: n/a

@donald Thanks for the feedback, and I like the look around option. However, I don't know what you mean by tweaking the armor/weapon choices. Do you mean adding more that what is there? As well, I will fix the infamous spelling errors. Also, by adding more than one location, do you mean going from one place to another without the menu option?

Also, the auto-save thing I have works fine I think. I did it this way so you don't forget to save and lose all of your data..I did that quite a few times.

I meant that you already have the options for tweaking the armor, etc. and that you should add more stuff like that...more choices in the game.

RE: going different places, I mean like in the main menu (where you choose to visit medic, armory, heal, train, etc.) instead of just having the option to go to the cave or to hell, etc. have the option of going to the cave (where you will do battle) OR you can go to the town square (or where ever) where you could end up finding a fair maiden (+ health), some gold (+ gold), a bad dude (fight), fall in a hole (end up dead), etc. Just more places to go rather than a single track game trying to battle your way to your mom.

Also, I'm not sure if it's due to the memory tweak or not, but I'm having weird things happen when I try to load up my game. Under status it says that I'm Conquering °". Also, even though I was in the middle of battling satan, i start off battling the demon in hell rather than satan in hells throne. Also, the text is a little...off (e.g. The body of the Your Mother lays accross the floor, however you cannot seem to find your mother. You look around some more and discover a dark and dreery portal leaning against the door. You step up to it, and peer inside. ) where I think the bold part should be "wolf." Also...isn't a portal a door? :)

I meant that you already have the options for tweaking the armor, etc. and that you should add more stuff like that...more choices in the game.

RE: going different places, I mean like in the main menu (where you choose to visit medic, armory, heal, train, etc.) instead of just having the option to go to the cave or to hell, etc. have the option of going to the cave (where you will do battle) OR you can go to the town square (or where ever) where you could end up finding a fair maiden (+ health), some gold (+ gold), a bad dude (fight), fall in a hole (end up dead), etc. Just more places to go rather than a single track game trying to battle your way to your mom.

Also, I'm not sure if it's due to the memory tweak or not, but I'm having weird things happen when I try to load up my game. Under status it says that I'm Conquering °". Also, even though I was in the middle of battling satan, i start off battling the demon in hell rather than satan in hells throne. Also, the text is a little...off (e.g. The body of the Your Mother lays accross the floor, however you cannot seem to find your mother. You look around some more and discover a dark and dreery portal leaning against the door. You step up to it, and peer inside. ) where I think the bold part should be "wolf." Also...isn't a portal a door? :)

Ah, I see what you are saying, and I like the idea of having multiple paces to go. It would make the game much more dynamic, however that would be a major update. I will try to accomplish this within a few days or weeks maybe.

Also, the issue with the status is because you exceeded the array I set. It is easily fixable by just expanding the array, so I will have that fixed soon.

Thanks for your suggestions and comments.

Alright, I took everyone's suggestions (mostly on grammar issues) and changed the game a bit. I have yet to add more courses to take as Dave suggested, but I plan on doing that sometime soon.

Thanks everyone, you've been a good help.

*still open to suggestions*

Edited 7 Years Ago by restrictment: n/a

Comments
Good Gamr
Attachments
/*  Game Created by Jacob Caron. Started on 11/2/09  */
//version 2
//header declarations
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <iomanip>
#include <string>
#include <time.h>
#include <fstream>
#include <windows.h>
using namespace std;
//used to maximize screen
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"user32.lib")
//initializing functions
void attribute(int stats[4], int & attributes);
void levels(int & level, int & enemy, int & alignment);
void medic(int & money,int potionsize[5]);
void weapons(int & money, int & weapon);
void armory(int & money, int & armor);
void statistics(int money,int mondef,int potionsize[5],int armor,int weapon,string name,int stats[4], int health, int attributes, int alignment, int deaths, int hp, int tp);
void heal(int & health, int & hp);
void train(int stats[4], int & tp);
void battlephase(int stats[4], int & enemy, int potionsize[5], string name, int & weapon, int & armor, int & money, int & mondef, int & health, int & level, int & attributes, int & alignment, int & hp, int & tp, int & deaths);
//main function
int main()
{
	system("color 0f");
	//tells screen to maximize
	HWND hWnd = GetConsoleWindow();
	ShowWindow(hWnd,SW_MAXIMIZE);
	/*****array declarations*****/
	//potions
	int potionsize[5] = {0, 0, 0, 0, 0};
	//armor
	int armor = 0;
	//weapons
	int weapon = 0;
	//menu array
	char menu[7][25] = {"Visit the town medic", "Visit the Weapon Smith", "Go to the Armory", "View Stats", "Add Attributes", "Heal", "Train"};
	//area
	char monsters[16][25] = {"Wolf", "Bear", "Bandit", "Traveler", "Gargoyle", "Knight", "Warlock", "Mammoth", "Cyclops", "Unicorn", "Dragon", "Your Mother", "Demon", "Jesus", "Satan", "God"};
	char area[7][25] = {"Go to the Trail", "Go to the Mountains", "Go to the Valley", "Go to the Lake", "Go to the Cliff", "Go to the Cave", "Go to the Land of Fire"};
	int level = 0;
	//character Stats
	int stats[4] = {10, 10, 10, 10};
	//counter
	int count1;
	//name
	string name;
	//money
	int money = 50;
	//which enemy to fight
	int enemy = 0;
	//monsters defeated
	int mondef = 0;
	//User Health
	int health = 100;
	//amount of attributes
	int attributes = 0;
	//alignment
	int alignment = 0;
	//number of times died
	int deaths = 0;
	//health points
	int hp = 0;
	//training points
	int tp = 0;
	//enter page
	char title;
	//decides whether or not you will move on
	int moveon = 0;
	//menu
	char menu1;
	//cheat code
	string cheatcode;
	do{
		system("cls");
		cout << "*************Helsmich*************" << endl
			<< "----------by: Jake Caron----------" << endl << endl << endl;
		cout << "Welcome, what would you like to do?\n\n"
			<< "1. Start a New Game" << endl
			<< "2. Load Saved Game" << endl
			<< "3. Help/Rules" << endl
			<< "4. Enter Cheat Codes" << endl << endl << ">> ";
		cin >> title;
		if(title == 'q')
			return 0;
		system("cls");
		switch(title)
		{
		case '1':
			/*****Introduction*****/
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				cout << "Welcome to Grundor, " << name << ", the village where you were born.\n"
					<< "Your mother, Marlene was abducted by the Horrid Dragon, Helsmich, in the land \n"
					<< "of fire. In order for you to save your mother, you must travel along the \n"
					<< "twisted trail into lands that are filled with terror. I bid you the best of \n"
					<< "luck, and here is $50 to spend on supplies. I know it is not much, but I am \n"
					<< "not the wealthiest man alive!\n\n";
				system("pause");
				system("cls");
				moveon = 1;
			}
			break;
		case '3':
			cout << "                       **********Rules**********" << endl << endl
				<< "The Rules of Helsmich are simple. Just enter a number that is available, and\n"
				<< "try to make the CORRECT selection to survive. Every choice or thing that you\n"
				<< "do will impact either your character or the way you play the game. As you make\n"
				<< "choices, your alignment will change. If your alignment is in the negative, you\n"
				<< "will become 'evil'. Thus, the monsters you battle will differ depending on how\n"
				<< "your alignment is. Your score nearly depends on ALL the variables in the game,\n"
				<< "so don't slack on one aspect and think it won't effect you. Your game has an\n"
				<< "auto-save that will save your game each and every time you hit the enter page!\n"
				<< "This was a brief review of the game, so have fun!" << endl << endl;
			system("pause");
			break;
		case '4':
			cout << "If you have a saved game this will erase it!!\n"
				<< "Are you sure you wish to continue?\n\n"
				<< "1. Yes\n"
				<< "2. No\n\n>> ";
			cin >> count1;
			system("cls");
			if(count1 == 1)
			{
				do{
					cout << "Please enter your cheat code: \n"
						<< "Type '123' to exit.\n\n>> ";
					cin >> cheatcode;
					if(cheatcode == "GiveMeExcaliberPlease")
						weapon = 9;
					else if(cheatcode == "GiveMeBerzerkerArmorPlease")
						armor = 9;
					else if(cheatcode == "MOOONEY")
						money = 9999999;
					else if(cheatcode == "MusclesRule")
						stats[0] = 999;
					else if(cheatcode == "ArmoredLikeAnAnt")
						stats[1] = 999;
					else if(cheatcode == "RunningShoes")
						stats[2] = 999;
					else if(cheatcode == "EagleEye")
						stats[3] = 999;
					else if(cheatcode == "HealthNut")
						health = 9999;
					else if(cheatcode == "LetMeGuess")
						tp = 999;
					else if(cheatcode == "HealMe")
						hp = 999;
					else if(cheatcode == "ILikeAttributes")
						attributes = 999;
					else if(cheatcode == "MakeMeGoodNow")
						alignment = 6;
					else if(cheatcode == "MakeMeEvilNow")
						alignment = -6;
					else if(cheatcode == "MedicMan")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
					}
					else if(cheatcode == "EvilBoss")
					{
						alignment = 3;
						level = 8;
					}
					else if(cheatcode == "GoodBoss")
					{
						alignment = -3;
						level = 8;
					}
					else if(cheatcode == "IDontFeelLikeActuallyPlaying")
					{
						for(int x=0;x<5;x++)
							potionsize[x]+=999;
						attributes = 999;
						tp = 999;
						hp = 999;
						weapon = 9;
						armor = 9;
						for(int x=0;x<4;x++)
							stats[x]+=999;
						health = 999;
						money = 999;
						mondef = 8;
					}
					else if(cheatcode != "123")
					{
						system("cls");
						cout << "Invalid Cheat Code!!!\n\n";
						system("pause");
					}
					system("cls");
				}while(cheatcode != "123");
				cout << "Please Enter your name (One Word): ";
				cin >> name;
				system("cls");
				moveon = 1;
			}
			break;
		case '2':
			ifstream infoout("test.txt");
			if (infoout.is_open())
			{
				infoout >> name;
				infoout >> money;
				infoout >> mondef;
				infoout >> potionsize[0];
				infoout >> potionsize[1];
				infoout >> potionsize[2];
				infoout >> potionsize[3];
				infoout >> potionsize[4];
				infoout >> armor;
				infoout >> weapon;
				infoout >> deaths;
				infoout >> hp;
				infoout >> tp;
				infoout >> health;
				infoout >> stats[0];
				infoout >> stats[1];
				infoout >> stats[2];
				infoout >> stats[3];
				infoout >> attributes;
				infoout >> alignment;
				infoout >> level;
				infoout.close();
			}
			moveon = 1;
			break;
		}
	}while(moveon == 0);
	do{
		ofstream infoin("test.txt");
		infoin << name << endl;
		infoin << money << endl;
		infoin << mondef << endl;
		infoin << potionsize[0] << endl;
		infoin << potionsize[1] << endl;
		infoin << potionsize[2] << endl;
		infoin << potionsize[3] << endl;
		infoin << potionsize[4] << endl;
		infoin << armor << endl;
		infoin << weapon << endl;
		infoin << deaths << endl;
		infoin << hp << endl;
		infoin << tp << endl;
		infoin << health << endl;
		infoin << stats[0] << endl;
		infoin << stats[1] << endl;
		infoin << stats[2] << endl;
		infoin << stats[3] << endl;
		infoin << attributes << endl;
		infoin << alignment << endl;
		infoin << level << endl;
		infoin.close();
		/*****Main Menu*****/
		//ask what user what they want to do
		cout << "What would you like to do?\n\n";
		for(count1=0;count1<7;count1++)
			cout << count1+1 << ". " << menu[count1] << endl;
		if(level < 7)
			cout << count1+1 << ". " << area[level] << endl;
		if(level > 6)
		{
			if((level == 7)&&(alignment < 0))
				cout << "8. Go to Heaven" << endl;
			if((level == 7)&&(alignment >= 0))
				cout << "8. Go to Hell" << endl; 
			if((level == 8)&&(alignment < 0))
				cout << "8. Go to Heaven's Throne" << endl;
			if((level == 8)&&(alignment >= 0))
				cout << "8. Go to Hell's Throne" << endl;
		}
		cout << endl << ">> ";
		cin >> menu1;
		if(menu1 == 'q')
			return 0;
		system("cls");
		//switch to change main event
		switch(menu1)
		{
		case '1':
			medic(money, potionsize);
			break;
		case '2':
			weapons(money, weapon);
			break;
		case '3':
			armory(money, armor);
			break;
		case '4':
			statistics(money, mondef, potionsize, armor, weapon, name, stats, health, attributes, alignment, deaths, hp, tp);
			break;
		case '5':
			attribute(stats, attributes);
			break;
		case '6':
			heal(health, hp);
			break;
		case '7':
			train(stats, tp);
			break;
		case '8':
			levels(level, enemy, alignment);
			battlephase(stats, enemy, potionsize, name, weapon, armor, money, mondef, health, level, attributes, alignment, hp, tp, deaths);
			break;
		}
	}while(level!=9);
	//If user won
	system("cls");
	char won[2][25] = {"God", "Satan"};
	if(enemy = 15)
		level = 0;
	if(enemy = 14)
		level = 1;
	cout << "You have beaten the game! I congratulate you on your vistory. \nYou are indeed better than " << won[level] << "!!!";
	system("pause");
	return 0;
}
/*****Menu Options*****/
/*****Adding Attributes*****/
void attribute(int stats[4], int & attributes)
{
	int numb

For some reason I don't have the option to 'edit' anymore, and it kind of annoys me at times, because I have to keep posting a new post to add information.

Anyway, I was wondering if any of you have played a Win32 Console RPG that was better than this one before? Also, if you have played one that is better than this, could you give me a link to it so I may use it as reference? Because right now I don't really have many references to use to increase my game's prestige.

Before I post, and am not able to edit:
I am thinking of aborting this RPG and starting a new one where you pick your name, character type(Orc, Warlock, Troll, etc), class type(Warrior, Spell Caster, Guard, etc.), and play from there. You will have an alignment as well in this one, but it will change more drastically. (from like 0-100 instead of this game which is 0-10).

I also want the new game to have experience, a leveling system, weapon upgrades, armor upgrades, and resources used to upgrade your weapon/armor. I would also like to add a betting system where you bet a certain amount of money to guess a number, and if you guess it right you win that amount of money, and vise-versa.

So what do you think? Should I abandon this RPG and start on the new one, or continue to expand on this one?

Dunnet FTW!!!

Does it make you log in or anything before you make your next post? I think that if you're cookies are hosed you won't see the edit button but the reply button should be available [?].

I think you've got a good start going on this one and it would be a good base from which to expand it rather than starting over from scratch. Let this one be your beta version, keep working on it and get it really good, THEN apply the lessons you learned to your next game project.

Good. Now try to be more organized and start learning classes. Once you
have a "good" grasp, convert the code into objects.

Dunnet FTW!!!

Does it make you log in or anything before you make your next post? I think that if you're cookies are hosed you won't see the edit button but the reply button should be available [?].

I think you've got a good start going on this one and it would be a good base from which to expand it rather than starting over from scratch. Let this one be your beta version, keep working on it and get it really good, THEN apply the lessons you learned to your next game project.

Alright, I suppose I will just work on this one for now then. As well, I forgot to mention that I use Google Chrome, and I believe that might be the reason, as it always seems to delete cookies after about an hour or two. (This happens when logging on as well, I tell it to keep me logged in, and the next day I am logged out again. :().

As FirstPerson said, I guess I will start my 3rd RPG once I learn classes. BTW, what is a class?

Also, have you guys found any other RPGs sort of like this one or better? I would really like to see some.

For some reason I don't have the option to 'edit' anymore

There is a 30 minute limit.

I will start my 3rd RPG once I learn classes

If you use classes then you can use Inhritance and Polymorphesism for monsters and items which is a better way of doing things (e.g all weapons are items so can be dropped, examined, and a sword is a specialised version if a weapon, which can be used for either swinging or thrusting)

Also, look into using std::vector instead of arrays, that way they can be any size. A bit tricker to code, but better in the long run as that means e.g you can have a large inventory when you need it, but a small one when you dont. More efficient as well as more flexible.

I would start again from scratch using OOP. Im gonna have no free time until after 14. December, but after that ill have a bash at it. I did this sort of thing for an assignment once. I had each room as an object, with an east,west,north,south field which was a pointer to another area, so you could travel. Within areas, you could move around in a 3d space (3d grid array of objects, may the be monsters, items or null (grass)). Worked quite well, i based the concept off of the game netHack

Edited 7 Years Ago by jbennet: n/a

There is a 30 minute limit.

If you use classes then you can use Inhritance and Polymorphesism for monsters and items which is a better way of doing things (e.g all weapons are items so can be dropped, examined, and a sword is a specialised version if a weapon, which can be used for either swinging or thrusting)

Also, look into using std::vector instead of arrays, that way they can be any size. A bit tricker to code, but better in the long run as that means e.g you can have a large inventory when you need it, but a small one when you dont. More efficient as well as more flexible.

I would start again from scratch using OOP. Im gonna have no free time until after 14. December, but after that ill have a bash at it. I did this sort of thing for an assignment once. I had each room as an object, with an east,west,north,south field which was a pointer to another area, so you could travel. Within areas, you could move around in a 3d space (3d grid array of objects, may the be monsters, items or null (grass)). Worked quite well, i based the concept off of the game netHack

Ah, a 30 minute limit..that explains it.

Anyway, your game sounds like it would be great, and I hope to see it if you make it in the future.

As well, I will look into vectors in a little while.

Also, have you guys found any other RPGs sort of like this one or better? I would really like to see some.

Dunnet FTW!!!

FREE with every copy of emacs...also free. Also, you get an intro to Eliza, an AI-lite chat bot, so you can start in on some AI stuff. Both are written in LISP, IIRC.

Oh, ok, I did not know that it was a game. Where can I play it?

And is it possible to see the coding?

THIS looks to be the source for dunnet. I suppose the easiest way I know of playing it would be to fire up a copy of emacs and run it from within that.

HERE is a project on SF called console RPG. I didn't look too closely, but it seems like something that might be up your alley.

ANOTHER one called Wrathlands.

Comments
Helpful

Thanks for the links Donald.

Also, I have been working on the RPG off and on now.

So far I have added:
- Spells/magic
- Look around the area (this gives you aluminum, iron, steel, or gold)
- Upgrade shop (This allows you to make your weapons stronger, and it adds a new component to your weapons, so you will now see it as: "cutlass+1" or something like that)

I also fixed many spelling errors and some logic errors.

Here is a preview of the stat page:
[img]http://clip2net.com/clip/m0/1258492924-clip-16kb.png?nocache=1[/img]

*As you can see the stat page extends all the way to the bottom of the window, so I do not think I will be adding any more stats to change.*

I will have the updated version later tonight. :)

This article has been dead for over six months. Start a new discussion instead.