I have this game skeleton.
Now, as you can see, it is working, but when i choose something first time, i have to type it TWICE to make it work.
It doesn't matter if i choose Status, Score, or Battle, or Flee, the result is the same: i have to type the option once, and type something else, again.
#include <iostream>
using namespace std;
long his_BattleStatus=1, his_Flee=0;
void typed();
void Fight();
void CallStat();
void CallScore();
int main()
{ ////////MAIN function; !!!!!!!!!!
typed();
return 0;
} ///////// END main;
void typed()
{//////////TYPED function; !!!!!!!!!!
USHORT typed_choice;
cout <<"[1]Punch the bastard! [2]See your status. [3]See your score."<<endl;
cin >>typed_choice>> "\n";
switch (typed_choice)
{
case 1:
Fight();
break;
case 2:
CallStat();
break;
case 3:
CallScore();
break;
default:
cout << "I can't do that, sorry." <<endl;
break;
}
return;
}////////// END typed;
void Fight()
{/////////////////// BEGIN Fight;
do
{
//cout << "Starting battle?" <<endl;
cout << "[His Rez: ;"
<< " His Nrg: ; "
<< "His End: ]" <<endl;
cout<<"[1]Attack again; [2]Run! (Exit game... Pnelea mea)"<<endl;
USHORT my_choice;
cin>> my_choice;
switch(my_choice)
{
case 1:
cout<< "You punch him." <<endl;
break;
case 2:
cout<< "You run away." <<endl;
his_BattleStatus=0; his_Flee=1;
break;
default:
cout<<"What please?";
Fight();
}
} while ( his_BattleStatus!=0 && his_Flee!=1 );
}/////////////////// END Fight;
void Status()
{/////////STATUS function; !!!!!!!!!
cout << "\n[Rez: / ;"
<< " Nrg: / ; "
<< "End: / ]"<<endl;
return;
}////////// END Status;
void CallStat()
{/////////CallStat function; !!!!!!!!!
cout<< "Showing the status." <<endl;
typed();
return;
}////////// END CallStat;
void CallScore()
{/////////CallStat function; !!!!!!!!!
cout<< "Showing the score." <<endl;
typed();
return;
}////////// END CallScore;
It is working, but i only want to type the first option (the type() option) ONCE.
I don't understand what is wrong...