<?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[Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot;]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich habe ein kleines Designproblemchen...</p>
<p>Folgendes: Ich habe eine Klasse Objekt von der alle möglichen Objekte sich ableiten, z. B. Spielfiguren, Gegner, Gegenstände und so weiter und sofort.</p>
<p>Diese ganzen Objekte speichere ich dann in einer Managerklasse in einer STL-Liste, von wo sie aus aktuallisiert und gezeichnet werden. Geht auch erste Sahne.</p>
<p>Ein Problem ist jedoch jetzt die Tastaturbelegung der Spieler, da die sich je nach Anzahl der Spieler ändert.</p>
<p>Folgende Tastaturbelegungen habe ich:</p>
<p><strong>Spieleranzahl: 1</strong><br />
Spieler 1: Pfeiltasten.</p>
<p><strong>Spieleranzahl: 2</strong><br />
Spieler 1: WASD-Tasten.<br />
Spieler 2: Pfeiltasten.</p>
<p><strong>Spieleranzahl: 3</strong><br />
Spieler 1: WASD-Tasten.<br />
Spieler 2: IJKL-Tasten.<br />
Spieler 3: Pfeiltasten.</p>
<p>Mein Problem ist jetzt einfach ausgedrückt: Ein Spieler der Klasse &quot;player&quot; weiß nicht wieviele Spieler es gibt und welcher Spieler er gerade ist, wodurch ich nicht die Tastenbelegungen in der update-Methode setzen kann <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="😞"
    /></p>
<p>Ich hab mal etwas Code für euch zur Verdeutlichung:</p>
<pre><code class="language-cpp">// Klasse für Objekte.
class object
{
    public object () { }
    public ~object () { }

    public virtual bool update (double delta) = 0;
    public virtual bool draw (double delta) = 0;
}

// Klasse für Spieler.
class player : public object
{
    public player () : object ()
    {
    }

    public bool update (double delta)
    {
        if (nur ein spieler)
        {
            // Tastenbelegung PFEILTASTEN
        }
        else if (zwei spieler)
        {
            if (spieler eins)
            {
                // Tastenbelegung: WASD
            }
            else // if (spieler zwei)
            {
                // Tastenbelegung: PFEILTASTEN
            }
        }
        else if (drei spieler)
        {
            if (spieler eins)
            {
                // Tastenbelegung: WASD
            }
            else if (spieler zwei)
            {
                // Tastenbelegung: IJKL
            }
            else // if (spieler drei)
            {
                // Tastenbelegung: PFEILTASTEN
            }
        }

        return (true);
    }

    public bool draw (double delta)
    {
        return (true);
    }
}

// Klasse für Gegner.
class enemy : public object
{
// [...]
}

// [...]
// Liste mit Objekten.
std::list&lt;object&gt; m_objects;

// [...]
// Aktuallisieren aller Objekte
for (std::list&lt;object&gt;::iterator it = m_objects.begin (); it != m_objects.end (); ++it)
    it-&gt;update (delta);
</code></pre>
<p>Ich hoffe ihr könnt mir bei diesem Problem aus der Patsche helfen <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>
<p>Viele liebe Grüße!<br />
C++'ler</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190385/designproblem-quot-wenn-man-nicht-weiß-wer-man-ist-und-wer-noch-da-ist-quot</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 20:26:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190385.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Aug 2007 08:03:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 08:03:55 GMT]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich habe ein kleines Designproblemchen...</p>
<p>Folgendes: Ich habe eine Klasse Objekt von der alle möglichen Objekte sich ableiten, z. B. Spielfiguren, Gegner, Gegenstände und so weiter und sofort.</p>
<p>Diese ganzen Objekte speichere ich dann in einer Managerklasse in einer STL-Liste, von wo sie aus aktuallisiert und gezeichnet werden. Geht auch erste Sahne.</p>
<p>Ein Problem ist jedoch jetzt die Tastaturbelegung der Spieler, da die sich je nach Anzahl der Spieler ändert.</p>
<p>Folgende Tastaturbelegungen habe ich:</p>
<p><strong>Spieleranzahl: 1</strong><br />
Spieler 1: Pfeiltasten.</p>
<p><strong>Spieleranzahl: 2</strong><br />
Spieler 1: WASD-Tasten.<br />
Spieler 2: Pfeiltasten.</p>
<p><strong>Spieleranzahl: 3</strong><br />
Spieler 1: WASD-Tasten.<br />
Spieler 2: IJKL-Tasten.<br />
Spieler 3: Pfeiltasten.</p>
<p>Mein Problem ist jetzt einfach ausgedrückt: Ein Spieler der Klasse &quot;player&quot; weiß nicht wieviele Spieler es gibt und welcher Spieler er gerade ist, wodurch ich nicht die Tastenbelegungen in der update-Methode setzen kann <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="😞"
    /></p>
<p>Ich hab mal etwas Code für euch zur Verdeutlichung:</p>
<pre><code class="language-cpp">// Klasse für Objekte.
class object
{
    public object () { }
    public ~object () { }

    public virtual bool update (double delta) = 0;
    public virtual bool draw (double delta) = 0;
}

// Klasse für Spieler.
class player : public object
{
    public player () : object ()
    {
    }

    public bool update (double delta)
    {
        if (nur ein spieler)
        {
            // Tastenbelegung PFEILTASTEN
        }
        else if (zwei spieler)
        {
            if (spieler eins)
            {
                // Tastenbelegung: WASD
            }
            else // if (spieler zwei)
            {
                // Tastenbelegung: PFEILTASTEN
            }
        }
        else if (drei spieler)
        {
            if (spieler eins)
            {
                // Tastenbelegung: WASD
            }
            else if (spieler zwei)
            {
                // Tastenbelegung: IJKL
            }
            else // if (spieler drei)
            {
                // Tastenbelegung: PFEILTASTEN
            }
        }

        return (true);
    }

    public bool draw (double delta)
    {
        return (true);
    }
}

// Klasse für Gegner.
class enemy : public object
{
// [...]
}

// [...]
// Liste mit Objekten.
std::list&lt;object&gt; m_objects;

// [...]
// Aktuallisieren aller Objekte
for (std::list&lt;object&gt;::iterator it = m_objects.begin (); it != m_objects.end (); ++it)
    it-&gt;update (delta);
</code></pre>
<p>Ich hoffe ihr könnt mir bei diesem Problem aus der Patsche helfen <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>
<p>Viele liebe Grüße!<br />
C++'ler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349549</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Wed, 22 Aug 2007 08:03:55 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 08:06:55 GMT]]></title><description><![CDATA[<p>Der Spieler weiß nicht, wer er ist - das Spiel schon. Also solltest du beim Anlegen der Spieler festlegen, welche Tasten er verwenden soll (z.B. als Ctor-Parameter).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349553</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Aug 2007 08:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Thu, 23 Aug 2007 06:53:48 GMT]]></title><description><![CDATA[<p>Ich wuerde den Spielercharacter (also das Maenneken in der Spielwelt) von seiner Steuerung trennen. Denn deine Klasse Object scheint mir nur eine Oberklasse fuer die Zeichenbaren Objekte zu sein, was mit der Art der Steuerung recht wenig zu tun hat.</p>
<pre><code class="language-cpp">class object; //...

class character : public object
{
   virtual bool draw();
public:
   //steuerung
   void go_left();
   void go_right();
   void go_ahead();
   void go_back();
};

class UserInterface
{
  character* mychar;
public:
  UserInterface(TastenSatz&amp; t);
  void tastendruck() {
    if (/*linke taste gedrueckt*/) mychar-&gt;go_left();
    //etc.
  }
};
</code></pre>
<p>Das macht es auch einfacher, spaeter Computerspieler einzufuehren. Die wurden dann genauso go_left() etc. aufrufen. Schliesslich sollte es der gezeichneten Spielfigur herzlich egal sein ob sie jetzt per Tastatur, Gamepad oder KI gesteuert wird. Dem Interface den Tastensatz zu uebergeben hat den Vorteil, dass du auch Benutzerdefinierte Tastenbelegungen uebergeben kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349674</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 23 Aug 2007 06:53:48 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 12:09:41 GMT]]></title><description><![CDATA[<p>hmn beide Ansätze sind recht gut <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="🙂"
    /> Hmn, aber welches soll man nehmen? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1349739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349739</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Wed, 22 Aug 2007 12:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 12:16:45 GMT]]></title><description><![CDATA[<p>Beides zusammen <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="😉"
    /> Das Spiel legt beim Start n<sub>mensch</sub>+n<sub>KI</sub> character-Objekte an und übergibt davon einige an die UserInterface-Objekte, denen es auch gleich &quot;ihre&quot; Bewegungstasten zuweist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349746</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Aug 2007 12:16:45 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 14:44:45 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Danke ihr Beiden! Hab es nun mal so implementiert und das geht erste Sahne <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>
<p>Jedoch habe ich nun ein weiteres Problemchen: Gegenstände.</p>
<p>Wenn ein Spieler z. B. mit einem Objekt kollidiert, kann er da nicht durch gehen. Habe ich auch über die update-Methode implementiert. (Jedes Objekt hat ja eine Rechteck-Struktur.)</p>
<p>Der Spieler darf aber auch Gegenstände aufheben, diese wiederum sind auch von der Klasse &quot;object&quot; abgeleitet - nur darf er da durch gehen.</p>
<p>Die Frage ist jetzt: Wie weiß ich jetzt anhand der objekt-Liste welches Objekt ein Item ist, ein Spieler oder sogar ein Baum, Haus, Gegner o.ä.? Je nach Objekt soll ja etwas anderes passieren.</p>
<p>Habt ihr dazu noch eine Idee? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349853</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Wed, 22 Aug 2007 14:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 14:49:46 GMT]]></title><description><![CDATA[<p>Nachtag: Ich hab mir z. B. überlegt in &quot;object&quot; noch eine Art &quot;Typ&quot; zu hinterlegen vom Datentyp &quot;string&quot;.</p>
<p>Dachte da an sowas, was ich auf <a href="http://cppreference.com" rel="nofollow">cppreference.com</a> gefunden habe:</p>
<pre><code class="language-cpp">#define to_string(s) # s

class object
{
    protected std::string type_;

    public object () : type_ (to_string (object) {}
};
</code></pre>
<p>Bin mir da aber absolut unsicher <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1349860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349860</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Wed, 22 Aug 2007 14:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Wed, 22 Aug 2007 20:30:03 GMT]]></title><description><![CDATA[<p>mit den zusätzlichen Methoden go_left, etc, wird es unmöglich alle Objekte gleich mit einer Iteration zu updaten. Ich würde in Die welt ein eigenes Modul einbauen, was sich um die Steuerung kümmert. So können sich die Player objekte die Informationen, in welche richtung sie sich bewegen sollen selber abhohlen, ohne dass sie jemand speziell ansprechen muss.</p>
<pre><code class="language-cpp">class World{
    void update(){
        //alles updaten();
    }
    void draw(){
        //alles darstellen
    }
    updateInput(){
        //die Gesamte eingabe verarbeiten, und in eine 
        //privaten Datenstruktur der Klasse World abspeichern
    }
    void getplayermove(Input *si, int playernumber){
        //hier ist die öffentliche schnittstelle zu den eingabedaten.
        //es werden aber keine rohen eingabe Daten vergeben, sondern
        //Eindeutige bewegungsangaben, wie z.b. Bewegungsrichtung,
        //oder befehl zum schießen.
    }
};
</code></pre>
<p>Ich hab jetzt nicht alles dargestellt, soll nur so grob angeben, wie es später aussehen könnte (die klasse oder auch enum Input fehlt). So könnte man dann später auch beliebig viele weitere Spieler hinzufügen, ohne dass irgendetwas an der updatemethode geändert werden soll.</p>
<p>hab das so aber bisher noch nie implementiert (werd ich aber glaub ich mal versuchen.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350051</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Wed, 22 Aug 2007 20:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Thu, 23 Aug 2007 03:42:20 GMT]]></title><description><![CDATA[<p>hast du mal java programmeirt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350130</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 23 Aug 2007 03:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Thu, 23 Aug 2007 11:36:12 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>hast du mal java programmeirt?</p>
</blockquote>
<p>C#</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350372</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Thu, 23 Aug 2007 11:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Thu, 23 Aug 2007 17:45:16 GMT]]></title><description><![CDATA[<p>C++'ler schrieb:</p>
<blockquote>
<p>Die Frage ist jetzt: Wie weiß ich jetzt anhand der objekt-Liste welches Objekt ein Item ist, ein Spieler oder sogar ein Baum, Haus, Gegner o.ä.? Je nach Objekt soll ja etwas anderes passieren.</p>
</blockquote>
<p>Die allgemeine Lösung wäre eine Multimethode collide. Schau dir mal diesen Artikel an: <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1130360.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1130360.html</a></p>
<p>C++'ler schrieb:</p>
<blockquote>
<p>Nachtag: Ich hab mir z. B. überlegt in &quot;object&quot; noch eine Art &quot;Typ&quot; zu hinterlegen vom Datentyp &quot;string&quot;.</p>
</blockquote>
<p>Das ist Unfug. Der Typ ist bekannt genug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350652</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 23 Aug 2007 17:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Fri, 24 Aug 2007 05:23:26 GMT]]></title><description><![CDATA[<p>sieht man;) <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/1350826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350826</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 24 Aug 2007 05:23:26 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Sat, 25 Aug 2007 23:54:14 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>C++'ler schrieb:</p>
<blockquote>
<p>Die Frage ist jetzt: Wie weiß ich jetzt anhand der objekt-Liste welches Objekt ein Item ist, ein Spieler oder sogar ein Baum, Haus, Gegner o.ä.? Je nach Objekt soll ja etwas anderes passieren.</p>
</blockquote>
<p>Die allgemeine Lösung wäre eine Multimethode collide. Schau dir mal diesen Artikel an: <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1130360.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1130360.html</a></p>
<p>C++'ler schrieb:</p>
<blockquote>
<p>Nachtag: Ich hab mir z. B. überlegt in &quot;object&quot; noch eine Art &quot;Typ&quot; zu hinterlegen vom Datentyp &quot;string&quot;.</p>
</blockquote>
<p>Das ist Unfug. Der Typ ist bekannt genug.</p>
</blockquote>
<p>der artikel ist absolut unverständlich.</p>
<p>Vorallem was mich daran nervt sind so sätze wie:<br />
&quot;man sollte ..., was aber simpel ist.&quot;</p>
<p>Wenns doch so simpel ist, warum baut er es nicht ein? Denkt der wir können jetzt alle Mutlimethoden?</p>
<p>Sorry, kein guter Artikel. muss man echt mal sagen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352113</guid><dc:creator><![CDATA[C++&#x27;ler]]></dc:creator><pubDate>Sat, 25 Aug 2007 23:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Sun, 26 Aug 2007 00:47:22 GMT]]></title><description><![CDATA[<p>Krux schrieb:</p>
<blockquote>
<p>mit den zusätzlichen Methoden go_left, etc, wird es unmöglich alle Objekte gleich mit einer Iteration zu updaten.</p>
</blockquote>
<p>Eh?</p>
<pre><code class="language-cpp">class player_ui
  : public key_listener
  , public controller
{
public:
  virtual void update( float dt )
  {
    if (change_direction_) {
      (player_-&gt;*move_func_)();
      change_direction_ = false;
    }
  }

  virtual void on_key_event( int key_code )
  {
    // set appropriate move_func_
    change_direction_ = true;
  }
};

class player : public game_object
{
public:
  virtual void update( float dt )
  {
    update_controllers(dt);
    // ...
  }

  void go_*()
  {
    // set move_vector_
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1352123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352123</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sun, 26 Aug 2007 00:47:22 GMT</pubDate></item><item><title><![CDATA[Reply to Designproblem: &amp;quot;Wenn man nicht weiß wer man ist und wer noch da ist&amp;quot; on Sun, 26 Aug 2007 18:20:40 GMT]]></title><description><![CDATA[<p>Hab mir grade auch mal den artikel durchgelesen, also wenn sowas kommt:<br />
&quot;Klar ist, dass go in konstanter Zeit einen Fehler meldet oder die richtige Funktion aufruft. Auch klar ist, dass der Dispatcher mit Vererbung nicht richtig funktioniert. &quot;</p>
<p>und man diesen Satz mehrfach in abgewandelter Form in diesen Artikel ließt fragt man sich: Läuft da überhaupt etwas?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352529</guid><dc:creator><![CDATA[Coder Extreme]]></dc:creator><pubDate>Sun, 26 Aug 2007 18:20:40 GMT</pubDate></item></channel></rss>