Code:
bool ItemBuyBox(string Itemname)
{
//Variable Setup//
string Question = "Would you like to purchase";
string Yes = "Yes";
string No = "No";
bool Buying = true;
int Arrowkeyplace = 0;
char Arrowkey = '-';
//Setup Question//
BuyBoxClear();
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 7 );
ReadString(Question,0,1,LeftSide+45,TopSide+18,2);
ReadString(Itemname + "?",0,1,LeftSide+45,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 6 );
ReadString(Yes,0,1,LeftSide+45+Itemname.size()+1+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 7 );
ReadString("/",0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 11 );
ReadString(No,0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+3,TopSide+19,2);
//The Whileloop that controls the contained menu of yes/no//
while(Buying)
{
while(!kbhit())
{
Sleep(1);
}
if(kbhit())
{
Arrowkey = getch();
if(Arrowkey == 0)
{
Arrowkey = getch();
}
}
if(Arrowkey == LEFTARROW)
{
Arrowkeyplace -= 1;
if(Arrowkeyplace < 0)
{
Arrowkeyplace = 1;
}
}
else if(Arrowkey == RIGHTARROW)
{
Arrowkeyplace += 1;
if(Arrowkeyplace > 1)
{
Arrowkeyplace = 0;
}
}
else if(Arrowkey == ENTERKEY)
{
switch(Arrowkeyplace)
{
case 0:
{
return(true);
}
case 1:
{
return(false);
}
}
}
if(Arrowkey == LEFTARROW || Arrowkey == RIGHTARROW)
{
if(Arrowkeyplace == 0)
{
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 6 );
ReadString(Yes,0,1,LeftSide+45+Itemname.size()+1+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 7 );
ReadString("/",0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 11 );
ReadString(No,0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+3,TopSide+19,2);
}
else if(Arrowkeyplace == 1)
{
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 11 );
ReadString(Yes,0,1,LeftSide+45+Itemname.size()+1+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 7 );
ReadString("/",0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+1,TopSide+19,2);
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 6 );
ReadString(No,0,1,LeftSide+45+Itemname.size()+1+1+Yes.size()+3,TopSide+19,2);
}
}
}
}
And it is surely contained in this and any functions that are user made out side of this are free of this error.