Sign in to follow this  

Unity New Problem

This topic is 2836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello again people, I have a new problem with my program. I've tried over and over to figure out what is going wrong but I can't figure it out so I need some help. So here is the issue I've implemented a character editor into my text based game I am working on an I then am sending my data to the file saving system in the program but it's not saving any of the data that was inputted. Here is part of my code. character_editor.h
void Game::start_new_game()
{
	int sex;
	int race;
	Character p;//pointer to our Character Class
    Game      v;//pointer to our Game Class

	cout << "Character Editor\n";
	
	cout << "Please give your player a name!\n";
	cin >> p.player_name;
	cout << "1) Male or 2) Female?\n";
	cin >> sex;

	if(sex == 1)
	{
		p.sex = "Male";
		cout << "You are now a:" << p.sex <<"\n";
	}
	if(sex == 2)
	{
		p.sex = "Female";
		cout << "You are now a:" << p.sex <<"\n";
	}
	
	cout << "Please pick a race!\n";
	cout << "4) Human, 5) Goblin\n";
	cin >> race;

	if(race == 4)
	{
		p.race = "Human";
		p.str  = 12;
		p.health = 10;
		cout << "You are a" << p.race << "with" << p.health << "health points, and" << p.str << "strength\n";

	}
	if(race == 5)
	{
		p.race = "Goblin";
		p.str  = 10;
		p.health = 12;
		cout << "You are a" << p.race << "with" << p.health << "health points, and" << p.str << "strength\n";
     }
	v.new_game();
}
save.cpp
Character x;
void Game::new_game()
{
	ofstream account;
	account.open("account.txt");
	if(account.is_open())
	{
		account << "Player name:" << "" << x.player_name << "\n";
		account << "Sex:"         << "" << x.sex         << "\n";
		account << "Race:"        << "" << x.race        << "\n";
		account << "Health:"      << "" << x.health      << "\n";     
		account << "Strength:"    << "" << x.str         << "\n";
		account.close();
	}
}

it just doesn't save the data that was inputted maybe I am making a obvious mistake maybe I am not but I can't figure it out so I need some help. Thank you once again to this community for all the help and support I've received.

Share this post


Link to post
Share on other sites
I'm more than a little confused. :/

The start_new_game looks like a member function of a class named Game. In it, you have another instance of Game (not a pointer by the way) that calls its own new_game method? There's also a local Character instance where you do all this 'stuff' with, which is destroyed the moment you leave the function scope. it doesn't seem to affect the Character instance called x, the one you are trying to save? In fact, I not entirely sure what scope x resides in at all?

Share this post


Link to post
Share on other sites

This topic is 2836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this