<?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[Schon wieder Zufallszahlen...]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich habe angefangen mir ein kleines Spielchen zu schreiben, in dem man auf textbasis gegen einen Gegner kämpfen kann. Man hat die Möglichkeit einen Angriff auszuführen, der immer zwischen 0 und die Hälfte der Lebensenergie beträgt.</p>
<p>Nun habe ich mich etwas im Forum umgesehen und habe folgendes gefunden:</p>
<pre><code class="language-cpp">void CPlayer::angriff(void)
{
	// Zufallszahl
	srand(time(NULL));
	int schaden = rand() % my_health;

	// Ausgabe
	if(schaden == 0)
		cout &lt;&lt; &quot;Daneben.&quot; &lt;&lt; endl;
	else
		cout &lt;&lt; &quot;Angriff: &quot; &lt;&lt; schaden &lt;&lt; &quot; Schaden verichtet.&quot; &lt;&lt; endl;
}
</code></pre>
<p>Ich denke mal, dass es egal ist wie die Klasse aufgebaut ist und deswegen habe ich die nicht mit hingeschrieben. Das einzige was ich sagen muss ist, dass my_health durch einen Konstruktor auf 100 gesetzt wird. Der Compiler bringt keine Fehler, weil ja alles richtig ist, aber auf der anderen Seite auch wieder nicht, denn die Zufallszahlen sind voll berechenbar. Wenn ich das Programm starte, dann steht da z.B. 13 und wenn ich das Programm dann ganz schnell schließe und nach zwei Sekunden wieder öffne, steht da 15, d.h. es verändert sich jede Sekunde. Nun würde ich gern wissen, wie ich das machen kann, dass die Zahlen nicht so berechenbar sind. Es wäre cool, wenn ihr mir helfen könntet. Ich freu mich über antworten.</p>
<p>MfG René</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135486/schon-wieder-zufallszahlen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 23:18:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135486.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Feb 2006 14:21:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schon wieder Zufallszahlen... on Thu, 02 Feb 2006 14:21:18 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich habe angefangen mir ein kleines Spielchen zu schreiben, in dem man auf textbasis gegen einen Gegner kämpfen kann. Man hat die Möglichkeit einen Angriff auszuführen, der immer zwischen 0 und die Hälfte der Lebensenergie beträgt.</p>
<p>Nun habe ich mich etwas im Forum umgesehen und habe folgendes gefunden:</p>
<pre><code class="language-cpp">void CPlayer::angriff(void)
{
	// Zufallszahl
	srand(time(NULL));
	int schaden = rand() % my_health;

	// Ausgabe
	if(schaden == 0)
		cout &lt;&lt; &quot;Daneben.&quot; &lt;&lt; endl;
	else
		cout &lt;&lt; &quot;Angriff: &quot; &lt;&lt; schaden &lt;&lt; &quot; Schaden verichtet.&quot; &lt;&lt; endl;
}
</code></pre>
<p>Ich denke mal, dass es egal ist wie die Klasse aufgebaut ist und deswegen habe ich die nicht mit hingeschrieben. Das einzige was ich sagen muss ist, dass my_health durch einen Konstruktor auf 100 gesetzt wird. Der Compiler bringt keine Fehler, weil ja alles richtig ist, aber auf der anderen Seite auch wieder nicht, denn die Zufallszahlen sind voll berechenbar. Wenn ich das Programm starte, dann steht da z.B. 13 und wenn ich das Programm dann ganz schnell schließe und nach zwei Sekunden wieder öffne, steht da 15, d.h. es verändert sich jede Sekunde. Nun würde ich gern wissen, wie ich das machen kann, dass die Zahlen nicht so berechenbar sind. Es wäre cool, wenn ihr mir helfen könntet. Ich freu mich über antworten.</p>
<p>MfG René</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984007</guid><dc:creator><![CDATA[Apocalypse]]></dc:creator><pubDate>Thu, 02 Feb 2006 14:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to Schon wieder Zufallszahlen... on Thu, 02 Feb 2006 14:37:06 GMT]]></title><description><![CDATA[<p>Du könntest zB aufhören den seed von rand bei jedem aufruf dieser methode neu zu setzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/984025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984025</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Thu, 02 Feb 2006 14:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to Schon wieder Zufallszahlen... on Thu, 02 Feb 2006 14:37:26 GMT]]></title><description><![CDATA[<p>Du initialisierst den Zufallsgenerator ja auch jedesmal neu. Da time(NULL) Sekunden liefert, wird der Zuffi nur jede Sekunde mit einem _neuen_ Wert initialisiert.</p>
<p>Bevor die Frage kommt was schneller ist als time(NULL): Man initialisiert eh nur einmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984027</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 02 Feb 2006 14:37:26 GMT</pubDate></item><item><title><![CDATA[Reply to Schon wieder Zufallszahlen... on Thu, 02 Feb 2006 14:48:27 GMT]]></title><description><![CDATA[<p>Ahhh..., danke...<br />
Nun funktioniert es...</p>
<p>MfG René</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984037</guid><dc:creator><![CDATA[Apocalypse]]></dc:creator><pubDate>Thu, 02 Feb 2006 14:48:27 GMT</pubDate></item></channel></rss>