<?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 Spieldesign in OOP]]></title><description><![CDATA[<p>Ich komme momentan nicht weiter. Mein aktueller Code sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &quot;gameobject.hpp&quot;
#include &quot;graphic.hpp&quot;
#include &quot;game.hpp&quot;

int main()
{
    std::auto_ptr&lt;Graphic&gt; graphic;
    std::auto_ptr&lt;Game&gt; game;
    try
    {
        graphic.reset(new Graphic);
        game.reset(new Game);
    }
    catch(std::exception&amp; e)
    {
        std::cout &lt;&lt; e.what() &lt;&lt; std::endl;
        return 1;
    }
    while(graphic-&gt;Running())
    {
        game-&gt;DoFrame();
        graphic-&gt;DoFrame();
    }
}
</code></pre>
<p>Dies ist bis jetzt noch ziemlich schlicht. Die Klasse Graphic kümmert sich um die Grafik und die Klasse Game und das Spiel und was geschieht. Ist das so erstmal in Ordnung oder geht's besser?</p>
<p>Mein Problem ist jetzt, dass ich eine abstrakte Klasse GameObject habe, die die einzelnen Sachen im Spiel beinhaltet. Von dieser muss ich nun ein std::vector erstellen. Erste Frage schonmal: Wo mach ich das? Ich dachte mir jetzt, dass dies in der Game-Klasse geschieht, doch die Graphic-Klasse muss ja auch zugriff auf den Vector haben, sonst kann sie die Sachen ja nicht zeichen. Soll ich den Vector global erstellen bzw. die Game-Klasse? Oder soll ich einen Zeiger im Konstruktor übergeben? Was mir auch gedacht habe, dass man vielleicht eine Interface-Klasse erstellt, die per Singleton oder global erstellt wird. Was ich mach ich davon jetzt?</p>
<p>In dem Beispiel gibt es momentan ja nur zwei Klassen, aber es können natürlich welche wie Input oder Menu hinzukommen. Wie mache ich dann die ganzen Verbindungen zwischen diesen Klassen am elegantesten?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152322/brauche-hilfe-bei-spieldesign-in-oop</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 23:41:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152322.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Jul 2006 12:18:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauche Hilfe bei Spieldesign in OOP on Wed, 05 Jul 2006 12:18:24 GMT]]></title><description><![CDATA[<p>Ich komme momentan nicht weiter. Mein aktueller Code sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &quot;gameobject.hpp&quot;
#include &quot;graphic.hpp&quot;
#include &quot;game.hpp&quot;

int main()
{
    std::auto_ptr&lt;Graphic&gt; graphic;
    std::auto_ptr&lt;Game&gt; game;
    try
    {
        graphic.reset(new Graphic);
        game.reset(new Game);
    }
    catch(std::exception&amp; e)
    {
        std::cout &lt;&lt; e.what() &lt;&lt; std::endl;
        return 1;
    }
    while(graphic-&gt;Running())
    {
        game-&gt;DoFrame();
        graphic-&gt;DoFrame();
    }
}
</code></pre>
<p>Dies ist bis jetzt noch ziemlich schlicht. Die Klasse Graphic kümmert sich um die Grafik und die Klasse Game und das Spiel und was geschieht. Ist das so erstmal in Ordnung oder geht's besser?</p>
<p>Mein Problem ist jetzt, dass ich eine abstrakte Klasse GameObject habe, die die einzelnen Sachen im Spiel beinhaltet. Von dieser muss ich nun ein std::vector erstellen. Erste Frage schonmal: Wo mach ich das? Ich dachte mir jetzt, dass dies in der Game-Klasse geschieht, doch die Graphic-Klasse muss ja auch zugriff auf den Vector haben, sonst kann sie die Sachen ja nicht zeichen. Soll ich den Vector global erstellen bzw. die Game-Klasse? Oder soll ich einen Zeiger im Konstruktor übergeben? Was mir auch gedacht habe, dass man vielleicht eine Interface-Klasse erstellt, die per Singleton oder global erstellt wird. Was ich mach ich davon jetzt?</p>
<p>In dem Beispiel gibt es momentan ja nur zwei Klassen, aber es können natürlich welche wie Input oder Menu hinzukommen. Wie mache ich dann die ganzen Verbindungen zwischen diesen Klassen am elegantesten?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091750</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Wed, 05 Jul 2006 12:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche Hilfe bei Spieldesign in OOP on Wed, 05 Jul 2006 12:25:55 GMT]]></title><description><![CDATA[<p><a href="http://www.devmaster.net/articles/oo-game-design/" rel="nofollow">http://www.devmaster.net/articles/oo-game-design/</a></p>
<p>sehr interessant <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/1091757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091757</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 05 Jul 2006 12:25:55 GMT</pubDate></item></channel></rss>