Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

graveyard filla

using getche()

This topic is 5430 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

is there some sort of function or something that clears getch() because if i use it twice in a row with 2 seperate variables, the second one doesnt work. heres my source.

cout<<"--------------[TYPE THE NUMBER FOR THE ATTACK TYPE AND PRESS ENTER]------------"<<endl<<endl;
	//prompts the user to enter what kind of attack they want to do

	//attack_type 1 will cause a sword attack, attack_type 2 will fire gun, attack_type 3 will use fireball

	// attack_type 4 will do heal, attack_type 5 will do percoset, attack_type 6 will use speed, 7 acid

	//do magic menu is 10 and do item menu is 11

				
	if (current_player.bullets < 1) //if the player has no bullets, dont show fire gun as an option

		{
			cout<<"----------[1 FOR KNIFE ATTACK]------[2 FOR MAGIC]------[3 TO USE ITEM]----------"<<endl;
			attack_type = getche();//cin>>attack_type;

			if(attack_type == ''2''){attack_type = ''8'';}
			if(attack_type == ''3''){attack_type = ''9'';}
		}
			
	else //the player had bullets,show gun as an option for attacking

	
	{
		cout<<"----------------[1 FOR KNIFE ATTACK]----------[2 TO FIRE GUN]------------------"<<endl<<endl;
		cout<<"----------------[3 TO USE MAGIC]--------------[4 TO USE ITEM]------------------"<<endl;
		attack_type = getche();///cin>>attack_type;

		if (attack_type == ''3''){attack_type = ''8'';} //if they chose magic, pop up magic menu 

		if (attack_type == ''4''){attack_type = ''9'';} //if they chose item, pop up item

	}
	
	//now if the player chose magic, then show magic choices

	if (attack_type == ''8'')
	{
		cout<<"[1 FOR FIREBALL] [2 FOR HEAL]"<<endl;
		magic_type = getche();///cin>>magic_type;

		if (magic_type == 1) {return ''3'';} //attack_type = ''3'';} //they cast fireball

		else if (magic_type == 2) {return ''4'';}//attack_type = ''4'';}  //they cast heal

				
					
	}
	//else they chose item, show item choices.

	else if (attack_type == ''9'') 
	{
		cout<<"--------[1 FOR PERCOSET]----------[2 FOR SPEED]---------[3 FOR ACID]------------"<<endl;
		item_type = getche();///cin>>item_type;

		if (item_type == 1) {attack_type = ''5'';}
		else if (item_type == 2) {return ''6'';}//attack_type = ''6'';}

		else if (item_type == 3) {return ''7'';}//attack_type = ''7'';}

	}
ps- originally there was only one return in the function, the one at the bottom. the others you see i just put it there to see if that would fix it, but it probably just made things worse. also i know using those numbers is hard to follow, im going to change it around to enums or something

Share this post


Link to post
Share on other sites
Advertisement
What do you mean it doesn''t work? Which part of the code is the error in from what you posted?





--{You fight like a dairy farmer!}

Share this post


Link to post
Share on other sites
it compiles... but when i press 1, 2, 3 or 4, it works fine. these all use the same variable attack_type. if i switch it to magic_type or item_type = getch(), it doesnt work. i press the key and nothing happends

Share this post


Link to post
Share on other sites
quote:
Original post by graveyard filla
if i switch it to magic_type or item_type = getch(), it doesnt work. i press the key and nothing happends
And did you also "switch" the if statement conditionals and bodies?

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!