<?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[Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-)]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin schon so weit, dass ich bei einem ganz einfachen Snake, die Schlange bewegen kann, und sie auch das mach, was sie machen soll. Nur habe ich jetzt noch genau 2 Probleme:</p>
<p>1. Wie kann ich das Spiel beenden,<br />
wenn man sich selber frisst oder sie an den Rand stößt?<br />
2. Brauche ich bitte kleine Tipps, wegen dem &quot;Futter&quot;.<br />
3. Kann ich einfach, wenn sie nach links läuft, wieder nach rechts lenken.<br />
Am besten ihr probiert es!</p>
<p>Ich danke euch sehr im Voraus!<br />
Ich weiß, dass ich hier jetzt viel verlange, aber ich möchte es auch kapieren, wies wirklich geht!<br />
Wenn jemand so freundlich ist, und mir hilft <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="😃"
    /> , dann soll es bitte nur so unkompliziert als möglich sein!<br />
Ich sag es immer wieder, aber Danke im Voraus!<br />
Hier ist das, was ich bis jetzt habe:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iomanip.h&gt;
#include &lt;dos.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;time.h&gt;
#include &lt;string.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#pragma argsused

//------------------------- Variblendeklaration -------------------------------
void snake_show(void);
void DrawFrame(int x1,int y1,int x2,int y2,int line);
struct snake_pos
{
    int x_pos;
    int y_pos;
    char sign;
};

int dx=1, dy=0, x=30, y=10;
void snake_move(int xdir, int ydir, snake_pos snake2[]);
snake_pos snake1[]={{x,y,'\x20'},
                    {x+1,y,'\xB1'},
                    {x+2,y,'\xB1'},
                    {x+3,y,'\xB1'},
                    {x+4,y,'\xB1'},
                    {x+5,y,'\xDB'}};

//-------------------------- Unterprogramme ----------------------------------
void DrawFrame(int x1,int y1,int x2,int y2, int line)
{
   int temp;
   if (x1&gt;x2)
   {
      temp=x1;
      x1=x2;
      x2=temp;
   }
   if (y1&gt;y2)
   {
      temp=y1;
      y1=y2;
      y2=temp;
   }

   if (line==2)
   {
      gotoxy(x1,y1);
      cout&lt;&lt;'\xC9'&lt;&lt;setw(x2-x1)&lt;&lt;setfill('\xCD')&lt;&lt;'\xBB';
      gotoxy(x1,y2);
      cout&lt;&lt;'\xC8'&lt;&lt;setw(x2-x1)&lt;&lt;setfill('\xCD')&lt;&lt;'\xBC';
      for (int i=y1+1;i&lt;=y2-1;i++)
      {
         gotoxy(x1,i);
         cout&lt;&lt;'\xBA';
         gotoxy(x2,i);
         cout&lt;&lt;'\xBA';
      }
   }
}

void snake_show(void)
{
    for(int i=0; i&lt;6;i++)
    {
        gotoxy(snake1[i].x_pos,snake1[i].y_pos);
        cout&lt;&lt;snake1[i].sign;
    }

}

void snake_move(int xdir, int ydir, snake_pos snake2[])
{
    snake2[5].x_pos+=xdir;
    snake2[5].y_pos+=ydir;
    for(int i=0; i&lt;5; i++)
    {
        snake2[i].x_pos=snake2[i+1].x_pos;
        snake2[i].y_pos=snake2[i+1].y_pos;
    }
}

//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{
    clrscr();
    _setcursortype(_NOCURSOR);
    DrawFrame(1,1,80,23,2);

    do
    {
        for(int k=0; k&lt;2; k++)
        {
            k--;
            Sleep(200);
            if(kbhit())
            {
                switch(getch())
                {
                    case 77:  dx=1;  dy=0;   break ;
                    case 75:  dx=-1; dy=0;   break ;
                    case 72:  dx=0;  dy=-1;  break ;
                    case 80:  dx=0;  dy=1;   break ;
                }
            }

            gotoxy(1,25);
            snake_move(dx,dy,snake1);     snake_show();
        }
    }
    while(getch()!='q');
    return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/176482/fehlerhaftes-snake-hoffentlich-nicht-mehr-lange</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 22:05:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176482.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Mar 2007 16:53:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 16:28:20 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin schon so weit, dass ich bei einem ganz einfachen Snake, die Schlange bewegen kann, und sie auch das mach, was sie machen soll. Nur habe ich jetzt noch genau 2 Probleme:</p>
<p>1. Wie kann ich das Spiel beenden,<br />
wenn man sich selber frisst oder sie an den Rand stößt?<br />
2. Brauche ich bitte kleine Tipps, wegen dem &quot;Futter&quot;.<br />
3. Kann ich einfach, wenn sie nach links läuft, wieder nach rechts lenken.<br />
Am besten ihr probiert es!</p>
<p>Ich danke euch sehr im Voraus!<br />
Ich weiß, dass ich hier jetzt viel verlange, aber ich möchte es auch kapieren, wies wirklich geht!<br />
Wenn jemand so freundlich ist, und mir hilft <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="😃"
    /> , dann soll es bitte nur so unkompliziert als möglich sein!<br />
Ich sag es immer wieder, aber Danke im Voraus!<br />
Hier ist das, was ich bis jetzt habe:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iomanip.h&gt;
#include &lt;dos.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;time.h&gt;
#include &lt;string.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#pragma argsused

//------------------------- Variblendeklaration -------------------------------
void snake_show(void);
void DrawFrame(int x1,int y1,int x2,int y2,int line);
struct snake_pos
{
    int x_pos;
    int y_pos;
    char sign;
};

int dx=1, dy=0, x=30, y=10;
void snake_move(int xdir, int ydir, snake_pos snake2[]);
snake_pos snake1[]={{x,y,'\x20'},
                    {x+1,y,'\xB1'},
                    {x+2,y,'\xB1'},
                    {x+3,y,'\xB1'},
                    {x+4,y,'\xB1'},
                    {x+5,y,'\xDB'}};

//-------------------------- Unterprogramme ----------------------------------
void DrawFrame(int x1,int y1,int x2,int y2, int line)
{
   int temp;
   if (x1&gt;x2)
   {
      temp=x1;
      x1=x2;
      x2=temp;
   }
   if (y1&gt;y2)
   {
      temp=y1;
      y1=y2;
      y2=temp;
   }

   if (line==2)
   {
      gotoxy(x1,y1);
      cout&lt;&lt;'\xC9'&lt;&lt;setw(x2-x1)&lt;&lt;setfill('\xCD')&lt;&lt;'\xBB';
      gotoxy(x1,y2);
      cout&lt;&lt;'\xC8'&lt;&lt;setw(x2-x1)&lt;&lt;setfill('\xCD')&lt;&lt;'\xBC';
      for (int i=y1+1;i&lt;=y2-1;i++)
      {
         gotoxy(x1,i);
         cout&lt;&lt;'\xBA';
         gotoxy(x2,i);
         cout&lt;&lt;'\xBA';
      }
   }
}

void snake_show(void)
{
    for(int i=0; i&lt;6;i++)
    {
        gotoxy(snake1[i].x_pos,snake1[i].y_pos);
        cout&lt;&lt;snake1[i].sign;
    }

}

void snake_move(int xdir, int ydir, snake_pos snake2[])
{
    snake2[5].x_pos+=xdir;
    snake2[5].y_pos+=ydir;
    for(int i=0; i&lt;5; i++)
    {
        snake2[i].x_pos=snake2[i+1].x_pos;
        snake2[i].y_pos=snake2[i+1].y_pos;
    }
}

//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{
    clrscr();
    _setcursortype(_NOCURSOR);
    DrawFrame(1,1,80,23,2);

    do
    {
        for(int k=0; k&lt;2; k++)
        {
            k--;
            Sleep(200);
            if(kbhit())
            {
                switch(getch())
                {
                    case 77:  dx=1;  dy=0;   break ;
                    case 75:  dx=-1; dy=0;   break ;
                    case 72:  dx=0;  dy=-1;  break ;
                    case 80:  dx=0;  dy=1;   break ;
                }
            }

            gotoxy(1,25);
            snake_move(dx,dy,snake1);     snake_show();
        }
    }
    while(getch()!='q');
    return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1249939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249939</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Tue, 27 Mar 2007 16:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 16:59:18 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Zuerst solltest du mal deine Header aktualisieren und dir dann überlegen, was es für Abbruchbedingungen gibt und diese beipielsweise in einer while Schleife abfragen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249953</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 21 Mar 2007 16:59:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:18:51 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Zuerst solltest du mal deine Header aktualisieren und dir dann überlegen, was es für Abbruchbedingungen gibt und diese beipielsweise in einer while Schleife abfragen.</p>
<p>chrische</p>
</blockquote>
<p>Ich weiß jetzt nicht ganz, was du meinst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249965</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:25:39 GMT]]></title><description><![CDATA[<p>Na Du fragst doch auf getch()!='q' ab, da könntest du doch die anderen abbruchbedingungen gut unterbringen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249972</guid><dc:creator><![CDATA[Martin__S]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:26:22 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Deine inkludierten Header sind nicht aktuell. (z. Bsp.: wurde aus iostream.h 1998 iostream ohne .h)</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249973</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:26:22 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:30:19 GMT]]></title><description><![CDATA[<p>Martin__S schrieb:</p>
<blockquote>
<p>Na Du fragst doch auf getch()!='q' ab, da könntest du doch die anderen abbruchbedingungen gut unterbringen.</p>
</blockquote>
<p>Ich weiß aber nicht ganz, wie?<br />
Soll ich das mit if machen?<br />
Bitte zeige mir ein bisschen was.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249976</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:43:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du kannst doch mehrere Bedingungen per &amp;&amp; oder || verknüpfen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249985</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 17:51:21 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Du kannst doch mehrere Bedingungen per &amp;&amp; oder || verknüpfen.</p>
<p>chrische</p>
</blockquote>
<p>Ich weiß aber nicht, wo ich das wie einbauen soll...<br />
Ich weiß, ich bin doof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249991</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 21 Mar 2007 17:51:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 20:29:10 GMT]]></title><description><![CDATA[<p>Könnte mir vielleicht irgendwie weiterhelfen <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=":confused:"
      alt="😕"
    /> <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="👍"
    /> <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="😞"
    /><br />
Danke. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250086</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:29:10 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 20:36:13 GMT]]></title><description><![CDATA[<p>Am geilsten sind in deinem Code sachen wie:</p>
<pre><code class="language-cpp">if(dx==1 &amp;&amp; dy==0);
if(dx==-1 &amp;&amp; dy==0);
if(dx==0 &amp;&amp; dy==1);
if(dx==0 &amp;&amp; dy==-1);
</code></pre>
<p>Denn die kannst du auch einfach rauslassen .. so wie die da stehen machen die nix. Du schließt mit dem Simikolon das bedingte Ausführen ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250089</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:36:13 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 21 Mar 2007 21:04:20 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Am geilsten sind in deinem Code sachen wie:</p>
<pre><code class="language-cpp">if(dx==1 &amp;&amp; dy==0);
if(dx==-1 &amp;&amp; dy==0);
if(dx==0 &amp;&amp; dy==1);
if(dx==0 &amp;&amp; dy==-1);
</code></pre>
<p>Denn die kannst du auch einfach rauslassen .. so wie die da stehen machen die nix. Du schließt mit dem Simikolon das bedingte Ausführen ab.</p>
</blockquote>
<p>Danke, habe es bereits aktualisiert!</p>
<p>Ich bräuchte noch diese Sachen:<br />
1. Wie kann ich das Spiel beenden,<br />
wenn man sich selber frisst oder sie an den Rand stößt?<br />
2. Brauche ich bitte kleine Tipps, wegen dem &quot;Futter&quot;.<br />
3. Kann ich einfach, wenn sie nach links läuft, wieder nach rechts lenken.<br />
Am besten ihr probiert es!</p>
<p>ich hoffe auf eine gute Antwort, die auch ich verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /><br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250105</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 21 Mar 2007 21:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Thu, 22 Mar 2007 07:51:10 GMT]]></title><description><![CDATA[<p>Du mußt dir ansehen, was auf dem neuen Kopffeld eingetragen ist (am besten stellst du dein Spielfeld als 2D char-Array dar). Wenn dort ein Stück der Schlange oder eine Wand steht, knallt's, wenn dort etwas zu Essen ist, wird die Schlange entsprechend verlängert und ein neues Stück Futter zufällig ausgelegt.</p>
<p>(@3: Mit dieser Kollisionserkennung kannst du auch eine 180-Grad Wende abfangen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250222</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 22 Mar 2007 07:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Thu, 22 Mar 2007 08:33:15 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Friedfischer schrieb:</p>
<blockquote>
<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Du kannst doch mehrere Bedingungen per &amp;&amp; oder || verknüpfen.</p>
<p>chrische</p>
</blockquote>
<p>Ich weiß aber nicht, wo ich das wie einbauen soll...<br />
Ich weiß, ich bin doof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
</blockquote>
<p>Du musst dir überlegen, was alles dazu führt, dass das Programm beendet wird und diese Dinge musst du in der while Schleife überprüfen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250238</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 22 Mar 2007 08:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 14:19:34 GMT]]></title><description><![CDATA[<p>Habs im Mom. soweit:</p>
<p>Jetzt bräuchte ich noch folgendes:</p>
<p>1. Wie kann ich das Spiel beenden, wenn man sich selber frisst?<br />
2. Brauche ich bitte kleine Tipps, wegen dem &quot;Futter&quot;.<br />
3. Kann ich einfach, wenn sie nach links läuft, wieder nach rechts lenken.</p>
<p>Müsste es bis Mittwoch schaffen.<br />
Bitte helft mir so, dass auch ich es schaffe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">SEITE 3
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1253152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253152</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Tue, 27 Mar 2007 14:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Mon, 26 Mar 2007 17:15:11 GMT]]></title><description><![CDATA[<p>hmm so ... also deine Header stimmen alle nicht. Und du solltest dir überlegen, ob du wirklich Sleep nutzen willst, oder dir da nicht was eigenes schreiben willst, denn alleine diese Funktion braucht den Header windows.h. Desweiteren scheinst du eine ImprovedConsole zu verwenden. Standard C++ kennt gotoxy usw nicht.</p>
<p>std::cout anstelle von cout ... usw ..</p>
<p>aja die korrekten Header heißen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt; // NUR FÜR Sleep(); ... nicht sinnvoll!
#include &lt;conio.h&gt; // Darin ist gotoxy nicht enthalten! Scheinst conioex.h zu nutzen.
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253185</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 26 Mar 2007 17:15:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Mon, 26 Mar 2007 17:40:47 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>hmm so ... also deine Header stimmen alle nicht. Und du solltest dir überlegen, ob du wirklich Sleep nutzen willst, oder dir da nicht was eigenes schreiben willst, denn alleine diese Funktion braucht den Header windows.h. Desweiteren scheinst du eine ImprovedConsole zu verwenden. Standard C++ kennt gotoxy usw nicht.</p>
<p>std::cout anstelle von cout ... usw ..</p>
<p>aja die korrekten Header heißen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt; // NUR FÜR Sleep(); ... nicht sinnvoll!
#include &lt;conio.h&gt; // Darin ist gotoxy nicht enthalten! Scheinst conioex.h zu nutzen.
</code></pre>
<p>...</p>
</blockquote>
<p>Danke erstmal.</p>
<p>Wir haben von unserem Lehrer eine Vorlage bekommen, in dem diese vorkommen:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iomanip.h&gt;
#include &lt;dos.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;time.h&gt;
#include &lt;string.h&gt;
#include &lt;vcl.h&gt;
#include &lt;ctime.h&gt;
#pragma hdrstop
#pragma argsused
</code></pre>
<p>Er sagte, dass wir das immer so nehmen sollen, da bei dieser Vorlage anscheinend nichts wichtiges fehlt.</p>
<p>Das mit dem std: lernen wir erst, das kapier ich noch überhaupt nicht...</p>
<p>Aber das ist Nebensächlich. bräuchte bitte diese Hilfen:</p>
<p>1. Wie kann ich das Spiel beenden, wenn man sich selber frisst?<br />
2. Brauche ich bitte kleine Tipps, wegen dem &quot;Futter&quot;.<br />
3. Kann ich einfach, wenn sie nach links läuft, wieder nach rechts lenken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253209</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Mon, 26 Mar 2007 17:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Mon, 26 Mar 2007 18:05:08 GMT]]></title><description><![CDATA[<p>Nein das ist nicht nebensächlich. Das eine ist korrekt und deins ist so nicht Standard konform bzw falsch.</p>
<p>Und wäre schon ganz gut das du uns sagst woher du die Punktion gotoxy nimmst usw. damit wir wissen was wir brauchen um es zu testen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253235</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 26 Mar 2007 18:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Mon, 26 Mar 2007 20:27:47 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Nein das ist nicht nebensächlich. Das eine ist korrekt und deins ist so nicht Standard konform bzw falsch.</p>
<p>Und wäre schon ganz gut das du uns sagst woher du die Punktion gotoxy nimmst usw. damit wir wissen was wir brauchen um es zu testen.</p>
</blockquote>
<p>Wie meinst du das jetzt genau? <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=":confused:"
      alt="😕"
    /> <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=":confused:"
      alt="😕"
    /> <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253370</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Mon, 26 Mar 2007 20:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Mon, 26 Mar 2007 20:38:14 GMT]]></title><description><![CDATA[<p>Ich habe jetzt alles getestet, welche include - Dateien ich nicht brauche.<br />
Ich hoffe, ich habe das richtig gemacht!</p>
<p>Übrig bleiben würden nur diese:</p>
<pre><code class="language-cpp">#include &lt;conio.h&gt;
#include &lt;iomanip.h&gt;
</code></pre>
<p>Ich hoffe, dass ihr das braucht?</p>
<p>Vielleicht braucht ihr auch folgende Angaben:</p>
<p>Ich programmiere in Borland 5 mit der Konsole.</p>
<p>Ich freue mich auf Antworten !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253379</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Mon, 26 Mar 2007 20:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 04:46:50 GMT]]></title><description><![CDATA[<p>Darum ging es nicht. Es ging darum, dass iostream**.h** veraltet ist und nicht mehr genutzt werden soll. Da heiszt jetzt einfach nur noch iostream, also #include&lt;iostream&gt; (ohne .h) gleiches gilt für string, time (wird ctime glaub ich) und ctime (wird cctime, bin mir aber nicht sicher)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253458</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Tue, 27 Mar 2007 04:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 07:01:01 GMT]]></title><description><![CDATA[<p>&lt;ctime.h&gt; ist kompletter Müll, es gibt nur &lt;time.h&gt; (C-Version) und &lt;ctime&gt; (C++-Version). Zu den übrigen Headern: &lt;iostream&gt; wurde ja schon erwähnt, das selbe gilt für &lt;iomanip&gt;, &lt;cstdlib&gt; und &lt;cstring&gt; (OK, von den C-Headern könntest du beide Varianten nehmen, aber die C-Version ist bei C++-Programmierern (hmm) unbeliebt).</p>
<p>Zu deinen Fragen:<br />
Stell dein Spielfeld intern als zweidimensionales char-Array dar und die Schlange als std::list&lt;std::pair&lt;int,int&gt; &gt; - bei jedem Schritt prüfst du nach, was vor dem aktuellen Kopffeld (in der gerade gültigen Richtung) für ein Wert steht, bei '#' (Schlange), '|' '-' (Wand) bringst du die Game-Over-Meldung (@Frage 1), bei '*' (Futter) setzt du ein neues Stück Futter für die Schlange, erhöhst den Punktestand und lässt sie etwas wachsen (@Frage2). Nach der Überprüfung hängst du die Koordinanten des kontrollierten Feldes ans Kopfende (push_front()) an, kürzt eventuell die Schlange am Schwanz ( <code>if(snake.size()&gt;length)snake.pop_back();</code> ) und zeichnest dein Spielfeld neu.</p>
<p>(@Frage3: Bei einer 180°-Drehung ist &quot;vor&quot; dem Kopf das erste Halsfeld. Ohne Sonderbehandlung wird die Kollisionsabfrage (s.o.)zuschlagen und die Schlange stirbt)</p>
<p>Und bevor du nochmal die selben Fragen stellst, lies dir diesen Beitrag bitte durch und versuch ihn zu verstehen. Andernfalls...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253506</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 27 Mar 2007 07:01:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 12:15:49 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>bei '*' (Futter) setzt du ein neues Stück Futter für die Schlange, erhöhst den Punktestand und lässt sie etwas wachsen.</p>
</blockquote>
<p>Danke! Wie setze ich die Punkte zufällig auf einen Punkt.</p>
<p>Das muss ich irgenwie mit randomize machen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253761</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Tue, 27 Mar 2007 12:15:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Tue, 27 Mar 2007 12:18:08 GMT]]></title><description><![CDATA[<p>srand() (Zufallsgenerator initialisieren) und rand() (Zufallswerte herausbekommen). Für Details kannst du gerne in unser Magazin schauen, dort steht ein brauchbarer Artikel von Marc++us.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253764</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 27 Mar 2007 12:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 28 Mar 2007 10:45:47 GMT]]></title><description><![CDATA[<p>Hallo wieder einmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<p>Habs ein bisschen erweitert</p>
<p>Jetzt bruche ich noch folgende Sachen:</p>
<p>Wie kann ich, nachdem die Schlange einen Punkt gefressen hat, einen neuen setzen?<br />
Wie kann ich das Spiel abbrechen, wenn sie sich selber frisst?<br />
Wenn ich nach z.B. links lenke, kann ich wieder nach rechts lenken, und sie dreht um...</p>
<p>Das wär es...</p>
<p>Ich hoffe, dass es jetzt so passt, das mit den Headern?<br />
Mein Programm schreibe ich zum Schluss professioneller, wenn alles fertig ist.<br />
Hier das Programm, müsste es bis morgen fertig bringen:</p>
<pre><code class="language-cpp">Gelöscht
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1253906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253906</guid><dc:creator><![CDATA[Friedfischer]]></dc:creator><pubDate>Wed, 28 Mar 2007 10:45:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 28 Mar 2007 05:30:13 GMT]]></title><description><![CDATA[<p>Punkt 2 hat dir CStoll doch jetzt schon x Mal geschrieben oder nicht?</p>
<p>- Überprüfen des Punktes auf dem die Schlange als nächstes erscheinen würde. Wenn es ein Teil der Schlange ist-&gt; gameover.</p>
<p>Und das mit dem links-rechts lenken glaub ich auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254252</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Wed, 28 Mar 2007 05:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhaftes Snake! hoffentlich nicht mehr lange ;-) on Wed, 28 Mar 2007 06:06:29 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16609">@Fried</a>: Ich wiederhole mich nicht nochmal (und dadurch, daß du deine Fragen etwas umformulierst, wird es auch nicht besser). <strong>Lern Lesen!!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254259</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 28 Mar 2007 06:06:29 GMT</pubDate></item></channel></rss>