<?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[Probleme beim Programmieren von Snake als Konsolenanwendung]]></title><description><![CDATA[<p>Hallo an Alle,</p>
<p>Ich habe einige Probleme und Bugs in meinem Snake-Programm, das ich für die Schule (Informationstechnisches Gymnasium, 11. Klasse) programmieren muss. Kriege einfach nicht raus was falsch läuft. Ich hoffe ihr könnt mir möglichst schnell helfen, da ich das Ding am Freitag abgeben muss.<br />
Ich poste einfach mal meinen Quellcode.<br />
Die Probleme stehen als kommentare neben dran.<br />
Freue mich über eure hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Danke im Vorraus!</p>
<p>Also hier der Quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;windows.h&gt;
using namespace std;

struct Koord
{
	int x, y;
};

int main()
{
	int dx=1, dy=0;
	int weiter=1;
	randomize();
	int ax=random(53)+16 , ay=random(15)+6;
	Koord z[90];

	int laenge=5;
	z[0].x=23;
	z[0].y=10;
	z[1].x=22;
	z[1].y=10;
	z[2].x=21;
	z[2].y=10;
	z[3].x=20;
	z[3].y=10;
	z[4].x=19;
	z[4].y=10;

	for (int i=15;i&lt;=70;i++)
	{
	 gotoxy(i,5);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=5;i&lt;=22;i++)
	{
	 gotoxy(70,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=70;i&gt;=15;i--)
	{
	 gotoxy(i,22);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=22;i&gt;=5;i--)
	{
	 gotoxy(15,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	gotoxy(ax,ay);
	cout&lt;&lt;&quot;#&quot;;

	for (int i=0;i&lt;laenge;i++)
	{
	  gotoxy (z[i].x, z[i].y);
	  cout&lt;&lt;&quot;o&quot;;
	}

		while (weiter==1)
		{
			while (!kbhit()&amp;&amp;weiter==1)
			{
				gotoxy(z[laenge-1].x, z[laenge-1].y);
				cout&lt;&lt;&quot;  &quot;;
				for (int i=laenge-1;i&gt;0;i--)
				{
					z[i]=z[i-1];
				}

			z[0].x=z[0].x+dx;
			z[0].y=z[0].y+dy;

				for (int i=0;i&lt;laenge;i++)
				   {
					gotoxy(z[i].x, z[i].y);
					cout&lt;&lt;&quot;o&quot;;
						if (i==0)
						{
						gotoxy(z[i].x, z[i].y);
						cout&lt;&lt;&quot;x&quot;;
						}

				   }

					Sleep(80);

						if (z[0].x&gt;=70) break;
						if (z[0].y&gt;=22) break;
						if (z[0].x&lt;=15) break;
						if (z[0].y&lt;=5) break;

						for (int i=1;i&lt;90 ;i++ )
						{
							if (z[0].x == z[i].x &amp;&amp; z[0].y == z[i].y)
							{
								weiter=0;
							}

						}

						if (ax == z[0].x &amp;&amp; ay == z[0].y)
						{
							ax=random(53)+16 , ay=random(15)+6;
							gotoxy(ax,ay);
							cout&lt;&lt;&quot;#&quot;;

							for (int i=0;i&lt;=6 ;i++ )
							{
								if (ax == z[i].x &amp;&amp; ay == z[i].y)
								{
									gotoxy(ax,ay);    //überschreibt beim
									cout&lt;&lt;&quot;#&quot;;        //&quot;vorbeikriechen&quot;
								}                          //den Punkt zum
							}                                   //fressen, also
							laenge=laenge+2;                    //das &quot;#&quot; zeichen
							         		                  //und den rechten
						}                                            //Rand
				}

			if (z[0].x&gt;=70)break;
			if (z[0].y&gt;=22) break;
			if (z[0].x&lt;=15)	break;
			if (z[0].y&lt;=5) break;

		char x=getch();

		if (x=='w'&amp;&amp;dy!=1)
		{
			dx=0;
			dy=-1;
		}
		if (x=='a'&amp;&amp;dx!=1)
		{
			dx=-1;
			dy=0;
		}
		if (x=='s'&amp;&amp;dy!=-1)
		{
			dx=0;
			dy=1;
		}
		if (x=='d'&amp;&amp;dx!=-1)
		{
			dx=1;
			dy=0;
		}

	}

	clrscr();

	do
	{
		gotoxy(34,12);
		cout&lt;&lt;&quot;&gt;&gt;&gt;&gt;You Lost&lt;&lt;&lt;&lt;&quot;;
		Sleep(50);
		break;
	}
	while(true);         //Funktioniert nicht!
			  //Ziel: Aufbau wie der Rand am Anfang

	getchar();
	return 0;
}
//---------------------------------------------------------------------------
</code></pre>
<p>edit: code-tags hinzugefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244556/probleme-beim-programmieren-von-snake-als-konsolenanwendung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:14:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244556.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Jul 2009 22:19:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 22:33:48 GMT]]></title><description><![CDATA[<p>Hallo an Alle,</p>
<p>Ich habe einige Probleme und Bugs in meinem Snake-Programm, das ich für die Schule (Informationstechnisches Gymnasium, 11. Klasse) programmieren muss. Kriege einfach nicht raus was falsch läuft. Ich hoffe ihr könnt mir möglichst schnell helfen, da ich das Ding am Freitag abgeben muss.<br />
Ich poste einfach mal meinen Quellcode.<br />
Die Probleme stehen als kommentare neben dran.<br />
Freue mich über eure hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Danke im Vorraus!</p>
<p>Also hier der Quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;windows.h&gt;
using namespace std;

struct Koord
{
	int x, y;
};

int main()
{
	int dx=1, dy=0;
	int weiter=1;
	randomize();
	int ax=random(53)+16 , ay=random(15)+6;
	Koord z[90];

	int laenge=5;
	z[0].x=23;
	z[0].y=10;
	z[1].x=22;
	z[1].y=10;
	z[2].x=21;
	z[2].y=10;
	z[3].x=20;
	z[3].y=10;
	z[4].x=19;
	z[4].y=10;

	for (int i=15;i&lt;=70;i++)
	{
	 gotoxy(i,5);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=5;i&lt;=22;i++)
	{
	 gotoxy(70,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=70;i&gt;=15;i--)
	{
	 gotoxy(i,22);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=22;i&gt;=5;i--)
	{
	 gotoxy(15,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	gotoxy(ax,ay);
	cout&lt;&lt;&quot;#&quot;;

	for (int i=0;i&lt;laenge;i++)
	{
	  gotoxy (z[i].x, z[i].y);
	  cout&lt;&lt;&quot;o&quot;;
	}

		while (weiter==1)
		{
			while (!kbhit()&amp;&amp;weiter==1)
			{
				gotoxy(z[laenge-1].x, z[laenge-1].y);
				cout&lt;&lt;&quot;  &quot;;
				for (int i=laenge-1;i&gt;0;i--)
				{
					z[i]=z[i-1];
				}

			z[0].x=z[0].x+dx;
			z[0].y=z[0].y+dy;

				for (int i=0;i&lt;laenge;i++)
				   {
					gotoxy(z[i].x, z[i].y);
					cout&lt;&lt;&quot;o&quot;;
						if (i==0)
						{
						gotoxy(z[i].x, z[i].y);
						cout&lt;&lt;&quot;x&quot;;
						}

				   }

					Sleep(80);

						if (z[0].x&gt;=70) break;
						if (z[0].y&gt;=22) break;
						if (z[0].x&lt;=15) break;
						if (z[0].y&lt;=5) break;

						for (int i=1;i&lt;90 ;i++ )
						{
							if (z[0].x == z[i].x &amp;&amp; z[0].y == z[i].y)
							{
								weiter=0;
							}

						}

						if (ax == z[0].x &amp;&amp; ay == z[0].y)
						{
							ax=random(53)+16 , ay=random(15)+6;
							gotoxy(ax,ay);
							cout&lt;&lt;&quot;#&quot;;

							for (int i=0;i&lt;=6 ;i++ )
							{
								if (ax == z[i].x &amp;&amp; ay == z[i].y)
								{
									gotoxy(ax,ay);    //überschreibt beim
									cout&lt;&lt;&quot;#&quot;;        //&quot;vorbeikriechen&quot;
								}                          //den Punkt zum
							}                                   //fressen, also
							laenge=laenge+2;                    //das &quot;#&quot; zeichen
							         		                  //und den rechten
						}                                            //Rand
				}

			if (z[0].x&gt;=70)break;
			if (z[0].y&gt;=22) break;
			if (z[0].x&lt;=15)	break;
			if (z[0].y&lt;=5) break;

		char x=getch();

		if (x=='w'&amp;&amp;dy!=1)
		{
			dx=0;
			dy=-1;
		}
		if (x=='a'&amp;&amp;dx!=1)
		{
			dx=-1;
			dy=0;
		}
		if (x=='s'&amp;&amp;dy!=-1)
		{
			dx=0;
			dy=1;
		}
		if (x=='d'&amp;&amp;dx!=-1)
		{
			dx=1;
			dy=0;
		}

	}

	clrscr();

	do
	{
		gotoxy(34,12);
		cout&lt;&lt;&quot;&gt;&gt;&gt;&gt;You Lost&lt;&lt;&lt;&lt;&quot;;
		Sleep(50);
		break;
	}
	while(true);         //Funktioniert nicht!
			  //Ziel: Aufbau wie der Rand am Anfang

	getchar();
	return 0;
}
//---------------------------------------------------------------------------
</code></pre>
<p>edit: code-tags hinzugefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735772</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Wed, 01 Jul 2009 22:33:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 22:21:42 GMT]]></title><description><![CDATA[<p>Danke im Vor-raus soll das oben heißen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Keine Ahnung warum es zensiert wurde..</p>
<p>Gruß Krush</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735773</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Wed, 01 Jul 2009 22:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 22:32:22 GMT]]></title><description><![CDATA[<p>Krush schrieb:</p>
<blockquote>
<p>Danke im Vor-raus soll das oben heißen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Keine Ahnung warum es zensiert wurde..</p>
</blockquote>
<p>Weil es &quot;voraus&quot; heißt, mit einem R.</p>
<p>Du solltest zudem dein Quellcode in CPP-Tags packen, sonst wird das kaum einer lesen können.</p>
<p>Edit: Ah, hast du grad gemacht. Ist besser so <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735776</guid><dc:creator><![CDATA[Tobiking2]]></dc:creator><pubDate>Wed, 01 Jul 2009 22:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 22:35:23 GMT]]></title><description><![CDATA[<p>Sorry bin ganz neu hier und nicht mit allem vertraut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hoffe ihr könnt mir jetzt helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Gruß Krush</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735777</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Wed, 01 Jul 2009 22:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 23:11:28 GMT]]></title><description><![CDATA[<p>hallo und willkommen in diesem forum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>eins muss ich vorweg sagen:<br />
das spiel gefällt mir!<br />
das aufbauen des bildschirms und der nicht-ge-&quot;o&quot;te-kopf der schlange</p>
<p>soooo zu deinem problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>in zeile 80 schreibst du:</p>
<pre><code class="language-cpp">cout&lt;&lt;&quot;  &quot;;
</code></pre>
<p>das sind 2 leerzeichen. folglich nimmst du alles was rechts ist mit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
eins muss weg!</p>
<p>viel spaß noch mit dem programm</p>
<p>MfG helferlein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735782</guid><dc:creator><![CDATA[helferlein_unreg]]></dc:creator><pubDate>Wed, 01 Jul 2009 23:11:28 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Wed, 01 Jul 2009 23:24:38 GMT]]></title><description><![CDATA[<p>Hallo helferlein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>vielen Dank!<br />
Ich finde auch, dass es mir relativ gut gelungen ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Das mit den 2 Leerzeichen ist mir auch in den Sinn gekommen, nur ist das Problem:</p>
<p>Wenn ich eines weg nehme bleibt immer ein &quot;o&quot; auf der strecke da meine schlange durch</p>
<pre><code class="language-cpp">laenge=laenge+2;
</code></pre>
<p>immer 2 länger wird...<br />
Dann brauch ich doch 2 Leerzeichen oder nicht?<br />
Leider eine Vorschrift unseres Lehrers <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Gruß<br />
Krush</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735783</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Wed, 01 Jul 2009 23:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Thu, 02 Jul 2009 08:06:22 GMT]]></title><description><![CDATA[<p>Du darfst die Länge nicht auf einmal um zwei ändern. Ich habe folgendes gemacht:<br />
1. Wie Helferlein anmerkte, nur eine Stelle löschen.<br />
2. Eine neue Variable inclen eingeführt:</p>
<pre><code class="language-cpp">int main()
{
	 int inclen = 0;

    int dx=1, dy=0;
    int weiter=1;
</code></pre>
<p>3. Die Länge immer nur um ein Feld pro Schlangenausgabe erhöht:</p>
<pre><code class="language-cpp">while (!kbhit()&amp;&amp;weiter==1)
            {
                gotoxy(z[laenge-1].x, z[laenge-1].y);
                cout&lt;&lt;&quot; &quot;;

                if(inclen)
                {
                	++laenge;
                	--inclen;
                }

                for (int i=laenge-1;i&gt;0;i--)
                {
                    z[i]=z[i-1];
                }
</code></pre>
<p>und 4. dafür gesorgt, daß die Schlange insgesamt um 2 Felder verlängert wird:</p>
<pre><code class="language-cpp">if (ax == z[0].x &amp;&amp; ay == z[0].y)
                        {
                            ax=random(53)+16 , ay=random(15)+6;
                            gotoxy(ax,ay);
                            cout&lt;&lt;&quot;#&quot;;

                            for (int i=0;i&lt;=6 ;i++ )
                            {
                                if (ax == z[i].x &amp;&amp; ay == z[i].y)
                                {
                                    gotoxy(ax,ay);    //überschreibt beim
                                    cout&lt;&lt;&quot;#&quot;;        //&quot;vorbeikriechen&quot;
                                }                          //den Punkt zum
                            }                                   //fressen, also
                            inclen = 2;                    //das &quot;#&quot; zeichen
                                                               //und den rechten
                        }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1735841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735841</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 02 Jul 2009 08:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Thu, 02 Jul 2009 08:40:48 GMT]]></title><description><![CDATA[<p>Stimmt, mit einer neuen Variablen hab ichs noch garnicht probiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Danke für die hilfe, funktioniert super!</p>
<p>Könntet ihr mir noch nen kleinen tipp geben, wie ich ein Menü mit</p>
<p>1.Spiel starten<br />
2.Highscore<br />
3.SPiel beenden</p>
<p>erstellen kann?<br />
Müsste auch noch wissen wie man eine highscore speichert ohne eine neue unit mit klasse einzubinden..</p>
<p>Danke für eure antworten!</p>
<p>Gruß Krush</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735860</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Thu, 02 Jul 2009 08:40:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Thu, 02 Jul 2009 14:55:05 GMT]]></title><description><![CDATA[<p>Ok ich habe jetzt eine highscore und ein Menü geschrieben.<br />
Hab das Programm jetzt doch etwas ausgeweitet und eine Klasse erstellt.<br />
Allerdings funktionieren wieder ein paar Sachen nicht, wie sie sollen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Ich poste mal den Code und die Problemstellen:</p>
<p>Unit 1:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;conio.h&gt;
#include&lt;windows.h&gt;
#include&lt;fstream&gt;
using namespace std;
#include&quot;Snakespiel.h&quot;

struct Koord
{
	int x, y;
};

int main()
{
	Snakespiel s;
	s.binspiel = true;
	s.spielstart = false;
	s.menu();
	while (s.binspiel)
	{
	int dx=1, dy=0;
	int score=0;
	int geschauswahl=0;
	int gesch=0;
	int verl=0;
	int weiter=1;
	randomize();
	int ax=random(53)+16 , ay=random(15)+6;
	Koord z[90];
	bool _inhighscore = s.inhighscore;
	while (s.inhighscore);
	if (_inhighscore) s.menu();

	if (s.spielstart)

	{
	gotoxy(10,10);
	cout&lt;&lt;&quot;Welche Schwierigkeitsstufe wollen sie haben? &quot;&lt;&lt;endl;
	gotoxy(10,12);
	cout&lt;&lt;&quot;1 = Langsam, 2 = Mittel, 3 = Schnell, 4 = Sehr schnell &quot;&lt;&lt;endl;
	gotoxy(10,16);
	cin&gt;&gt;geschauswahl;

	if (geschauswahl == 1)
	{
		gesch=150;
	}

	if (geschauswahl == 2)
	{
		gesch=100;
	}

	if (geschauswahl == 3)
	{
		gesch=40;
	}

	if (geschauswahl == 4)
	{
		gesch=25;
	}

	clrscr();

	for (int i=15;i&lt;=70;i++)
	{
	 gotoxy(i,5);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=5;i&lt;=22;i++)
	{
	 gotoxy(70,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=70;i&gt;=15;i--)
	{
	 gotoxy(i,22);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	for (int i=22;i&gt;=5;i--)
	{
	 gotoxy(15,i);
	 cout&lt;&lt;&quot;*&quot;;
	 Sleep (3);
	}

	gotoxy(ax,ay);
	cout&lt;&lt;&quot;#&quot;;
	}

	int laenge=5;
	z[0].x=23;
	z[0].y=10;
	z[1].x=22;
	z[1].y=10;
	z[2].x=21;
	z[2].y=10;
	z[3].x=20;
	z[3].y=10;
	z[4].x=19;
	z[4].y=10;

	for (int i=0;i&lt;laenge;i++)
	{
	  gotoxy (z[i].x, z[i].y);
	  cout&lt;&lt;&quot;o&quot;;
	}

		while (s.spielstart)
		{
			while (!kbhit()&amp;&amp;weiter==1)
			{
				gotoxy(z[laenge-1].x, z[laenge-1].y);
				cout&lt;&lt;&quot; &quot;;

				if (verl)
				{
					laenge++;
					verl --;
				}

				for (int i=laenge-1;i&gt;0;i--)
				{
					z[i]=z[i-1];
				}

			z[0].x=z[0].x+dx;
			z[0].y=z[0].y+dy;

				for (int i=0;i&lt;laenge;i++)
				   {
					gotoxy(z[i].x, z[i].y);
					cout&lt;&lt;&quot;o&quot;;
						if (i==0)
						{
						gotoxy(z[i].x, z[i].y);
						cout&lt;&lt;&quot;x&quot;;
						}

				   }

					Sleep(gesch);

						if (z[0].x&gt;=70) { s.spielstart = false ;break; }
						if (z[0].y&gt;=22) { s.spielstart = false ;break; }
						if (z[0].x&lt;=15) { s.spielstart = false ;break; }
						if (z[0].y&lt;=5) { s.spielstart = false ;break; }

						for (int i=1;i&lt;90 ;i++ )
						{
							if (z[0].x == z[i].x &amp;&amp; z[0].y == z[i].y)
							{
								weiter=0;
							}

						}

							if (ax == z[0].x &amp;&amp; ay == z[0].y)
							{
								ax=random(53)+16 , ay=random(15)+6;
								gotoxy(ax,ay);
								cout&lt;&lt;&quot;#&quot;;

								for (int i=0;i&lt;=6 ;i++ )
								{
									if (ax == z[i].x &amp;&amp; ay == z[i].y)
									{
										gotoxy(ax,ay);
										cout&lt;&lt;&quot;#&quot;;

									}
								}
								score=score+7*geschauswahl;
								verl = 2;

							}
				}

			if (z[0].x&gt;=70) { s.spielstart = false ;break; }
			if (z[0].y&gt;=22) { s.spielstart = false ;break; }
			if (z[0].x&lt;=15)	{ s.spielstart = false ;break; }
			if (z[0].y&lt;=5) { s.spielstart = false ;break; }

		char x=getch();

		if (x=='w'&amp;&amp;dy!=1)
		{
			dx=0;
			dy=-1;
		}
		if (x=='a'&amp;&amp;dx!=1)
		{
			dx=-1;
			dy=0;
		}
		if (x=='s'&amp;&amp;dy!=-1)
		{
			dx=0;
			dy=1;
		}
		if (x=='d'&amp;&amp;dx!=-1)
		{
			dx=1;
			dy=0;
		}
		}
	clrscr();

	for (int i=0;i&lt;=4 ;i++ )
	{

		gotoxy(34,12);
		cout&lt;&lt;&quot;&gt;&gt;&gt;&gt;You Lost&lt;&lt;&lt;&lt;&quot;;
		Sleep(400);
		clrscr();
		Sleep(400);
	}
	clrscr();
	while(!kbhit())
	{
	gotoxy(34,12);
	cout&lt;&lt;&quot;Ihre Punkte: &quot;&lt;&lt;score;
	}
	clrscr();
	s.binspiel = true;
	s.spielstart = false;
	weiter = 0;
	s.menu();

	}

	getchar();
	return 0;

}
//---------------------------------------------------------------------------
</code></pre>
<p>Snakespiel.cpp</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#pragma hdrstop
#include&lt;iostream&gt;
#include&lt;conio.h&gt;
#include&lt;windows.h&gt;
#include&lt;fstream&gt;
#include&lt;string&gt;
using namespace std;

#include &quot;Snakespiel.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)

void Snakespiel::highs()
{
	inhighscore = true;
	cout&lt;&lt;&quot;TEST&quot;;
	clrscr();
	int w;
	ifstream highscore (&quot;SnakeScore.txt&quot;);
	for (int w=0;w&lt;=5 ;w++ )
	{
		highscore&gt;&gt;highscorefeld[w].name;
		highscore&gt;&gt;highscorefeld[w].score;
		highscore&gt;&gt;highscorefeld[w].platzierung;
	}
	cout&lt;&lt;highscorefeld[0].name;
}

void Snakespiel::highs2()
{
	int w;
	ofstream highscore2 (&quot;SnakeScore.txt&quot;);
	for (int w;w&lt;=5 ;w++ )
	{
		highscore2&lt;&lt;highscorefeld[w].name;
		highscore2&lt;&lt;&quot; &quot;;
		highscore2&lt;&lt;highscorefeld[w].score;
		highscore2&lt;&lt;&quot; &quot;;
		highscore2&lt;&lt;highscorefeld[w].platzierung;
		highscore2&lt;&lt;&quot; &quot;&lt;&lt;endl;

	}
}

void Snakespiel::hauptprogramm()
{

}

void Snakespiel::menu()
{
int auswahl = 0;

gotoxy(10,5);
std::cout &lt;&lt; &quot;1. Neues Spiel&quot; &lt;&lt; std::endl;
gotoxy(10,6);
std::cout &lt;&lt; &quot;2. Highscore&quot; &lt;&lt; std::endl;
gotoxy(10,7);
std::cout &lt;&lt; &quot;3. Spiel beenden&quot; &lt;&lt; std::endl;

gotoxy(10,10);
cout&lt;&lt;&quot;Treffen sie ihre Auswahl.&quot;&lt;&lt;endl;

gotoxy(10,14);
cin&gt;&gt;auswahl;

clrscr();

if (auswahl == 1) spielstart = true;
else if (auswahl == 2) highs();
else if (auswahl == 3) binspiel = false;

}
</code></pre>
<p>Snakespiel.h:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef SnakespielH
#define SnakespielH
#include&lt;iostream&gt;
#include&lt;conio.h&gt;
#include&lt;windows.h&gt;
#include&lt;fstream&gt;
using namespace std;
//---------------------------------------------------------------------------
struct high
{
	string name;
	int score;
	int platzierung;
};

class Snakespiel
{
	private:
				high highscorefeld[5];
	public:
				bool binspiel;
				bool spielstart;
				bool inhighscore;
				void highs();
				void highs2();
				void hauptprogramm();
				void menu();
};
#endif
</code></pre>
<p>Soo..<br />
mit der Highscore klappt es noch nicht ich habe mit den fstreams keine Erfahrung.<br />
Wenn ich das Menü aufrufe und Highscore auswähle kommt nur ein leeres Fenster und eintragen kann man auch nichts.<br />
Habe schon probiert in die .txt Datei was einzutragen, es zeigt aber trotzdem nichts an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Problem mit dem Punkte-anzeigen gelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Einfach das clrscr() vor der while(!kbhit())-Schleife in die for-Schleife des &quot;You Lost&quot; rein.<br />
dann klappts.</p>
<p>Anderes Problem steht noch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Gruß Krush</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1736101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1736101</guid><dc:creator><![CDATA[Krush]]></dc:creator><pubDate>Thu, 02 Jul 2009 14:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Programmieren von Snake als Konsolenanwendung on Thu, 02 Jul 2009 14:31:47 GMT]]></title><description><![CDATA[<p>erhöhe mal die werte in den sleeps - wahrscheinlich drückst du länger als 0.4 sekunden ne taste!? ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1736109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1736109</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 02 Jul 2009 14:31:47 GMT</pubDate></item></channel></rss>