<?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[Anfänger brauucht hilfe!]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich hoffe ihr könnt mir behilflich sein!<br />
ich muss ein tischtennis-match-simulation...<br />
das hier ist die aufgabenstellung:<br />
Simulieren Sie einen Tischtennis-Satz des Spiels der berühmten<br />
Champions Ping und Pong. Per Zufallsgenerator wird eine Zahl zwischen 1 und 10 ermittelt.Diese wird nacheinander an die Funktionen ping() und pong()<br />
übergeben. Dort erzeugt jeweils ebenfalls der Zufallsgenerator<br />
eine Zahl von 1 bis 10. Bei Nicht-Übereinstimmung der übergebenen<br />
und der jeweils in der Funktion ermittelten Zufallszahl geben die<br />
Funktionen jeweils eine 0 zurück. Es kommt zum nächsten<br />
Ballwechsel, bis es zu einer Übereinstimmung kommt. Dann gibt die<br />
erfolgreiche Funktion (ping() oder pong()) eine 1 zurück. Der<br />
Erfolgreiche erhält einen Punkt. Jetzt wird der Spielstand und<br />
die Anzahl der Ballwechsel bis zum Punktgewinn ausgegeben (s.<br />
u.). Der Vorgang wiederholt sich so lange, bis einer der beiden<br />
Spieler mindestens 11 Punkte auf dem Konto hat, dabei aber<br />
mindestens 2 Punkte Vorsprung. Dann wird der Endstand ausgegeben<br />
(s. u.).<br />
Natürlich hat der Spieler einen kleinen Vorteil, der Aufschlag<br />
hat, d.h. dessen Funktion zuerst aufgerufen wird, denn wenn er<br />
den Punkt macht, kommt der andere in diesem Durchgang (Schleifendurchlauf)<br />
nicht mehr zum Zug. Aus diesem Grund soll der<br />
Aufschlag wechseln: Die ersten 5 Aufschläge hat Ping, die<br />
nächsten 5 Pong. Danach wechselt der Aufschlag mit jedem Punkt.</p>
<p>so muss die ausgabe aussehen:<br />
3 Ballwechsel<br />
Spielstand:<br />
Ping = 1, Pong = 0</p>
<p>1 Ballwechsel<br />
Spielstand:<br />
Ping = 1, Pong = 1<br />
....</p>
<p>ich hab ja 2 funktionen denen übergebe ich den wert, in den beiden funktion wird der wert verglichen...bei übereinstimmung kommt 1 raus und ansonsten 0...soweit bin ich gekommen <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="🙂"
    /> ... meine ausgabe sieht so aus:<br />
Spielstand:<br />
Ping = 1, Pong = 0<br />
oder so<br />
Spielstand:<br />
Ping = 0, Pong = 1<br />
...das ganze muss glaub ich immer gespeichert werden z.b es steht 1:1 und im nächsten schritt bei übereinstimmen muss es ja 2:1 oder 1:2 stehen...<br />
kann mir jemand helfen?<br />
-----------------------------------<br />
guten rutsch wünsch ich euch allen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279694/anfänger-brauucht-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 09:03:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279694.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Jan 2011 18:56:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 18:56:00 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich hoffe ihr könnt mir behilflich sein!<br />
ich muss ein tischtennis-match-simulation...<br />
das hier ist die aufgabenstellung:<br />
Simulieren Sie einen Tischtennis-Satz des Spiels der berühmten<br />
Champions Ping und Pong. Per Zufallsgenerator wird eine Zahl zwischen 1 und 10 ermittelt.Diese wird nacheinander an die Funktionen ping() und pong()<br />
übergeben. Dort erzeugt jeweils ebenfalls der Zufallsgenerator<br />
eine Zahl von 1 bis 10. Bei Nicht-Übereinstimmung der übergebenen<br />
und der jeweils in der Funktion ermittelten Zufallszahl geben die<br />
Funktionen jeweils eine 0 zurück. Es kommt zum nächsten<br />
Ballwechsel, bis es zu einer Übereinstimmung kommt. Dann gibt die<br />
erfolgreiche Funktion (ping() oder pong()) eine 1 zurück. Der<br />
Erfolgreiche erhält einen Punkt. Jetzt wird der Spielstand und<br />
die Anzahl der Ballwechsel bis zum Punktgewinn ausgegeben (s.<br />
u.). Der Vorgang wiederholt sich so lange, bis einer der beiden<br />
Spieler mindestens 11 Punkte auf dem Konto hat, dabei aber<br />
mindestens 2 Punkte Vorsprung. Dann wird der Endstand ausgegeben<br />
(s. u.).<br />
Natürlich hat der Spieler einen kleinen Vorteil, der Aufschlag<br />
hat, d.h. dessen Funktion zuerst aufgerufen wird, denn wenn er<br />
den Punkt macht, kommt der andere in diesem Durchgang (Schleifendurchlauf)<br />
nicht mehr zum Zug. Aus diesem Grund soll der<br />
Aufschlag wechseln: Die ersten 5 Aufschläge hat Ping, die<br />
nächsten 5 Pong. Danach wechselt der Aufschlag mit jedem Punkt.</p>
<p>so muss die ausgabe aussehen:<br />
3 Ballwechsel<br />
Spielstand:<br />
Ping = 1, Pong = 0</p>
<p>1 Ballwechsel<br />
Spielstand:<br />
Ping = 1, Pong = 1<br />
....</p>
<p>ich hab ja 2 funktionen denen übergebe ich den wert, in den beiden funktion wird der wert verglichen...bei übereinstimmung kommt 1 raus und ansonsten 0...soweit bin ich gekommen <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="🙂"
    /> ... meine ausgabe sieht so aus:<br />
Spielstand:<br />
Ping = 1, Pong = 0<br />
oder so<br />
Spielstand:<br />
Ping = 0, Pong = 1<br />
...das ganze muss glaub ich immer gespeichert werden z.b es steht 1:1 und im nächsten schritt bei übereinstimmen muss es ja 2:1 oder 1:2 stehen...<br />
kann mir jemand helfen?<br />
-----------------------------------<br />
guten rutsch wünsch ich euch allen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001095</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 18:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:00:26 GMT]]></title><description><![CDATA[<p>Da ich kaum glaube, dass dir jemand die ganze Aufgabe lösen wird mal ein kleiner Tipp:</p>
<p>Beginne einfach mal und versuche etwas zu machen. Bei konkreten Fragen, z.B.wie du Zufallszahlen erzeugen kannst, wird dir sicher schnell jemand antworten.</p>
<p>Und wenn du Probleme hast, dann vielleicht anhand deines Codes eine konkrete Frage stellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001098</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:00:26 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:01:51 GMT]]></title><description><![CDATA[<p>mit static void funktion() bleibt die Zahl bestehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001099</guid><dc:creator><![CDATA[Conflict]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:01:51 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:07:08 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>Da ich kaum glaube, dass dir jemand die ganze Aufgabe lösen wird mal ein kleiner Tipp:</p>
<p>Beginne einfach mal und versuche etwas zu machen. Bei konkreten Fragen, z.B.wie du Zufallszahlen erzeugen kannst, wird dir sicher schnell jemand antworten.</p>
<p>Und wenn du Probleme hast, dann vielleicht anhand deines Codes eine konkrete Frage stellen.</p>
</blockquote>
<p>das erwarte ich auch nicht, bringt mir auch nicht viel...ich muss das selber verstehen.</p>
<p>soweit bin ich:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;
#include &lt;iomanip&gt;
#include &lt;math.h&gt;
#include &lt;time.h&gt; // wegen time()

using namespace std;

int ping(int a)
{
	int c;

	c = rand()%10+1;  
	if(a==c)
		return 1;
	else return 0;

	return a;
}
int pong(int b)
{
	int d;
	d = rand()%10+1;  
	if(b==d)
		return 1;

	else return 0;

	return b;
}

int main(void)
{
  int i; 
  int ballwechsel=0;

  srand((unsigned)time(NULL));
  i = rand()%10+1;   

  ping(i); 
  pong(i);

  ballwechsel++; 

  cout&lt;&lt;ballwechsel&lt;&lt;&quot; Ballwechsel&quot;&lt;&lt;endl;
  cout&lt;&lt;&quot;Spielstand:&quot;&lt;&lt;endl;
  cout&lt;&lt;&quot;Ping=&quot;&lt;&lt;ping(i)&lt;&lt;&quot;, &quot;&lt;&lt;&quot;Pong=&quot;&lt;&lt;pong(i)&lt;&lt;endl;

  system(&quot;pause&quot;);

 return 0;
}
</code></pre>
<p>kann ich das so machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001103</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:26:52 GMT]]></title><description><![CDATA[<p>ping(int) und pong(int) sind exakt die gleichen Funktionen! Macht überhaupt keinen Sinn die zwei mal zu definieren.</p>
<p>Edit: Nagut, steht so in der Aufgabe, Sinn macht es dennoch keinen.</p>
<p>Edit2: Und so wie ich die Aufgabe verstehe, läuft der Ballwechsel so lange, bis einer der beiden einen Punkt macht (ping bzw pong == 1). Du brauchst also noch eine Whileschleife, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001106</guid><dc:creator><![CDATA[Panke]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:26:52 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:33:05 GMT]]></title><description><![CDATA[<p>Dan müssten doch eine oder zwei Schleifen rein. Eine Schleife die läuft, bis einer einen Ballwechsel beginnt. Und eine Schleife, die endet wenn das Spiel zu Ende ist. Diese Schleifen sollte man dann verschachteln. Im Moment rufst du ja nur insgesamt 2 mal ping(..) und 2 mal pong(..) auf. In der Schleife müsstest du dann auch die Zufallszahl abändern.</p>
<p>Ausserdem musst du den Rückgabewert in einer Variablen speichern und dann den gespeicherten Wert ausgeben. Sonst ergibt das aus meiner Sicht nicht wirklich viel Sinn.</p>
<p>*Edit<br />
Versuch da mal die Schleifen reinzupacken. Ich glaube eine while-Schleife würde hier ganz gut funktionieren. Wenn du das dann im Code hast kannst den Code nochmals posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001107</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:33:05 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:31:49 GMT]]></title><description><![CDATA[<p>Panke schrieb:</p>
<blockquote>
<p>ping(int) und pong(int) sind exakt die gleichen Funktionen! Macht überhaupt keinen Sinn die zwei mal zu definieren.</p>
<p>Edit: Nagut, steht so in der Aufgabe, Sinn macht es dennoch keinen.</p>
<p>Edit2: Und so wie ich die Aufgabe verstehe, läuft der Ballwechsel so lange, bis einer der beiden einen Punkt macht (ping bzw pong == 1). Du brauchst also noch eine Whileschleife, oder nicht?</p>
</blockquote>
<p>das mit dem ballwechsel wollte ich zum schluss machen...</p>
<p>&quot;Dann gibt die erfolgreiche Funktion (ping() oder pong()) eine 1 zurück.&quot;<br />
das hab ich ja in den funktionen ja eingebaut...nur wie erhöt sich denn der spielstand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001108</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:43:35 GMT]]></title><description><![CDATA[<p>Evolution am Werk <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>
<pre><code class="language-cpp">int ping(int a)
{
    int d;
    d = rand()%10+1;  
    if(a==d)
        return 1;

    else return 0;

    return a;
} 

int pong(int b)
{
    int d;
    d = rand()%10+1;  
    if(b==d)
        return 1;
    else return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    const int d = rand()%10+1;  

    if(b==d)    return 1;
    else        return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    if(rand()%10+1 == b)
        return 1;

    return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    return ( rand()%10+1 == b);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2001109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001109</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:35:20 GMT]]></title><description><![CDATA[<p>welive schrieb:</p>
<blockquote>
<p>Panke schrieb:</p>
<blockquote>
<p>ping(int) und pong(int) sind exakt die gleichen Funktionen! Macht überhaupt keinen Sinn die zwei mal zu definieren.</p>
<p>Edit: Nagut, steht so in der Aufgabe, Sinn macht es dennoch keinen.</p>
<p>Edit2: Und so wie ich die Aufgabe verstehe, läuft der Ballwechsel so lange, bis einer der beiden einen Punkt macht (ping bzw pong == 1). Du brauchst also noch eine Whileschleife, oder nicht?</p>
</blockquote>
<p>das mit dem ballwechsel wollte ich zum schluss machen...</p>
<p>&quot;Dann gibt die erfolgreiche Funktion (ping() oder pong()) eine 1 zurück.&quot;<br />
das hab ich ja in den funktionen ja eingebaut...nur wie erhöt sich denn der spielstand?</p>
</blockquote>
<p>Kannst ja oben noch meinen Post durchlesen.</p>
<p>Wie du den Spielstand erhöhen kannst:<br />
Mache zwei Variablen int ping_wins, pong_wins. Wenn ping gewinnt machst du ping_wins++ und wenn pong gewinnt pong_wins++. (Falls du nicht weisst was das ++ bedeutet, google mal nach Post- und Pre-Inkrement).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001110</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:42:45 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>welive schrieb:</p>
<blockquote>
<p>Panke schrieb:</p>
<blockquote>
<p>ping(int) und pong(int) sind exakt die gleichen Funktionen! Macht überhaupt keinen Sinn die zwei mal zu definieren.</p>
<p>Edit: Nagut, steht so in der Aufgabe, Sinn macht es dennoch keinen.</p>
<p>Edit2: Und so wie ich die Aufgabe verstehe, läuft der Ballwechsel so lange, bis einer der beiden einen Punkt macht (ping bzw pong == 1). Du brauchst also noch eine Whileschleife, oder nicht?</p>
</blockquote>
<p>das mit dem ballwechsel wollte ich zum schluss machen...</p>
<p>&quot;Dann gibt die erfolgreiche Funktion (ping() oder pong()) eine 1 zurück.&quot;<br />
das hab ich ja in den funktionen ja eingebaut...nur wie erhöt sich denn der spielstand?</p>
</blockquote>
<p>Kannst ja oben noch meinen Post durchlesen.</p>
<p>Wie du den Spielstand erhöhen kannst:<br />
Mache zwei Variablen int ping_wins, pong_wins. Wenn ping gewinnt machst du ping_wins++ und wenn pong gewinnt pong_wins++. (Falls du nicht weisst was das ++ bedeutet, google mal nach Post- und Pre-Inkrement).</p>
</blockquote>
<p>++ bedeutet um eins erhöhen oder?</p>
<p>meinst du so</p>
<pre><code class="language-cpp">if(ping_wins&lt;pong_wins){
      pong_wins++;
}
else if(ping_wins&gt;pong_wins){
     ping_wins++;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2001112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001112</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:42:45 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:48:07 GMT]]></title><description><![CDATA[<p>welive schrieb:</p>
<blockquote>
<p>++ bedeutet um eins erhöhen oder?</p>
<p>meinst du so</p>
<pre><code class="language-cpp">if(ping_wins&lt;pong_wins){
      pong_wins++;
}
else if(ping_wins&gt;pong_wins){
     ping_wins++;
}
</code></pre>
</blockquote>
<p>Genau. Du musst aber aufpassen. ++a und a++ ist nicht das selbe oder zumindest nicht immer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001113</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:50:49 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Evolution am Werk <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>
<pre><code class="language-cpp">int ping(int a)
{
    int d;
    d = rand()%10+1;  
    if(a==d)
        return 1;

    else return 0;

    return a;
} 

int pong(int b)
{
    int d;
    d = rand()%10+1;  
    if(b==d)
        return 1;
    else return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    const int d = rand()%10+1;  

    if(b==d)    return 1;
    else        return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    if(rand()%10+1 == b)
        return 1;

    return 0;
}
</code></pre>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
} 

int pong(int b)
{
    return ( rand()%10+1 == b);
}
</code></pre>
</blockquote>
<p>....ist es nicht genau das was ich gemacht hab?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001114</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:50:49 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:52:25 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>welive schrieb:</p>
<blockquote>
<p>++ bedeutet um eins erhöhen oder?</p>
<p>meinst du so</p>
<pre><code class="language-cpp">if(ping_wins&lt;pong_wins){
      pong_wins++;
}
else if(ping_wins&gt;pong_wins){
     ping_wins++;
}
</code></pre>
</blockquote>
<p>Genau. Du musst aber aufpassen. ++a und a++ ist nicht das selbe oder zumindest nicht immer.</p>
</blockquote>
<p>das forum ist echt top und die leute auch <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2001115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001115</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:00:07 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>welive schrieb:</p>
<blockquote>
<p>++ bedeutet um eins erhöhen oder?</p>
<p>meinst du so</p>
<pre><code class="language-cpp">if(ping_wins&lt;pong_wins){
      pong_wins++;
}
else if(ping_wins&gt;pong_wins){
     ping_wins++;
}
</code></pre>
</blockquote>
<p>Genau. Du musst aber aufpassen. ++a und a++ ist nicht das selbe oder zumindest nicht immer.</p>
</blockquote>
<p>Öhm - nein eben nicht genau <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 />
Was soll das für einen Sinn ergeben?<br />
Gemeint ist wohl:</p>
<pre><code class="language-cpp">int ping_wins = 0, pong_wins = 0;
//...
while (....) {
    int randomnr = rand()%10+1;
    if (ping(randomnr)) {
        ++ping_wins;
        continue;
    }
    if (pong(randomnr))
        ++pong_wins;
//...
}
</code></pre>
<p>P.S.: hier hat immer ping Aufschlag - muss also noch geändert werden, aber ich will ja noch nicht alles verraten, sonst schimpft Otze wieder <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2001116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001116</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:00:07 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 19:59:03 GMT]]></title><description><![CDATA[<p>inter2k3 hat Recht. Ich hatte deinen Post falsch gelesen und nur auf die ++ geachtet und den Rest nicht angeschaut ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001118</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Sat, 01 Jan 2011 19:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:12:11 GMT]]></title><description><![CDATA[<p>Coden ist ja nett, aber am Anfang kommt eigentlich ein Pseudoablauf, zB so:</p>
<pre><code>Start: 
runde: 0 (wegen aufschlagwechsel)
win_PING: 0 
win_PONG: 0

aufschlag_ping = WAHR

Solange  ( ((win_PING &lt; 11) UND (win_PONG &lt;&lt; 11))   ODER   (ABSOLUT(win_PING-win_PONG) &lt; 2)   )
{
   ziehe &quot;zahl&quot;
   ping_gewinnt = pong_gewinnt = FALSCH
   ballwechsel = 0

   Solange weder ping_gewinnt noch pong_gewinnt RICHTIG
   {
      incrementiere ballwechsel

      wenn aufschlag_ping
      {
         ping_gewinnt = ping(&quot;zahl&quot;);
         wenn nicht ping_gewinnt
         {
             pong_gewinnt = pong(&quot;zahl&quot;);
         }
      }
      sonst
      {
         // dasselbe nur umgekehrt :P
      }
   }

   win_PING += ping_gewinnt; // booleans sind 0 oder 1 ... 1 wenn wahr 0 wenn falsch
   win_PONG += pong_gewinnt;

   Ausgabe: Anzahl Ballwechsel, Punkt PING, Punkte PONG
   incrementiere runde

   wenn runde &gt;= 5 und runde &lt; 10 aufschlag_ping = FALSCH  // pong ist dran
   sonst aufschlag_ping = nicht aufschlag_ping             // wechsel den status da punktweise gewechselt wird   
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2001123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001123</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:11:30 GMT]]></title><description><![CDATA[<p>ich danke euch! ich muss das jetzt erst mal alles nachvollziehen und verstehen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2001124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001124</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:11:30 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:16:27 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Coden ist ja nett, aber am Anfang kommt eigentlich ein Pseudoablauf, zB so:</p>
<pre><code>Start: 
runde: 0 (wegen aufschlagwechsel)
win_PING: 0 
win_PONG: 0

aufschlag_ping = WAHR

Solange  ( ((win_PING &lt; 11) UND (win_PONG &lt;&lt; 11))   ODER   (ABSOLUT(win_PING-win_PONG) &lt; 2)   )
{
   ziehe &quot;zahl&quot;
   ping_gewinnt = pong_gewinnt = FALSCH
   ballwechsel = 0

   Solange weder ping_gewinnt noch pong_gewinnt RICHTIG
   {
      incrementiere ballwechsel

      wenn aufschlag_ping
      {
         ping_gewinnt = ping(&quot;zahl&quot;);
         wenn nicht ping_gewinnt
         {
             pong_gewinnt = pong(&quot;zahl&quot;);
         }
      }
      sonst
      {
         // dasselbe nur umgekehrt :P
      }
   }

   win_PING += ping_gewinnt; // booleans sind 0 oder 1 ... 1 wenn wahr 0 wenn falsch
   win_PONG += pong_gewinnt;

   Ausgabe: Anzahl Ballwechsel, Punkt PING, Punkte PONG
   incrementiere runde

   wenn runde &gt;= 5 und runde &lt; 10 aufschlag_ping = FALSCH  // pong ist dran
   sonst aufschlag_ping = nicht aufschlag_ping             // wechsel den status da punktweise gewechselt wird   
}
</code></pre>
</blockquote>
<p><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="🙂"
    /> danke das hilf echt weiter TOP:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001125</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:23:01 GMT]]></title><description><![CDATA[<p>welive schrieb:</p>
<blockquote>
<p>padreigh schrieb:</p>
<blockquote>
<p>Evolution am Werk :)[snipp]</p>
</blockquote>
<p>....ist es nicht genau das was ich gemacht hab?</p>
</blockquote>
<p>Im Prinzip schon. Nur brauchst du dafür 20 Zeilen Quelltext, einige Zwischenspeicher-Integers und hast den doppelten und ansonsten identischen Code mit einer(zwei) nie erreichbaren <code>return</code> Anweisung. Wenn du in meiner letzten Version die Zufallszahl von 1/10 auf 1/100 ändern möchtest brauchst du eine Zeile ändern:</p>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
}

int pong(int b)
{
    // return ( rand()%10+1 == b);
    return ( rand()%100+1 == b);
}
</code></pre>
<p>Wenn du das selbe bei dir ändern willst sind es wesentlich mehr Zeilen, daher ist mein Code wartbarer <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="😉"
    /> nicht das es darauf ankommt - ist eher was für die B-Note.</p>
<p>Ebenfalls für die B-Note wäre eine Kapselung der Zufallszahlbestimmung:</p>
<pre><code class="language-cpp">inline int myRand() { return rand()%10+1; }
</code></pre>
<p>dann benutzt du das überall wo du sonst <code>rand()%10+1;</code> stehen hast - wenn du das Spiel dann einheitlich auf MersenneTwister umstellen willst um es fairer zu machen geht das wieder wartbarer als bei dir, du änderst einfach den <code>{ /* ... */ }</code> Teil der <code>myRand()</code> Methode</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001126</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:23:01 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Sat, 01 Jan 2011 20:20:41 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>welive schrieb:</p>
<blockquote>
<p>padreigh schrieb:</p>
<blockquote>
<p>Evolution am Werk :)[snipp]</p>
</blockquote>
<p>....ist es nicht genau das was ich gemacht hab?</p>
</blockquote>
<p>Im Prinzip schon. Nur brauchst du dafür 20 Zeilen Quelltext, einige Zwischenspeicher-Integers und hast den doppelten und ansonsten identischen Code mit einer(zwei) nie erreichbaren <code>return</code> Anweisung. Wenn du in meiner letzten Version die Zufallszahl von 1/10 auf 1/100 ändern möchtest brauchst du eine Zeile ändern:</p>
<pre><code class="language-cpp">int ping(int a)
{
    return pong(a);
}

int pong(int b)
{
    // return ( rand()%10+1 == b);
    return ( rand()%100+1 == b);
}
</code></pre>
<p>Wenn du das selbe bei dir ändern willst sind es wesentlich mehr Zeilen, daher ist mein Code wartbarer <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="😉"
    /> nicht das es darauf ankommt - ist eher was für die B-Note.</p>
</blockquote>
<p>ja hast recht <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="🙂"
    /> hehe sieht übersichtlicher aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001129</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Sat, 01 Jan 2011 20:20:41 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Mon, 03 Jan 2011 16:25:20 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Coden ist ja nett, aber am Anfang kommt eigentlich ein Pseudoablauf, zB so:</p>
<pre><code>Start: 
runde: 0 (wegen aufschlagwechsel)
win_PING: 0 
win_PONG: 0

aufschlag_ping = WAHR

Solange  ( ((win_PING &lt; 11) UND (win_PONG &lt;&lt; 11))   ODER   (ABSOLUT(win_PING-win_PONG) &lt; 2)   )
{
   ziehe &quot;zahl&quot;
   ping_gewinnt = pong_gewinnt = FALSCH
   ballwechsel = 0

   Solange weder ping_gewinnt noch pong_gewinnt RICHTIG
   {
      incrementiere ballwechsel

      wenn aufschlag_ping
      {
         ping_gewinnt = ping(&quot;zahl&quot;);
         wenn nicht ping_gewinnt
         {
             pong_gewinnt = pong(&quot;zahl&quot;);
         }
      }
      sonst
      {
         // dasselbe nur umgekehrt :P
      }
   }

   win_PING += ping_gewinnt; // booleans sind 0 oder 1 ... 1 wenn wahr 0 wenn falsch
   win_PONG += pong_gewinnt;

   Ausgabe: Anzahl Ballwechsel, Punkt PING, Punkte PONG
   incrementiere runde

   wenn runde &gt;= 5 und runde &lt; 10 aufschlag_ping = FALSCH  // pong ist dran
   sonst aufschlag_ping = nicht aufschlag_ping             // wechsel den status da punktweise gewechselt wird   
}
</code></pre>
</blockquote>
<p>Solange weder ping_gewinnt noch pong_gewinnt RICHTIG<br />
müsste so aussehen?</p>
<pre><code class="language-cpp">while(ping_gewinnt==true &amp;&amp; pong_gewinnt==true){
//....
}
</code></pre>
<p>beide müssen eigentlisch auf FALSCH gesetzt werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001854</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Mon, 03 Jan 2011 16:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Mon, 03 Jan 2011 16:39:55 GMT]]></title><description><![CDATA[<p>welive schrieb:</p>
<blockquote>
<p>Solange weder ping_gewinnt noch pong_gewinnt RICHTIG<br />
müsste so aussehen?</p>
<pre><code class="language-cpp">while(ping_gewinnt==true &amp;&amp; pong_gewinnt==true){
//....
}
</code></pre>
<p>beide müssen eigentlisch auf FALSCH gesetzt werden?</p>
</blockquote>
<p>In Worten ausgedrückt:<br />
Solange weder ping noch pong gewonnen hat ... mach irgendwas.</p>
<p>entspricht dann als Code:</p>
<pre><code class="language-cpp">bool ping_gewinnt = false, pong_gewinnt = false;
//...
while (!ping_gewinnt &amp;&amp; !pong_gewinnt) {
    // irgendwas machen
}
</code></pre>
<p>Sobald einer gewonnen hat, hat die entsprechende Variable (ping_gewinnt oder pong_gewinnt) den Wert true.<br />
Aus !ping_gewinnt bzw. !pong_gewinnt wird dann also false.<br />
Da du eine Verknüpfung mit logischem UND (&amp;&amp;) hast, wird dann aus dem Gesamtausdruck ebenfalls false - da dieser nur wahr ist, wenn beide Teilausdrücke wahr sind.<br />
Wenn der Gesamtausdruck false ist - dann wird die Schleife nicht weiter durchlaufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001865</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Mon, 03 Jan 2011 16:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Mon, 03 Jan 2011 16:40:15 GMT]]></title><description><![CDATA[<p>inter2k3 schrieb:</p>
<blockquote>
<p>welive schrieb:</p>
<blockquote>
<p>Solange weder ping_gewinnt noch pong_gewinnt RICHTIG<br />
müsste so aussehen?</p>
<pre><code class="language-cpp">while(ping_gewinnt==true &amp;&amp; pong_gewinnt==true){
//....
}
</code></pre>
<p>beide müssen eigentlisch auf FALSCH gesetzt werden?</p>
</blockquote>
<p>In Worten ausgedrückt:<br />
Solange weder ping noch pong gewonnen hat ... mach irgendwas.</p>
<p>entspricht dann als Code:</p>
<pre><code class="language-cpp">bool ping_gewinnt = false, pong_gewinnt = false;
//...
while (!ping_gewinnt &amp;&amp; !pong_gewinnt) {
    // irgendwas machen
}
</code></pre>
<p>Sobald einer gewonnen hat, hat die entsprechende Variable (ping_gewinnt oder pong_gewinnt) den Wert true.<br />
Aus !ping_gewinnt bzw. !pong_gewinnt wird dann also false.<br />
Da du eine Verknüpfung mit logischem UND (&amp;&amp;) hast, wird dann aus dem Gesamtausdruck ebenfalls false - da dieser nur wahr ist, wenn beide Teilausdrücke wahr sind.<br />
Wenn der Gesamtausdruck false ist - dann wird die Schleife nicht weiter durchlaufen.</p>
</blockquote>
<p>danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2001872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001872</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Mon, 03 Jan 2011 16:40:15 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Mon, 03 Jan 2011 17:59:40 GMT]]></title><description><![CDATA[<p>vielen danke für eure hilfe!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001883</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Mon, 03 Jan 2011 17:59:40 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Mon, 03 Jan 2011 17:43:11 GMT]]></title><description><![CDATA[<p>Ich habe jetzt keine Zeit umd as ganze zu testen aber trotzdem ein Tipp:<br />
Achte darauf, dass du eine gute Einrückung im Code hast. Es ist sehr schwierig deinen Code zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2001901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2001901</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Mon, 03 Jan 2011 17:43:11 GMT</pubDate></item><item><title><![CDATA[Reply to Anfänger brauucht hilfe! on Tue, 04 Jan 2011 18:54:07 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Coden ist ja nett, aber am Anfang kommt eigentlich ein Pseudoablauf, zB so:</p>
<pre><code>Start: 
runde: 0 (wegen aufschlagwechsel)
win_PING: 0 
win_PONG: 0

aufschlag_ping = WAHR

Solange  ( ((win_PING &lt; 11) UND (win_PONG &lt;&lt; 11))   ODER   (ABSOLUT(win_PING-win_PONG) &lt; 2)   )
{
   ziehe &quot;zahl&quot;
   ping_gewinnt = pong_gewinnt = FALSCH
   ballwechsel = 0

   Solange weder ping_gewinnt noch pong_gewinnt RICHTIG
   {
      incrementiere ballwechsel

      wenn aufschlag_ping
      {
         ping_gewinnt = ping(&quot;zahl&quot;);
         wenn nicht ping_gewinnt
         {
             pong_gewinnt = pong(&quot;zahl&quot;);
         }
      }
      sonst
      {
         // dasselbe nur umgekehrt :P
      }
   }

   win_PING += ping_gewinnt; // booleans sind 0 oder 1 ... 1 wenn wahr 0 wenn falsch
   win_PONG += pong_gewinnt;

   Ausgabe: Anzahl Ballwechsel, Punkt PING, Punkte PONG
   incrementiere runde

   wenn runde &gt;= 5 und runde &lt; 10 aufschlag_ping = FALSCH  // pong ist dran
   sonst aufschlag_ping = nicht aufschlag_ping             // wechsel den status da punktweise gewechselt wird   
}
</code></pre>
</blockquote>
<p>wie kann ich hier den Endstand einbauen???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002401</guid><dc:creator><![CDATA[welive]]></dc:creator><pubDate>Tue, 04 Jan 2011 18:54:07 GMT</pubDate></item></channel></rss>