<?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[2 beinahe gleiche Klassen, wie umsetzen?]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>Ich habe folgende Frage:</p>
<p>Nehmen wir an ich möchte folgende Objekte erstellen:</p>
<p>Mann<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied<br />
int Unterschied 2</p>
<p>Frau<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied 3</p>
<p>wie soll ich diese als Klassen darstellen?</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308899/2-beinahe-gleiche-klassen-wie-umsetzen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 15:11:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308899.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Oct 2012 07:43:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:43:07 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>Ich habe folgende Frage:</p>
<p>Nehmen wir an ich möchte folgende Objekte erstellen:</p>
<p>Mann<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied<br />
int Unterschied 2</p>
<p>Frau<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied 3</p>
<p>wie soll ich diese als Klassen darstellen?</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258360</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:43:07 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:45:59 GMT]]></title><description><![CDATA[<p>Als weiteres Beispiel:</p>
<p>class Item</p>
<p>Objekte:<br />
Messer (Waffe)<br />
int Dmg<br />
int Preis</p>
<p>Helm (Rüstung)<br />
int Rüstungswert<br />
int Preis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258361</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:45:59 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:52:45 GMT]]></title><description><![CDATA[<p>Worum genau handelt es sich bei den Unterschieden? Wieso genau muss Preis Member von Waffe sein? Sollte der Preis nicht vielleicht eher im Shop gespeichert sein, der die Waffe Verkauft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258363</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:52:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:52:17 GMT]]></title><description><![CDATA[<p>dot schrieb:</p>
<blockquote>
<p>Worum genau handelt es sich bei den Unterschieden? Wieso genau muss Preis Member von Waffe sein? Sollte der Preis nicht vielleicht eher Member des Shop sein, der die Waffe Verkauft?</p>
</blockquote>
<p>Ja das wäre noch besser.</p>
<p>Mein Ziel ist es ein kleines RPG zu erstellen, welches ich dann weiter ausbauen will.</p>
<p>Am Anfang möchte ich nur mal:</p>
<p>Charakter, Monster<br />
- Waffen<br />
- Rüstungen<br />
- Tränke</p>
<p>Kampffunktion mit würfeln <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>
<p>Das system weis ich bereits.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258364</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:53:18 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>Nehmen wir an ich möchte folgende Objekte erstellen:</p>
<p>Mann<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied<br />
int Unterschied 2</p>
<p>Frau<br />
int Alter<br />
int Leben<br />
int Geld<br />
int Unterschied 3</p>
</blockquote>
<p>Also wenn Mann und Frau dieselben Eigenschaften haben, dann mach eine Klasse &quot;Person&quot; und mti den Eigenschaften Alter,Leben,Geld,... Haben sie jedoch mehrere Unterschiedliche Eigenschaften, dann mach eine abstrakte Basisklasse &quot;Person&quot;, in der du die Gemeinsamkeiten unterbringst. Dann leite jeweils &quot;Mann&quot; und &quot;Frau&quot; ab und werde konkreter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258365</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:54:42 GMT]]></title><description><![CDATA[<p>Hier trifft sichs gut, eine gemeinsame Basiklasse Human<br />
zu machen.</p>
<pre><code class="language-cpp">class Human{
int alter;
int leben;
int geld;
}
</code></pre>
<p>und dann von diese ableiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258366</guid><dc:creator><![CDATA[krawalli]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 07:58:39 GMT]]></title><description><![CDATA[<p>Klingt bis jetzt 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="🙂"
    /></p>
<p>Ich habe schnell eine Frage, für mich sind Klassen realtiv neu, daher frage ich mich nun wie ich am besten herausfinde wie ich was aufbauen soll.</p>
<p>Für ein RPG brauche ich ja eine Welt, die stellt den Körper dar.<br />
Im Körper habe ich dan den Kopf (Klasse Monster mit objekten Charakter, NPC),<br />
den Hals (die Items mit objekten Waffen, Rüstungen, usw.), usw...</p>
<p>Ist das dann so aufgebaut?</p>
<p>Gruess,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258367</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 07:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:02:29 GMT]]></title><description><![CDATA[<p>So:</p>
<pre><code class="language-cpp">class Mann
{
    int alter, leben, geld;
    int unterschied, unterschied2;
};
class Frau
{
    int alter, leben, geld;
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">class Person
{
protected:
    virtual ~Person()=0;
    int alter, leben, geld;
};
class Mann : public Person
{
    int unterschied, unterschied2;
};
class Frau : public Person
{
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">struct PersonenDaten
{
    int alter, leben, geld;
};
class Mann
{
    PersonenDaten data;
    int unterschied, unterschied2;
};
class Frau
{
    PersonenDaten data;
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">class Person
{
    enum Gender { maennlich, weiblich };
    Gender gender;
    int alter, leben, geld;
    int unterschied, unterschied2; // unterschied -&gt; unterschied3 wenn gender == weiblich
};
</code></pre>
<p>was da das 'beste' oder besser das geeignetste für Deine Applikation ist, hängt davon ab, was Du mit den Objekten in Deinem Programm vorhast. Wie - in welcher Weise sollen sie von wem benutzt werden? Inklusive Datenhaltung - also wie werden sie abgespeichert? Wie funktioniert der Zugriff?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258368</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:09:09 GMT]]></title><description><![CDATA[<p>Werner_logoff schrieb:</p>
<blockquote>
<p>So:</p>
<pre><code class="language-cpp">class Mann
{
    int alter, leben, geld;
    int unterschied, unterschied2;
};
class Frau
{
    int alter, leben, geld;
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">class Person
{
protected:
    virtual ~Person()=0;
    int alter, leben, geld;
};
class Mann : public Person
{
    int unterschied, unterschied2;
};
class Frau : public Person
{
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">struct PersonenDaten
{
    int alter, leben, geld;
};
class Mann
{
    PersonenDaten data;
    int unterschied, unterschied2;
};
class Frau
{
    PersonenDaten data;
    int unterschied3;
};
</code></pre>
<p>oder so:</p>
<pre><code class="language-cpp">class Person
{
    enum Gender { maennlich, weiblich };
    Gender gender;
    int alter, leben, geld;
    int unterschied, unterschied2; // unterschied -&gt; unterschied3 wenn gender == weiblich
};
</code></pre>
<p>was da das 'beste' oder besser das geeignetste für Deine Applikation ist, hängt davon ab, was Du mit den Objekten in Deinem Programm vorhast. Wie - in welcher Weise sollen sie von wem benutzt werden? Inklusive Datenhaltung - also wie werden sie abgespeichert? Wie funktioniert der Zugriff?</p>
</blockquote>
<p>Erst Mal: WOW o.O *__*</p>
<p>Das hilft mir schon viel, muss nur noch die Variante 2 und 4 verstehen <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>
<p>Die Klassen wie verwenden?<br />
Hmmm ich weiss nicht ob ich das richtig verstehe, aber ich möchte am Schluss einen Charakter erstellen welcher dann per Entscheidungen durch die Welt geht udn auf Monster udn Rätsel trifft.</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258371</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:26:31 GMT]]></title><description><![CDATA[<p>Stimmt das so?</p>
<pre><code class="language-cpp">class monster 
{ 
public: 
    virtual ~monster()=0; 
    int Leben, Mana, Geld, EXP, Level, WaffeAngriff, WaffeVerteidigung, WaffeSchaden, RuestungsWert; 
	string WaffeName;
}; 

class Charakter : public monster 
{ 
    int HelmWert, BrustWert, HandWert, ArmWert, HoseWert, GurtWert, SchuheWert, Schildwert; 
	string HelmName, BrustName, HandName, ArmName, HoseName, GurtName, SchuheName, SchildName;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2258375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258375</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:26:31 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:26:36 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>Hmmm ich weiss nicht ob ich das richtig verstehe, aber ich möchte am Schluss einen Charakter erstellen welcher dann per Entscheidungen durch die Welt geht udn auf Monster udn Rätsel trifft.</p>
</blockquote>
<p>Meinst du nicht, dass dich dein Projekt ein ganz klein wenig überfordert? Wenn du dir bei den von Werner genannten Beispielen schon schwer tust, gehen deine C++-Grundlagenkenntnisse praktisch gegen Null. Die besten Chancen solch ein Projekt umzusetzen, hast du, wenn du dir ein ordentliches Grundlagenbuch zur Hand nimmst und dein Vorhaben um um einige Monate verschiebst ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258376</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:28:26 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>Stimmt das so?</p>
<pre><code class="language-cpp">class monster 
{ 
public: 
    virtual ~monster()=0; 
    int Leben, Mana, Geld, EXP, Level, WaffeAngriff, WaffeVerteidigung, WaffeSchaden, RuestungsWert; 
	string WaffeName;
}; 

class Charakter : public monster 
{ 
    int HelmWert, BrustWert, HandWert, ArmWert, HoseWert, GurtWert, SchuheWert, Schildwert; 
	string HelmName, BrustName, HandName, ArmName, HoseName, GurtName, SchuheName, SchildName;
};
</code></pre>
</blockquote>
<p>Danach möchte ich im Main den Charakter erstellen sprich mit:</p>
<p>charakter Ich(&quot;Name&quot;,Leben,Mana,Geld,EXP,Level.....);<br />
Oder gibt es da eine bessere möglichkeit?</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258378</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:29:25 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>TMeier schrieb:</p>
<blockquote>
<p>Hmmm ich weiss nicht ob ich das richtig verstehe, aber ich möchte am Schluss einen Charakter erstellen welcher dann per Entscheidungen durch die Welt geht udn auf Monster udn Rätsel trifft.</p>
</blockquote>
<p>Meinst du nicht, dass dich dein Projekt ein ganz klein wenig überfordert? Wenn du dir bei den von Werner genannten Beispielen schon schwer tust, gehen deine C++-Grundlagenkenntnisse praktisch gegen Null. Die besten Chancen solch ein Projekt umzusetzen, hast du, wenn du dir ein ordentliches Grundlagenbuch zur Hand nimmst und dein Vorhaben um um einige Monate verschiebst ;).</p>
</blockquote>
<p>Die Basics verstehe ich schon, nur war mir der Virtual nicht bekannt^^</p>
<p>Ich tu mich ein wenig schwer mit Objekten und Klassen.</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258379</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:30:24 GMT]]></title><description><![CDATA[<p>Mach doch erst mal ein Konzept, daraus ergibt sich schon recht viel. Zum Beispiel was man wie verknüpfen könnte. Dann modellierst du daraus ein grobes OOP-Design und die Algorithmen die du eventuell brauchst. Programmiert wird meist erst ganz zum Schluss, wenn du weißt was du alles brauchst und wie es unfair zusammenhängen soll. Vergiss die Fehlerbehandlung nicht, die meiste Zeit programmiert man nicht, sondern sucht Fehler. Jedenfalls geht es mir immer so.</p>
<p>Wenn dir Klassen neu sind, lerne erst mal das und dann noch ein paar Design-Pattern, OOP-Allgemein und die Grundlagen der Sprache natürlich in der du programmieren willst.</p>
<p>Meist vergeht schon ein Jahr oder mehr bis man anfangen kann ganz kleine Spielchen zu schreiben. Wenn du dir die Zeit zum Lernen nicht nimmst, bist du schnell frustriert, weil du an jeder Kleinigkeit scheiterst und fragen musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258380</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:33:23 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>out schrieb:</p>
<blockquote>
<p>TMeier schrieb:</p>
<blockquote>
<p>Hmmm ich weiss nicht ob ich das richtig verstehe, aber ich möchte am Schluss einen Charakter erstellen welcher dann per Entscheidungen durch die Welt geht udn auf Monster udn Rätsel trifft.</p>
</blockquote>
<p>Meinst du nicht, dass dich dein Projekt ein ganz klein wenig überfordert? Wenn du dir bei den von Werner genannten Beispielen schon schwer tust, gehen deine C++-Grundlagenkenntnisse praktisch gegen Null. Die besten Chancen solch ein Projekt umzusetzen, hast du, wenn du dir ein ordentliches Grundlagenbuch zur Hand nimmst und dein Vorhaben um um einige Monate verschiebst ;).</p>
</blockquote>
<p>Die Basics verstehe ich schon, nur war mir der Virtual nicht bekannt^^</p>
<p>Ich tu mich ein wenig schwer mit Objekten und Klassen.</p>
<p>Gruss,</p>
<p>TMeier</p>
</blockquote>
<p>Also was ich verstehe:<br />
was Methoden und Eigenschaften sind.<br />
Die Wörter public, privat...</p>
<p>Nur mit der Aufteilung und wie Klassen sinnvoll sind versteh ich noch nciht ganz.<br />
Also sprich die EInteilung und den Zugriff.</p>
<p>Wenn ich die Klasse Waffe:Item habe wie kann ich dann die Waffe dem Charakter geben das verstehe ich nicht.</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258381</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:33:23 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:35:46 GMT]]></title><description><![CDATA[<p>Butterbrot schrieb:</p>
<blockquote>
<p>Mach doch erst mal ein Konzept, daraus ergibt sich schon recht viel. Zum Beispiel was man wie verknüpfen könnte. Dann modellierst du daraus ein grobes OOP-Design und die Algorithmen die du eventuell brauchst. Programmiert wird meist erst ganz zum Schluss, wenn du weißt was du alles brauchst und wie es unfair zusammenhängen soll. Vergiss die Fehlerbehandlung nicht, die meiste Zeit programmiert man nicht, sondern sucht Fehler. Jedenfalls geht es mir immer so.</p>
<p>Wenn dir Klassen neu sind, lerne erst mal das und dann noch ein paar Design-Pattern, OOP-Allgemein und die Grundlagen der Sprache natürlich in der du programmieren willst.</p>
<p>Meist vergeht schon ein Jahr oder mehr bis man anfangen kann ganz kleine Spielchen zu schreiben. Wenn du dir die Zeit zum Lernen nicht nimmst, bist du schnell frustriert, weil du an jeder Kleinigkeit scheiterst und fragen musst.</p>
</blockquote>
<p>Danke, bin bereits daran hab ein kleines Grob konzept aber wie oben gesagt das geben einer Waffe zum Beispiel verstehe ich nicht und wie ich ein Inventar erstellen soll.</p>
<p>Also wenn ich eine Kampffunktion habe wie kriege ich das Monster und den Charakter da rein?<br />
Wie gebe ich ihm beim Sieg die EXP und Loot?</p>
<p>Da komme ich nicht weiter^^</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258382</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:35:46 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:45:12 GMT]]></title><description><![CDATA[<p>Keine Ahnung, legt dir ne Instanz/en von deinem Char und den Monstern an, übergibt sie deiner Kampffunktion und verändere nach deinem ausgedachten Algo die Werte und zeige diese dann an oder so.</p>
<p>Es gibt da bestimmt 1000 oder mehr Möglichkeiten, nimmt erst mal eine und guck ob du damit zurecht kommst. Das beste Design für dein Spiel wird dir hier niemand liefern können.</p>
<p>EDIT: Schau dir vielleicht mal die Themen vom GameDesign an. Es reicht ja schon das Inhaltsverzeichnis von einem Buch aus dem Bereich mal zu lesen und dann nach den Themen zu googeln. Is ne Menge Holz, wenn man es &quot;richtig&quot; machen will: <a href="http://www.amazon.de/Die-Kunst-Game-Designs-Professional/dp/3826691881/ref=sr_1_1?ie=UTF8&amp;qid=1349772140&amp;sr=8-1" rel="nofollow">http://www.amazon.de/Die-Kunst-Game-Designs-Professional/dp/3826691881/ref=sr_1_1?ie=UTF8&amp;qid=1349772140&amp;sr=8-1</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258383</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:45:12 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:46:07 GMT]]></title><description><![CDATA[<p>Butterbrot schrieb:</p>
<blockquote>
<p>Keine Ahnung, legt dir ne Instanz/en von deinem Char und den Monstern an, übergibt sie deiner Kampffunktion und verändere nach deinem ausgedachten Algo die Werte und zeige diese dann an oder so.</p>
<p>Es gibt da bestimmt 1000 oder mehr Möglichkeiten, nimmt erst mal eine und guck ob du damit zurecht kommst. Das beste Design für dein Spiel wird dir hier niemand liefern können.</p>
</blockquote>
<p>Vielen Dank <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>Ich denke ich werde das jetzt mal versuchen.<br />
Ich denke ein Inventar wäre am besten in einem externen Textfile anzulegen?<br />
Oder in einem Array?</p>
<p>Textfile:<br />
Name Angriff Verteidigung Rüstungswert Preis<br />
Schwert 12 13 0 100<br />
Fackel 0 0 0 8<br />
Schild 0 8 10 50</p>
<p>Oder Array genau so anlegen und dann parsen?</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258385</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:50:55 GMT]]></title><description><![CDATA[<p>Butterbrot schrieb:</p>
<blockquote>
<p>EDIT: Schau dir vielleicht mal die Themen vom GameDesign an. Es reicht ja schon das Inhaltsverzeichnis von einem Buch aus dem Bereich mal zu lesen und dann nach den Themen zu googeln. Is ne Menge Holz, wenn man es &quot;richtig&quot; machen will: <a href="http://www.amazon.de/Die-Kunst-Game-Designs-Professional/dp/3826691881/ref=sr_1_1?ie=UTF8&amp;qid=1349772140&amp;sr=8-1" rel="nofollow">http://www.amazon.de/Die-Kunst-Game-Designs-Professional/dp/3826691881/ref=sr_1_1?ie=UTF8&amp;qid=1349772140&amp;sr=8-1</a></p>
</blockquote>
<p>Habe 3 C++ Bücher eins ist mist (dieser verhasste Typ da xD)<br />
Die anderen 2 hab ich nur angeschnitten.</p>
<p>Was ich gerne machen würde wäre folgendes:</p>
<p>Ich möchte ein öffentliches Projekt machen (Das RPG) und da zur gleichen Zeit meine anderen 2 Bücher versuchen anzuwenden und dann sozusagen gemeinsam mit anderen mich austauschen.</p>
<p>Ich würde dann, da jede Woche was reinschreiben und auch Nachfragen.</p>
<p>Ich denke dann könnten andere gleich mit lernen.<br />
Ich könnte auch jeweils kleine erklärungen reinschreiben warum ich das so mache und dann mich verbessern lassen sofern ich etwas falsch verstanden habe.</p>
<p>Wie wäre das?</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258386</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:50:55 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:01:45 GMT]]></title><description><![CDATA[<p>Wenn du die Sachen persistent speichern möchtest, dann ist eine Textdatei eine Möglichkeit. Auch hier gibt es wieder 1000 Möglichkeiten(Textdatei, binär, verschlüsselt, Datenbank etc.), du verstehst?^^ Wenn du die Daten nur zur Laufzeit ablegen willst, dann lassen die Daten in deiner Inventar-Klasse. Dort kannst du dann mit dem C++ Containern deiner Wahl die einzelnen Items(meist auch Instanzen von Klassen) ablegen. Auch hier wieder 1000 Möglichkeiten^^</p>
<p>Das frustrierende für dich ist im Moment was ganz menschliches. Der Mensch ist im allgemeinen unglücklicher je mehr Auswahl er hat. Deswegen kommen wir am besten zurecht, wenn wir mit unseren Ressourcen haushalten müssen. Dadurch entstehen sehr oft Innovationen.</p>
<p>Wenn du dann schon eine Weile entwickelst, wirst du nach deinen Vorlieben vielleicht nur noch 10 Möglichkeiten oft nutzen und allein dadurch sinkt die Frustration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258388</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 08:57:29 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>Die Basics verstehe ich schon, nur war mir der Virtual nicht bekannt^^</p>
</blockquote>
<p>Und damit ist der Satz schon in sich falsch. Grundlagen sollten schon die C++ Schlüsselwörter und zumindest ein paar Teile der Standardbibliothek umfassen. Jedes einigermaßen sinnvolle Grundlagenbuch deckt dies ab. Dann, und wirklich erst dann, solltest du dich an einem solchen Projekt versuchen.</p>
<p>Zudem:<br />
a) &quot;unterschied&quot; ist kein sinnvoller Variablenname. Du solltest Namen so wählen, das du auch ein halbes Jahr später noch den Code verstehst. Gute Namen sind wichtig.</p>
<p>b) Völlig egal wie du benennst und einrückst: ABER sei einheitlich. Einmal eine Klasse &quot;monster&quot; und dann eine &quot;Charakter&quot; zu nennen ist nicht gut. Entweder schreibst du Klassen mit einem Großbuchstaben zu beginn oder nicht. Aber sei einheitlich.</p>
<p>c) Du hast einige Designansätze die nicht unbedingt ideal sind. Sie können vielleicht für dich ausreichen, sind aber nicht unbedingt &quot;wartbar&quot; (bzw. Änderungen lassen sich nur schwer implementieren).</p>
<p>Beispielsweise:</p>
<p>TMeier schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class Charakter : public monster
{
    int HelmWert, BrustWert, HandWert, ArmWert, HoseWert, GurtWert, SchuheWert, Schildwert;
    string HelmName, BrustName, HandName, ArmName, HoseName, GurtName, SchuheName, SchildName;
};
</code></pre>
</blockquote>
<p>Fällt dir hier nicht bereits etwas auf? Du hast hier sehr viele Codeduplikate (xxxWert &lt;-&gt; xxxName). Was ist wenn später auch noch ein Haltbarkeitswert etc. dazu kommen soll?</p>
<p>Zudem: Ist ein Charakter ein Monster? Ich gebe dir den guten Rat nach Möglichkeit nur von Klassen abzuleiten wo du wirklich sagen kannst &quot;Ist ein&quot; (ansonsten sollte es zumindest keine &quot;public&quot;-Vererbung sein).</p>
<p>Ich würde hier nochmals trennen. Dabei gibt es mehrere Ansätze, einer wäre z.B die Rüstungsteile auch nochmals zu trennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258389</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 09 Oct 2012 08:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:04:12 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>TMeier schrieb:</p>
<blockquote>
<p>Die Basics verstehe ich schon, nur war mir der Virtual nicht bekannt^^</p>
</blockquote>
<p>Und damit ist der Satz schon in sich falsch. Grundlagen sollten schon die C++ Schlüsselwörter und zumindest ein paar Teile der Standardbibliothek umfassen. Jedes einigermaßen sinnvolle Grundlagenbuch deckt dies ab. Dann, und wirklich erst dann, solltest du dich an einem solchen Projekt versuchen.</p>
<p>Zudem:<br />
a) &quot;unterschied&quot; ist kein sinnvoller Variablenname. Du solltest Namen so wählen, das du auch ein halbes Jahr später noch den Code verstehst. Gute Namen sind wichtig.</p>
<p>b) Völlig egal wie du benennst und einrückst: ABER sei einheitlich. Einmal eine Klasse &quot;monster&quot; und dann eine &quot;Charakter&quot; zu nennen ist nicht gut. Entweder schreibst du Klassen mit einem Großbuchstaben zu beginn oder nicht. Aber sei einheitlich.</p>
<p>c) Du hast einige Designansätze die nicht unbedingt ideal sind. Sie können vielleicht für dich ausreichen, sind aber nicht unbedingt &quot;wartbar&quot; (bzw. Änderungen lassen sich nur schwer implementieren).</p>
<p>Beispielsweise:</p>
<p>TMeier schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class Charakter : public monster
{
    int HelmWert, BrustWert, HandWert, ArmWert, HoseWert, GurtWert, SchuheWert, Schildwert;
    string HelmName, BrustName, HandName, ArmName, HoseName, GurtName, SchuheName, SchildName;
};
</code></pre>
</blockquote>
<p>Fällt dir hier nicht bereits etwas auf? Du hast hier sehr viele Codeduplikate (xxxWert &lt;-&gt; xxxName). Was ist wenn später auch noch ein Haltbarkeitswert etc. dazu kommen soll?</p>
<p>Zudem: Ist ein Charakter ein Monster? Ich gebe dir den guten Rat nach Möglichkeit nur von Klassen abzuleiten wo du wirklich sagen kannst &quot;Ist ein&quot; (ansonsten sollte es zumindest keine &quot;public&quot;-Vererbung sein).</p>
<p>Ich würde hier nochmals trennen. Dabei gibt es mehrere Ansätze, einer wäre z.B die Rüstungsteile auch nochmals zu trennen.</p>
</blockquote>
<p>Ja das mit dem Namen Unterschied war ja nur ein Beispiel <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="😃"
    /><br />
Und die Namensumsetzung ziehe ich Natürlich konsequent durch.</p>
<p>Den rest hast du eindeutig richtig erkannt <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>Das mit dem XXName XXWert ist mit auch aufgefallen jedoch ist mir bis jetzt kein Weg bekannt wie ich das umgehen könnte.</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258390</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:07:29 GMT]]></title><description><![CDATA[<p>Hehe sehen lustig aus die Bezeichner, schöner wäre noch ArmWertInEinerCppVariabelDesTypsInt^^</p>
<p>Aber du machst was, das ist gut. Nur durch Fehler lernt der Mensch. Fehler machen ist also was gutes, das vergessen viele heutzutage einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258393</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:07:29 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:11:16 GMT]]></title><description><![CDATA[<p>TMeier schrieb:</p>
<blockquote>
<p>Das mit dem XXName XXWert ist mit auch aufgefallen jedoch ist mir bis jetzt kein Weg bekannt wie ich das umgehen könnte.</p>
</blockquote>
<p>Teile und Herrsche...</p>
<p>Eine Möglichkeit (und etwas weiter gesponnen):</p>
<pre><code class="language-cpp">enum ERuestungspostion
{
    postion_helm,
    //...
    postion_schild
};

class Ruestungsteil
{
    //...
    ERuestungspostion Position;
    std::string Name;
    int Ruestungswert;
    int HaltbarkeitMax;
    int HaltbarkeitAktuell;
    //...
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2258394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258394</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:11:57 GMT]]></title><description><![CDATA[<p>Butterbrot schrieb:</p>
<blockquote>
<p>Hehe sehen lustig aus die Bezeichner, schöner wäre noch ArmWertInEinerCppVariabelDesTypsInt^^</p>
<p>Aber du machst was, das ist gut. Nur durch Fehler lernt der Mensch. Fehler machen ist also was gutes, das vergessen viele heutzutage einfach.</p>
</blockquote>
<p>Haha der VarName ist ja mal hammer xD</p>
<p>Ja ich bin froh das einem hier so gut geholfen wird.<br />
Ich versuche jetzt möglichst schnell wieder an meine C++ Bücher zu kommen (sind bei Freunden) und werde mich in den Ferien (ab heute Abend 17:00) damit Beschäftigen udn wie gesagt ein Projekt eröffnen damit alle sehen was ich mache <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>
<p>Kennst du eine Seite auf welcher ich das am besten machen kann? (hier?)</p>
<p>Gruss und Danke,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258395</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to 2 beinahe gleiche Klassen, wie umsetzen? on Tue, 09 Oct 2012 09:14:52 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>TMeier schrieb:</p>
<blockquote>
<p>Das mit dem XXName XXWert ist mit auch aufgefallen jedoch ist mir bis jetzt kein Weg bekannt wie ich das umgehen könnte.</p>
</blockquote>
<p>Teile und Herrsche...</p>
<p>Eine Möglichkeit (und etwas weiter gesponnen):</p>
<pre><code class="language-cpp">enum ERuestungspostion
{
    postion_helm,
    //...
    postion_schild
};

class Ruestungsteil
{
    //...
    ERuestungspostion Position;
    std::string Name;
    int Ruestungswert;
    int HaltbarkeitMax;
    int HaltbarkeitAktuell;
    //...
};
</code></pre>
</blockquote>
<p>Sprich zuerst per enum die Aufzählung machen der typen (richtig verstanden?)<br />
danach eine Klasse per ERuestungposition mit enum verknüpfen?</p>
<p>(Was beduetet hier ERuestungspostion Position;)</p>
<p>Gruss,</p>
<p>TMeier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258396</guid><dc:creator><![CDATA[TMeier]]></dc:creator><pubDate>Tue, 09 Oct 2012 09:14:52 GMT</pubDate></item></channel></rss>