<?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[Spielprogrammierung (Tetris)]]></title><description><![CDATA[<p>Hi,<br />
Ich habe vor einiger Zeit angefangen C++ zu programmieren und möchte mich nun ein wenig an einem textbasierten Tetrisspiel probieren wo ich eine Angabe in einem Buch gefunden habe, aber momentan fehlt mir noch irgendwie der richtige Einstieg.<br />
Vielleicht kann mir ja jd einen Denkanstoss geben:<br />
Für das Spiel sind verschiedene Figuren zu implementieren, die von einer Basisklasse abzuleiten sind. Jede Figur braucht mehrere Einzelfelder des Spielfeldes (ist zb 50 x50 groß) und muss zB drehbar sein. Und das Spielfeld muss nun Referenzen auf die Spielfiguren enthalten. Die freien Einzelfelder sollen durch ein Minus (-) gekennzeichnet sein und die Figuren druch irgendwelche andere Sonderzeichen (der Block durch Rautezeichen[#] etc...)<br />
Meine Frage nun, wie implementiere ich das mit den Referenzen und wie schaut es mit den Figuren aus, wenn ich die bewegen möchte, wie überprüfe ich, ob ich genügen Platz dafür habe etc...</p>
<p>wäre für jede Hilfe dankbar<br />
lg <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/192686/spielprogrammierung-tetris</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 14:44:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192686.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Sep 2007 14:53:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Spielprogrammierung (Tetris) on Mon, 17 Sep 2007 14:53:28 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich habe vor einiger Zeit angefangen C++ zu programmieren und möchte mich nun ein wenig an einem textbasierten Tetrisspiel probieren wo ich eine Angabe in einem Buch gefunden habe, aber momentan fehlt mir noch irgendwie der richtige Einstieg.<br />
Vielleicht kann mir ja jd einen Denkanstoss geben:<br />
Für das Spiel sind verschiedene Figuren zu implementieren, die von einer Basisklasse abzuleiten sind. Jede Figur braucht mehrere Einzelfelder des Spielfeldes (ist zb 50 x50 groß) und muss zB drehbar sein. Und das Spielfeld muss nun Referenzen auf die Spielfiguren enthalten. Die freien Einzelfelder sollen durch ein Minus (-) gekennzeichnet sein und die Figuren druch irgendwelche andere Sonderzeichen (der Block durch Rautezeichen[#] etc...)<br />
Meine Frage nun, wie implementiere ich das mit den Referenzen und wie schaut es mit den Figuren aus, wenn ich die bewegen möchte, wie überprüfe ich, ob ich genügen Platz dafür habe etc...</p>
<p>wäre für jede Hilfe dankbar<br />
lg <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/1367060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367060</guid><dc:creator><![CDATA[fungie]]></dc:creator><pubDate>Mon, 17 Sep 2007 14:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to Spielprogrammierung (Tetris) on Mon, 17 Sep 2007 15:15:06 GMT]]></title><description><![CDATA[<p>hey...das würde mich auch interessieren wie das funktionieren soll...ich hab mir auch überlegt tetris oder schach oder irgendein einfaches Spiel auf Textebene zu programmieren weiss aber nicht gedau wie das mit den Koordinaten hinhauen soll...</p>
<p>Wie kann man bei einen Tetris den ganzen Bewegungsfluß managen?</p>
<p>greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367082</guid><dc:creator><![CDATA[thecube]]></dc:creator><pubDate>Mon, 17 Sep 2007 15:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to Spielprogrammierung (Tetris) on Mon, 17 Sep 2007 16:44:23 GMT]]></title><description><![CDATA[<p>Mit entsprechenden Bibliotheken. Standard-C++ kennt nämlich keine bewegten Objekte. Koordinaten dagegen kann man prima mit zweidimensionalen Vektoren realisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367156</guid><dc:creator><![CDATA[moagnus]]></dc:creator><pubDate>Mon, 17 Sep 2007 16:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to Spielprogrammierung (Tetris) on Mon, 17 Sep 2007 16:48:31 GMT]]></title><description><![CDATA[<p>moagnus schrieb:</p>
<blockquote>
<p>Mit entsprechenden Bibliotheken. Standard-C++ kennt nämlich keine bewegten Objekte.</p>
</blockquote>
<p>Für &quot;bewegte Objekte&quot; braucht man keine Bibliothek. Vlt. für die Steuerung per Tastatur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367162</guid><dc:creator><![CDATA[hamham]]></dc:creator><pubDate>Mon, 17 Sep 2007 16:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to Spielprogrammierung (Tetris) on Mon, 17 Sep 2007 16:56:07 GMT]]></title><description><![CDATA[<p>Erstmal überlegen, welche Daten ihr braucht:<br />
- Größe des Spielfeldes und welche Felder davon fest belegt sind<br />
- Der aktuelle Spielstein der grad herunterfällt. Seine Position und die belegten Felder</p>
<p>So. Das Spielfeld als Klasse braucht seine Größe und für jedes Feld einen bool-Parameter, der angibt, ob es besetzt ist. Die Klasse sollte eine Funktion &quot;addSpielStein&quot; oder so ähnlich beinhalten. Dort wird ein Spielstein hinzugefügt, und die Klasse guckt nach, ob Reihen voll sind und vernichtet sie. Die oberen true-Felder rücken halt nach.<br />
Außerdem sollte die Klasse eine Funktion á la &quot;isBesetzt&quot; besitzen, die true zurückgibt, wenn die Stelle schon besetzt ist, ansonsten false.</p>
<p>Die Klasse Spielstein braucht ihre Position, Art und Drehung. Alternativ kann sie auch ihr oberes linkes Eckfeld und relativ dazu die Koordinaten ihrer belegenden Felder besitzen.<br />
Es sollte eine Funktion &quot;doTimeStep&quot; o.ä. drin sein. Dort wird geprüft, ob der Spielstein noch weiter nach unten kann, durch entsprechende Aufrufen nach SpielFeld::isBesetzt. Wenn es nicht weiter nach unten geht, wird der Baustein fest (Aufruf SpielFeld::addSpielStein) und gelöscht.<br />
Ansonsten wird die y-Koordinate oder halt die y-Positionen der Kästchen um 1 erhöht.<br />
Zum Schluss braucht die Klasse noch eine Methode &quot;drehDich&quot;. Dort wird entweder die Drehung geändert oder alternativ die Kästchen um irgendeinen Punkt gedreht.</p>
<p>Die Bezeichnungen sind noch alle Schrott. Entwirf erstmal die Klassen, die Hauptschleife und alles nötige drumherum. Wenn du dann nicht weiterkommst, frag einfach nochmal <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>edit: Übrigens kann man die Klassen auch völlig anders designen, viele Wege führen nach Rom. Wollte ich nur mal sagen <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/1367170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367170</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 17 Sep 2007 16:56:07 GMT</pubDate></item></channel></rss>