<?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[Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++]]></title><description><![CDATA[<p>(Der erste Teil ist nicht so wichtig, wer es eilig hat kann ihn auch überspringen.)<br />
Ich besuche zurzeit die neunte (nach den Ferien zehnte) Klasse eines Gymnasiums und habe in diesem Jahr großen gefallen am Programmieren gefunden.<br />
Nach dem Vergleichen mehrerer Sprachen habe ich mich dazu entschieden, direkt mit C++ anzufangen, was mir auch mein Lehrer empfohlen hat, da ich somit gleich eine Sprache lerne, die sehr häufig eingesetzt wird und die mir somit auch viel für meinen späteren Job nützen kann.<br />
Leider habe ich allerdings nicht genug Geld, mir ein vernünftiges Buch zu C++ zu kaufen, und die Tutorials, die ich online gefunden habe, taugen größtenteils nicht wirklich was. <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 />
Somit blieb mir nichts anderes übrig, als mein komplettes wissen aus Quellcodes von fertigen Programmen abzuleiten. Inzwischen kann ich nun auch schon einfache Programme wie einen Taschenrechner oder ein &quot;Schere, Stein, Papier&quot;-Programm programmieren.</p>
<p>Als nächstes Projekt habe ich mir überlegt, ein 4 gewinnt Spiel zu programmieren (ja, ich weiß, nicht allzu optimal für die Konsole, ich möchte es aber trotzdem machen :D).<br />
Die Regeln sind wie beim Original, die Spieler müssen also versuchen, vier ihrer Spielsteine horizontal, vertikal oder diagonal nebeneinander zu bekommen.<br />
Da es in der Konsole ja nunmal keine Grafiken gibt, besteht das Spielfeld in meiner Version standartmäßig aus Nullen, genauer gesagt aus 42 Stück (6*7 Felder).<br />
Das ganze soll letztendlich so funktionieren, dass die Spieler abwechselnd eine Zahl eingeben, die für den jeweiligen Einschub steht.<br />
Die Null an der Position, zu der der Stein fallen würde, wird daraufhin durch die jeweilige Spielerzahl ersetzt. Nicht schön, aber besser kriegt man es mit der Konsole denke ich mal nicht hin.<br />
Nun habe ich mir auch bereits überlegt, wie ich das ganze Umsetzen könnte und angefangen, das Programm zu schreiben (Stellen, wo etwas fehlt oder unschön ist usw. sind per Kommentar gekennzeichnet):</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;

using namespace std;

// Hauptprogramm
int main(int argc, char *argv[])
{

	// Variablen
	int felderFrei = 42;
	int setzen = 0;

	// Variablen für die Felder (reduzierbar?)
	int a1 = 0;
	int a2 = 0;
	int a3 = 0;
	int a4 = 0;
	int a5 = 0;
	int a6 = 0;
	int a7 = 0;
	int b1 = 0;
	int b2 = 0;
	int b3 = 0;
	int b4 = 0;
	int b5 = 0;
	int b6 = 0;
	int b7 = 0;
	int c1 = 0;
	int c2 = 0;
	int c3 = 0;
	int c4 = 0;
	int c5 = 0;
	int c6 = 0;
	int c7 = 0;
	int d1 = 0;
	int d2 = 0;
	int d3 = 0;
	int d4 = 0;
	int d5 = 0;
	int d6 = 0;
	int d7 = 0;
	int e1 = 0;
	int e2 = 0;
	int e3 = 0;
	int e4 = 0;
	int e5 = 0;
	int e6 = 0;
	int e7 = 0;
	int f1 = 0;
	int f2 = 0;
	int f3 = 0;
	int f4 = 0;
	int f5 = 0;
	int f6 = 0;
	int f7 = 0;

	// Hauptmenü (noch nicht vollständig, tut ja aber auch nicht zur Sache)
	cout &lt;&lt; &quot;Willkomen bei 4 gewinnt! \n&quot; &lt;&lt; endl;

	// Hauptspiel
	while (felderFrei &gt; 0 &amp;&amp; /* keineVierSteineNebeneinander */)
	{
		cout &lt;&lt; &quot;1234567\n\n0000000\n0000000\n0000000\n0000000\n0000000\n0000000\n&quot; &lt;&lt; endl; // Nullen müssen durch die oben angelegten Variablen ersetzt werden, habe ich nur noch nicht gemacht

		cout &lt;&lt; &quot;Wähle einen einschub, indem du seine Zahl eingibst!\n&quot; &lt;&lt; endl;
		cin &gt;&gt; setzen;

		// hier muss der Code hin, der überprüft, auf welchem Feld der Stein landet und nachprüft, ob sich bereits vier Steine eines Spielers nebeneinander befinden.

		felderFrei--;
	}

	// Sieger ausgeben
	if (/* keineVierSteineNebeneinander */)
	{
		cout &lt;&lt; &quot;Das Ergebnis ist unentschieden! \a \n&quot; &lt;&lt; endl;
	}

	cout &lt;&lt; &quot;Spieler&quot;  &lt;&lt;  /* hier kommt die Variable hin, die die Nummer des Siegers enthält */ &lt;&lt; &quot;ist der Sieger! \a \n&quot; &lt;&lt; endl;

	// Programm pausieren und nach Tastendruck beenden
	system(&quot;PAUSE&quot;);
	return 0;
}
</code></pre>
<p>Letztendlich ist mein Problem nicht, dass ich das Programm nicht zu Ende schreiben könnte, in meiner Version würde es nur seeeeeeeehr lang werden, was natürlich nicht allzu optimal ist. Wie man an meinen Kommentaren bereits erahnen kann, sind meine Hauptprobleme nun also folgende:<br />
1. ist es irgendwie möglich, das anlegen der ganzen Variablen komplett zu umgehen oder zumindest irgendwie zusammenzufassen? (notfalls nicht so wichtig)<br />
2. ist es möglich, die Position, zu der der Stein fällt, anders herauszufinden, als mit Verschachtelungen von if-Abfragen von oben nach unten zu überprüfen, ob auf dem Feld jeweils bereits ein Stein ist, und das für jede Reihe?<br />
3. wie ist es am geschicktesten möglich, herauszufinden, ob bereits vier Steine nebeneinander sind? Mir fällt erneut nichts weiter ein, als das Verschachteln von if-Anweisungen, nur, dass der Code hier noch länger wäre, als bei Problem zwei, weil man hier ja auch wertikal und diagonal überprüfen muss, welche Zahl sich dort befindet... <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>Schonmal entschuldigung, dass mein Text so ewig lang ist, aber bevor ich zu wenig Infos gebe, mache ich es lieber so.<br />
Wahrscheinlich sind meine Fragen für euch Experten unglaublich dumm, ich wäre aber trotzdem für jede Hilfe dankbar! <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/topic/290229/brauche-hilfe-bei-konsolen-quot-4-gewinnt-quot-spiel-in-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 16:04:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290229.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Jul 2011 17:54:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 17:54:12 GMT]]></title><description><![CDATA[<p>(Der erste Teil ist nicht so wichtig, wer es eilig hat kann ihn auch überspringen.)<br />
Ich besuche zurzeit die neunte (nach den Ferien zehnte) Klasse eines Gymnasiums und habe in diesem Jahr großen gefallen am Programmieren gefunden.<br />
Nach dem Vergleichen mehrerer Sprachen habe ich mich dazu entschieden, direkt mit C++ anzufangen, was mir auch mein Lehrer empfohlen hat, da ich somit gleich eine Sprache lerne, die sehr häufig eingesetzt wird und die mir somit auch viel für meinen späteren Job nützen kann.<br />
Leider habe ich allerdings nicht genug Geld, mir ein vernünftiges Buch zu C++ zu kaufen, und die Tutorials, die ich online gefunden habe, taugen größtenteils nicht wirklich was. <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 />
Somit blieb mir nichts anderes übrig, als mein komplettes wissen aus Quellcodes von fertigen Programmen abzuleiten. Inzwischen kann ich nun auch schon einfache Programme wie einen Taschenrechner oder ein &quot;Schere, Stein, Papier&quot;-Programm programmieren.</p>
<p>Als nächstes Projekt habe ich mir überlegt, ein 4 gewinnt Spiel zu programmieren (ja, ich weiß, nicht allzu optimal für die Konsole, ich möchte es aber trotzdem machen :D).<br />
Die Regeln sind wie beim Original, die Spieler müssen also versuchen, vier ihrer Spielsteine horizontal, vertikal oder diagonal nebeneinander zu bekommen.<br />
Da es in der Konsole ja nunmal keine Grafiken gibt, besteht das Spielfeld in meiner Version standartmäßig aus Nullen, genauer gesagt aus 42 Stück (6*7 Felder).<br />
Das ganze soll letztendlich so funktionieren, dass die Spieler abwechselnd eine Zahl eingeben, die für den jeweiligen Einschub steht.<br />
Die Null an der Position, zu der der Stein fallen würde, wird daraufhin durch die jeweilige Spielerzahl ersetzt. Nicht schön, aber besser kriegt man es mit der Konsole denke ich mal nicht hin.<br />
Nun habe ich mir auch bereits überlegt, wie ich das ganze Umsetzen könnte und angefangen, das Programm zu schreiben (Stellen, wo etwas fehlt oder unschön ist usw. sind per Kommentar gekennzeichnet):</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;

using namespace std;

// Hauptprogramm
int main(int argc, char *argv[])
{

	// Variablen
	int felderFrei = 42;
	int setzen = 0;

	// Variablen für die Felder (reduzierbar?)
	int a1 = 0;
	int a2 = 0;
	int a3 = 0;
	int a4 = 0;
	int a5 = 0;
	int a6 = 0;
	int a7 = 0;
	int b1 = 0;
	int b2 = 0;
	int b3 = 0;
	int b4 = 0;
	int b5 = 0;
	int b6 = 0;
	int b7 = 0;
	int c1 = 0;
	int c2 = 0;
	int c3 = 0;
	int c4 = 0;
	int c5 = 0;
	int c6 = 0;
	int c7 = 0;
	int d1 = 0;
	int d2 = 0;
	int d3 = 0;
	int d4 = 0;
	int d5 = 0;
	int d6 = 0;
	int d7 = 0;
	int e1 = 0;
	int e2 = 0;
	int e3 = 0;
	int e4 = 0;
	int e5 = 0;
	int e6 = 0;
	int e7 = 0;
	int f1 = 0;
	int f2 = 0;
	int f3 = 0;
	int f4 = 0;
	int f5 = 0;
	int f6 = 0;
	int f7 = 0;

	// Hauptmenü (noch nicht vollständig, tut ja aber auch nicht zur Sache)
	cout &lt;&lt; &quot;Willkomen bei 4 gewinnt! \n&quot; &lt;&lt; endl;

	// Hauptspiel
	while (felderFrei &gt; 0 &amp;&amp; /* keineVierSteineNebeneinander */)
	{
		cout &lt;&lt; &quot;1234567\n\n0000000\n0000000\n0000000\n0000000\n0000000\n0000000\n&quot; &lt;&lt; endl; // Nullen müssen durch die oben angelegten Variablen ersetzt werden, habe ich nur noch nicht gemacht

		cout &lt;&lt; &quot;Wähle einen einschub, indem du seine Zahl eingibst!\n&quot; &lt;&lt; endl;
		cin &gt;&gt; setzen;

		// hier muss der Code hin, der überprüft, auf welchem Feld der Stein landet und nachprüft, ob sich bereits vier Steine eines Spielers nebeneinander befinden.

		felderFrei--;
	}

	// Sieger ausgeben
	if (/* keineVierSteineNebeneinander */)
	{
		cout &lt;&lt; &quot;Das Ergebnis ist unentschieden! \a \n&quot; &lt;&lt; endl;
	}

	cout &lt;&lt; &quot;Spieler&quot;  &lt;&lt;  /* hier kommt die Variable hin, die die Nummer des Siegers enthält */ &lt;&lt; &quot;ist der Sieger! \a \n&quot; &lt;&lt; endl;

	// Programm pausieren und nach Tastendruck beenden
	system(&quot;PAUSE&quot;);
	return 0;
}
</code></pre>
<p>Letztendlich ist mein Problem nicht, dass ich das Programm nicht zu Ende schreiben könnte, in meiner Version würde es nur seeeeeeeehr lang werden, was natürlich nicht allzu optimal ist. Wie man an meinen Kommentaren bereits erahnen kann, sind meine Hauptprobleme nun also folgende:<br />
1. ist es irgendwie möglich, das anlegen der ganzen Variablen komplett zu umgehen oder zumindest irgendwie zusammenzufassen? (notfalls nicht so wichtig)<br />
2. ist es möglich, die Position, zu der der Stein fällt, anders herauszufinden, als mit Verschachtelungen von if-Abfragen von oben nach unten zu überprüfen, ob auf dem Feld jeweils bereits ein Stein ist, und das für jede Reihe?<br />
3. wie ist es am geschicktesten möglich, herauszufinden, ob bereits vier Steine nebeneinander sind? Mir fällt erneut nichts weiter ein, als das Verschachteln von if-Anweisungen, nur, dass der Code hier noch länger wäre, als bei Problem zwei, weil man hier ja auch wertikal und diagonal überprüfen muss, welche Zahl sich dort befindet... <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>Schonmal entschuldigung, dass mein Text so ewig lang ist, aber bevor ich zu wenig Infos gebe, mache ich es lieber so.<br />
Wahrscheinlich sind meine Fragen für euch Experten unglaublich dumm, ich wäre aber trotzdem für jede Hilfe dankbar! <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/2096190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096190</guid><dc:creator><![CDATA[Markey]]></dc:creator><pubDate>Thu, 21 Jul 2011 17:54:12 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:06:41 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Schau die mal an, was ein std::vector ist. Oder alternativ ein Array. Und dann staune!</p>
<p>edit: Außerdem könnte 4 gewinnt für deinen Kenntnisstand (auch mit std::vector) eventuell etwas zu schwierig sein. Vielleicht solltest du noch ein bisschen mit noch einfacheren Programmen deine Kenntnisse festigen und in 1-2 Monaten zu 4 gewinnt zurückkehren. Es gibt bei dem Spiel so einige Sachen die zuerst ganz einfach aussehen, aber über die man als Anfänger ohne jede Erfahrung dann stolpert, was letztlich bloß zu Frust führt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096192</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:07:00 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Das mit dem Buch wäre aber schon wichtig. Sowas müssen Deine Eltern doch zahlen. Sag ihnen, daß ich empfehle, daß Du ein gutes C++-Buch bekommst.<br />
<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>Ich würde hier keinen vector nehmen, sondern ein zweidimensionales Array. Wenn vorhanden auch array&lt;array&lt;..., aber keinen Vector. Das wäre einfach das falsche Mittel, so wie woanders endl, gell?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096193</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:07:00 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:22:27 GMT]]></title><description><![CDATA[<p>Ich hab gerade hier 4g-Code liegen. Ist zwar unmodern, von 2001, aber macht's schon mit Array und beantwortet Frage 3 recht hübsch. <a href="http://www.megaupload.com/?d=KT8VA6PC" rel="nofollow">http://www.megaupload.com/?d=KT8VA6PC</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096195</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:22:27 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:27:46 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Das wäre einfach das falsche Mittel, so wie woanders endl, gell?</p>
</blockquote>
<p>Agreed <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096198</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:27:46 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:39:09 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Ich würde hier keinen vector nehmen, sondern ein zweidimensionales Array. Wenn vorhanden auch array&lt;array&lt;..., aber keinen Vector. Das wäre einfach das falsche Mittel, so wie woanders endl, gell?</p>
</blockquote>
<p>Ich denke schon an das verschärfte 4 gewinnt mit dynamischer Spielfeldgröße <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/2096201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096201</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:43:56 GMT]]></title><description><![CDATA[<p>So, erstmal danke für die Antworten. Werde mir den Code mal angucken und mich im Internet über die noch nicht bekannten Elemente darin informieren.<br />
Wegen dem Buch habe ich auch nochmal bei meiner Mutter nachgefragt, die erstmal schockiert war, dass so ein Buch mehr als 10€ kostet. <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 />
Nach einem bisschen diskuttieren hat sie sich dann aber doch bereit erklärt, mir eins zu kaufen, woraufhin ich natürlich direkt die Bestellung bei Amazon abgeschickt habe, bevor sie es sich nochmal anders überlegt. <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/2096203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096203</guid><dc:creator><![CDATA[Markey]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:46:18 GMT]]></title><description><![CDATA[<p>Hoffentlich hat der Autor nicht die Initialen J.W.?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096204</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:46:18 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:52:45 GMT]]></title><description><![CDATA[<p>Du könntest auch ersteinmal in der Bibliothek deines Vertrauens schauen. Falls du in der Nähe einer Uni wohnst, wäre dies die erste Anlaufstelle.</p>
<p>Tipp: Eventuell siehst du etwas zu jung aus, am besten das linke Bein leicht nachziehen <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/2096206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096206</guid><dc:creator><![CDATA[yahendrik]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:52:45 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 18:50:56 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Hoffentlich hat der Autor nicht die Initialen J.W.?</p>
</blockquote>
<p>Nein, hat er nicht. <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/2096208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096208</guid><dc:creator><![CDATA[Markey]]></dc:creator><pubDate>Thu, 21 Jul 2011 18:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Thu, 21 Jul 2011 19:16:07 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich denke schon an das verschärfte 4 gewinnt mit dynamischer Spielfeldgröße <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>Geheimagentenlaserhindernisviergewinnt. <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 />
<a href="http://www.youtube.com/watch?v=lnz_YueCt5U" rel="nofollow">http://www.youtube.com/watch?v=lnz_YueCt5U</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096216</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 21 Jul 2011 19:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Konsolen &amp;quot;4 gewinnt&amp;quot;-Spiel in C++ on Fri, 22 Jul 2011 14:41:20 GMT]]></title><description><![CDATA[<p>Zum Experten wirst du schon noch, wenn du dran bleibst. Wir haben alle mal ähnlich angefangen und es kann absolut nicht schaden, früh mit sowas zu beginnen. Umso leichter wird es dir später fallen.</p>
<ol>
<li>2D-Array, wurde ja schon genannt. Als Typ schlage ich der Einfachheit halber einen Integer vor. Damit gilt dann: 0 = &quot;leer&quot;, 1 = &quot;Spieler 1&quot;, 2 = &quot;Spieler 2&quot;.</li>
<li>Du weißt, dass der Stein in Spalte X fallen soll. Du läufst dann wie folgt über dein Array (fields[Spalte][Reihe]):</li>
</ol>
<pre><code class="language-cpp">for (size_t y = 0; y &lt; anzahlReihen; ++y)
{
    if (fields[x][y] == 0)
    {
        // Reihe y gefunden, Stein setzen (Pseudocode!)
        fields[x][y] = &quot;Spieler 1&quot;|&quot;Spieler 2&quot;;

        break; // Aus der Schleife springen
    }
}
</code></pre>
<ol>
<li>Hier würde ich so rangehen: Du durchläufst die Felder in 2 Schleifen spalten- und reihenweise und wiederum <strong>innerhalb</strong> kommen zwei weiter Schleifen hinzu, die die Richtung der &quot;Suche&quot; angeben. Sie gehen von -1 bis 1, damit steht -1 für links/oben und 1 für rechts/unten. Du brauchst diese Richtung einfach auf die aktuelle Position zu addieren und zu überprüfen, ob du immernoch einen gleichfarbigen Stein findest. Wenn du bei 4 angekommen bist, hast du eine Reihe gefunden.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2096563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096563</guid><dc:creator><![CDATA[Bonzy]]></dc:creator><pubDate>Fri, 22 Jul 2011 14:41:20 GMT</pubDate></item></channel></rss>