Okay, so this is really weird.
I'd just finished up a good chunk of program in my compiler (I use code::blocks) and tested it out by hitting compile. It worked perfectly well, the following loop statement:
Code:
while (player_choices.tutorial_choice_seven != 1)
{
cout << "The mare nods, \"Okay then, let's get you to the stallion in charge.\" \n1. Okay, let's do it!\n2. Can I ask you some questions first? \n\n";
cout << "Choose an option: \n";
cin >> player_choices.tutorial_choice_seven;
switch (player_choices.tutorial_choice_seven)
{
case 1:
cout << "\"Allright then, time to meet the people you saved.\"\n\n";
cout << "End Tutorial. Wind's oppinion of you is: ";
if (wind_opinion_reference == 0)
{
cout << "FAVORABLE\n\n";
}
if (wind_opinion_reference == 1)
{
cout << "SLIGHTLY FAVORABLE\n\n";
}
if (wind_opinion_reference == 2)
{
cout << "NEUTRAL\n\n";
}
cout << "Press any key to exit.\n\n";
break;
case 2:
cout << "Fire away.\n\n";
game_characters.wind_conversation_one(wind_conversation_choice_one_reference);
break;
}
}
cout << "Thank's for playing!";
cin.get();
}
executed as written, but when I built the .exe file and ran it everything worked fine right up until the end where I entered one and the program closed before displaying any of the information from the if statement or either of the if independent cout statements. In short, it was acting fundamentally different from when I ran it in the compiler even though I entered the same choices.
I honestly have no idea what would cause this, has it happened to anyone here? I would be extremely grateful for any assistance.