<?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[Schleifenabbruchbedingung + Zufallssahlen]]></title><description><![CDATA[<pre><code>case 3: while (player1_pos[0]!=player2_pos[0]!=player1_pos[1]!=player2_pos[1]!=player1_pos[2]!=player2_pos[2])
        {
         player1_pos[0] = random(12);
         player2_pos[0] = random(12);
         player1_pos[1] = random(12);
         player2_pos[1] = random(12);
         player1_pos[2] = random(12);
         player2_pos[2] = random(12);
        }
        break;
</code></pre>
<p>Ist dieser Code korrekt um in die 2 Arrays 6 verschiedene Werte einzuspeichern welche alle verschieden sind, das heißt kein Wert darf mehr als einmal vorkommen? Kann man als meine While-Abbrechbedingung eleganter lösen bzw. ist sie überhaupt korrekt in diesem zusammenhang benutzt?<br />
Ich frage so, weil ich einen Fehler in meinem &quot;Game&quot; habe und irgendwo ein Fehler steckt und ich ihn nicht finde. Ich vermute aber er liegtin diesen Zeilen (s.o.)<br />
Bedanke mich schon mal für eure Antworten mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/76536/schleifenabbruchbedingung-zufallssahlen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 28 Jun 2026 23:49:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/76536.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Jun 2004 17:35:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schleifenabbruchbedingung + Zufallssahlen on Sat, 12 Jun 2004 17:35:44 GMT]]></title><description><![CDATA[<pre><code>case 3: while (player1_pos[0]!=player2_pos[0]!=player1_pos[1]!=player2_pos[1]!=player1_pos[2]!=player2_pos[2])
        {
         player1_pos[0] = random(12);
         player2_pos[0] = random(12);
         player1_pos[1] = random(12);
         player2_pos[1] = random(12);
         player1_pos[2] = random(12);
         player2_pos[2] = random(12);
        }
        break;
</code></pre>
<p>Ist dieser Code korrekt um in die 2 Arrays 6 verschiedene Werte einzuspeichern welche alle verschieden sind, das heißt kein Wert darf mehr als einmal vorkommen? Kann man als meine While-Abbrechbedingung eleganter lösen bzw. ist sie überhaupt korrekt in diesem zusammenhang benutzt?<br />
Ich frage so, weil ich einen Fehler in meinem &quot;Game&quot; habe und irgendwo ein Fehler steckt und ich ihn nicht finde. Ich vermute aber er liegtin diesen Zeilen (s.o.)<br />
Bedanke mich schon mal für eure Antworten mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/538749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538749</guid><dc:creator><![CDATA[polarbaer]]></dc:creator><pubDate>Sat, 12 Jun 2004 17:35:44 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifenabbruchbedingung + Zufallssahlen on Sat, 12 Jun 2004 18:05:46 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=75941" rel="nofollow">Hier</a> findest du einen aktuellen Thread, in dem es um das Erzeugen von &quot;einzigartigen&quot; Zufallszahlen geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/538769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538769</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sat, 12 Jun 2004 18:05:46 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifenabbruchbedingung + Zufallssahlen on Sat, 12 Jun 2004 18:36:30 GMT]]></title><description><![CDATA[<p>polarbaer,</p>
<p>polarbaer schrieb:</p>
<blockquote>
<p>Ist dieser Code korrekt ...</p>
</blockquote>
<p>korrekt schon, aber wahnsinnig ineffizient. Der von Jansen empfohlene Thread wird Dir vermutlich nicht weiterhelfen. Hier ein Vorschlag (nur leicht angetestet):</p>
<pre><code class="language-cpp">int vorrat[12]={0,1,2,3,4,5,6,7,8,9,10,11};
int length = 12;
randomize();
int iz; //index
int z;  //Zufalls-Wert
while (length &gt; 0)
{
    int iz = random(length);
    int z = vorrat[iz];
    //aufräumen
    for (int i = iz; i &lt; length - 1; i++)
    {
        vorrat[i] = vorrat[i + 1];
    }
    length--;
}
</code></pre>
<p>Das &quot;Aufräumen&quot; läßt sich auch eleganter mit einer Liste lösen. Es gibt auch gänzlich andere Lösungen für dieses Problem ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/538785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538785</guid><dc:creator><![CDATA[dschensky]]></dc:creator><pubDate>Sat, 12 Jun 2004 18:36:30 GMT</pubDate></item><item><title><![CDATA[Reply to Schleifenabbruchbedingung + Zufallssahlen on Sat, 12 Jun 2004 19:59:35 GMT]]></title><description><![CDATA[<p>polarbaer schrieb:</p>
<blockquote>
<pre><code>case 3: while (player1_pos[0]!=player2_pos[0]!=player1_pos[1]!=player2_pos[1]!=player1_pos[2]!=player2_pos[2])
</code></pre>
</blockquote>
<p>Entschuldigt die ungewöhnliche Frage, aber ist so ein Konstrukt wirklich zulässig? Ich kann mich entsinnen, dass mein Compiler bald durchgedreht ist, wenn ich sowas versucht habe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/538821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/538821</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Sat, 12 Jun 2004 19:59:35 GMT</pubDate></item></channel></rss>