<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Bedingter Sprung Pfeiltaste oder keine Taste]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe da ein Problem und hab gerade nicht so wirklich die zündende Idee!</p>
<p>In meinem Programm sollen drei Funktionen immer wieder aufgerufen werden.<br />
Die eine wenn die Pfeiltase nach oben gedrückt wird, die zweite wenn die Pfeiltaste nach unten gedrückt wird und die dritte wenn in dem Schleifendurchlauf eben keine Taste gedrückt wird.<br />
Jetzt bleibt leider mein Programm eben an der getch-Funktion stehen und wartet auf eine Eingabe und somit komme ich nie zur dritten Funktion weil ja immer eine Taste gedrückt werden muss.<br />
Hat jemand eine zündende Idee für mich?</p>
<p>Hier der Ausschnitt aus meinem Programm:</p>
<pre><code class="language-cpp">while(x==0){

		c = getch(); 
		if(c==224) 
			c = getch(); 
		else {
			if(c==27)
				x=1;
		}
		switch (c){
			case 72: accel(); break;
			case 80: decel(); break;
			case 0: roll(); break;
			default: roll(); break;
		}
</code></pre>
<p>Noch zum Verständniss des Programmausschnitts:<br />
beim drücken einer der Pfeiltasten bekommt c erst den Wert 224. Anschließend wird dadurch der Code für die Sondertasten abgefragt wobei 72 rauf und 80 runter ist.<br />
27 ist der ASCI Code für die ESC-Taste</p>
<p>Ich sag schon mal Danke im Voraus!</p>
<p>Gruß<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276948/bedingter-sprung-pfeiltaste-oder-keine-taste</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 04:22:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276948.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Nov 2010 16:48:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bedingter Sprung Pfeiltaste oder keine Taste on Wed, 10 Nov 2010 16:48:49 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe da ein Problem und hab gerade nicht so wirklich die zündende Idee!</p>
<p>In meinem Programm sollen drei Funktionen immer wieder aufgerufen werden.<br />
Die eine wenn die Pfeiltase nach oben gedrückt wird, die zweite wenn die Pfeiltaste nach unten gedrückt wird und die dritte wenn in dem Schleifendurchlauf eben keine Taste gedrückt wird.<br />
Jetzt bleibt leider mein Programm eben an der getch-Funktion stehen und wartet auf eine Eingabe und somit komme ich nie zur dritten Funktion weil ja immer eine Taste gedrückt werden muss.<br />
Hat jemand eine zündende Idee für mich?</p>
<p>Hier der Ausschnitt aus meinem Programm:</p>
<pre><code class="language-cpp">while(x==0){

		c = getch(); 
		if(c==224) 
			c = getch(); 
		else {
			if(c==27)
				x=1;
		}
		switch (c){
			case 72: accel(); break;
			case 80: decel(); break;
			case 0: roll(); break;
			default: roll(); break;
		}
</code></pre>
<p>Noch zum Verständniss des Programmausschnitts:<br />
beim drücken einer der Pfeiltasten bekommt c erst den Wert 224. Anschließend wird dadurch der Code für die Sondertasten abgefragt wobei 72 rauf und 80 runter ist.<br />
27 ist der ASCI Code für die ESC-Taste</p>
<p>Ich sag schon mal Danke im Voraus!</p>
<p>Gruß<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978581</guid><dc:creator><![CDATA[Schunki]]></dc:creator><pubDate>Wed, 10 Nov 2010 16:48:49 GMT</pubDate></item><item><title><![CDATA[Reply to Bedingter Sprung Pfeiltaste oder keine Taste on Thu, 11 Nov 2010 07:13:38 GMT]]></title><description><![CDATA[<p>Hallo Schunki,</p>
<p>ist nicht sehr schön, sollte aber funktionieren:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;conio.h&gt;

int getKey()
{
	int x = getch();
	if(224 == x)
	{
		x = getch();
	}

	return x;
}

int main(int argc, char *argv[])
{
	int keyhit = 0;
	while(27 != keyhit)
	{
		if(_kbhit())
		{	
			keyhit = getKey();
			switch(keyhit)
			{
				case 72: accel(); break;
				case 80: decel(); break;
			}
		}
		else
			roll();

  }
}
</code></pre>
<p>Viele Grüße,<br />
MaBa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978802</guid><dc:creator><![CDATA[MaBa]]></dc:creator><pubDate>Thu, 11 Nov 2010 07:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to Bedingter Sprung Pfeiltaste oder keine Taste on Thu, 11 Nov 2010 16:08:09 GMT]]></title><description><![CDATA[<p>Hallo MaBa!</p>
<p>Schon mal vielen Dank für Deine Antwort!</p>
<p>Soweit versteh ich Deine Lösung. Ich kann nur die Zeile mit der If-Bedingung nicht so wirklich deuten! Was meinst Du denn mit</p>
<p>if(_kbhit())</p>
<p>Soll _kbhit eine Variable sein? Wenn ja, dann finde ich die aber sonst nirgens. Oder hast Du Dich hier einfach nur vertippt?</p>
<p>Gruß<br />
Andi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979023</guid><dc:creator><![CDATA[Schunki]]></dc:creator><pubDate>Thu, 11 Nov 2010 16:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Bedingter Sprung Pfeiltaste oder keine Taste on Thu, 11 Nov 2010 16:27:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;conio.h&gt;
// -&gt; plattformabhängig
</code></pre>
<p>_kbhit() ist eine Funktion nur auf Windows-Betriebssystemen und ist deklariert in conio.h. Falls du für Linux, Mac oder generell plattformunabhängig programmieren möchtest, scheidet die Lösung für dich aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979041</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Thu, 11 Nov 2010 16:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Bedingter Sprung Pfeiltaste oder keine Taste on Thu, 11 Nov 2010 16:30:52 GMT]]></title><description><![CDATA[<p>Ok! Nein Passt schon! Das muss auf keinem Linux Rechner laufen!<br />
Aber die Funktion kannte ich noch nicht!<br />
Nochmal Danke!</p>
<p>Gruß<br />
Andi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979046</guid><dc:creator><![CDATA[Schunki]]></dc:creator><pubDate>Thu, 11 Nov 2010 16:30:52 GMT</pubDate></item></channel></rss>