<?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[[Speicherverwaltung] Kartenspiel]]></title><description><![CDATA[<p>Hallo ich möchte gerne <strong>MauMau</strong> und <strong>Knack</strong> realisieren. Ich habe entsprechend ein 52er Deck in einer Resource gepackt und suche eine Speicherverwaltung, ich bräuchte die Position des Bildes in der Resource bsp. ID 1-52, den Wert der Karte (2-11) und den Namen (Caro 2 - Kreuz Ass).<br />
Wie realisiert ma soetwas in C++, ich weis in Delphi gibt es records und in php verschachtelte Arrays aber in C++ ?</p>
<p>Danke für die Unterstützung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168987/speicherverwaltung-kartenspiel</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 06:11:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168987.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Dec 2006 20:14:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 30 Dec 2006 20:14:07 GMT]]></title><description><![CDATA[<p>Hallo ich möchte gerne <strong>MauMau</strong> und <strong>Knack</strong> realisieren. Ich habe entsprechend ein 52er Deck in einer Resource gepackt und suche eine Speicherverwaltung, ich bräuchte die Position des Bildes in der Resource bsp. ID 1-52, den Wert der Karte (2-11) und den Namen (Caro 2 - Kreuz Ass).<br />
Wie realisiert ma soetwas in C++, ich weis in Delphi gibt es records und in php verschachtelte Arrays aber in C++ ?</p>
<p>Danke für die Unterstützung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1200069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1200069</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sat, 30 Dec 2006 20:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 30 Dec 2006 20:44:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>In C/C++ gibts Klassen/Strukturen (entspricht Delphi-records) und Arrays auf Arrays/Klassen/Strukturen (das was du vermutlich mit verschachtelt meinst). Dabei braucht du nicht mal ein dynamisches Array, ein einfaches C-Array mit 52 festen Elementen reicht aus.</p>
<p>Anstelle der Ressourcen würde ich dir die VCL-eigene TImageList empfehlen, das läßt sich sowohl zur Entwurfszeit als auch zur Laufzeit einfacher und direkter benutzen.<br />
Um trotzdem Ressourcen zu laden siehe TBitmap::LoadFromRessource.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1200082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1200082</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 30 Dec 2006 20:44:02 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 30 Dec 2006 20:57:50 GMT]]></title><description><![CDATA[<p>Vielen Dank</p>
<p>Strukturen hört sich interessant an möglicherweise werde ich es damit umsetzen aber erstmal forschen wie es funktioniert <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 />
Wie man Resourcen lädt ist kein Problem habe ich schon fertig mit ID, mit TImageList habe ich noch nie etwas gemacht, aber eben gesehn das man damit nur .ico und .bmp laden kann (Borland 6), ich habe die Karten aus der cards.dll von Windows entnommen und sie in einer Resourcedatei gepackt da ich 1. die Bilder versteckt haben möchte und 2. noch keinen Nachteil von Resourcen kenne :p<br />
Mit Klassen und Pointer kenne ich mich noch nicht sehr gut aus und möchte erstmal ohne auskommen, ein einfaches C-Array reicht eben nicht wenn ich mehr als nur eine Information benötige.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1200087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1200087</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sat, 30 Dec 2006 20:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 30 Dec 2006 21:29:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Strukturen sind im Grunde das gleiche wie Klassen, wobei Strukturen gewohnheitsmäßig eher für reine Datensammlungen genommen werden, Klassen hingegen für komplexe Zusammensetzungen aus Attributen, Methoden und Operatoren.<br />
Der einzige echte effektive Unterschied ist aber nur die Standard-Sichtbarkeit der Member (Strukturen : public, Klassen : private)</p>
<p>Ressourcen an sich haben keine Nachteile, eine TImageList hat den Vorteil das es sich besser in die Klassenstruktur der VCL einbindet.<br />
Da du aber schon alles in einer fertigen DLL hast, lohnt sich der Umbau wohl nicht.</p>
<p>Klar reicht ein einfaches C-Array aus. Natürlich kein Array auf ein simplen Datentyp wie int, sondern eben auf deine Karten-Struktur</p>
<pre><code class="language-cpp">struct MyCard
{
  // ... einzelne Attrubute einer Karte
};
MyCard Cards[52];
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1200098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1200098</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 30 Dec 2006 21:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 27 Jan 2007 01:52:46 GMT]]></title><description><![CDATA[<p>Vielen herzlichen Dank akari</p>
<p>Ich bin schon ziemlich weit gekommen bei den Grundlagen, d.h. ich kann die Karten durchschalten, Werte und Namen werdne zugeordnet mittels einer Struktur.<br />
Es läuft alles mit Ressourcen aber ich würde gerne wissen wie es mit der TImageListe aussieht, ich habe es auch ausprobiert, dabei fiel mir auf das die bilder total klein geworden sind. Also ich habe in die Liste 32 Karten eingeladen und dann mal Testweise eine geladen. In der Liste stehen Sachen wie &quot;Dehnen&quot;, &quot;Zentrieren&quot; und &quot;Strecken&quot; das brauch ich doch garnicht, aber eine Option muss man wählen...<br />
Verwaltet diese Imagelist das intern auch wie Ressourcen oder muss man die Bilder mit im Projektordner speichern ?</p>
<p>Danke für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217924</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sat, 27 Jan 2007 01:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 27 Jan 2007 08:39:52 GMT]]></title><description><![CDATA[<p>Hi,<br />
Du kannst bei einer TImageList die Werte Width und Height so setzen, daß sie zu den Karten passen, dann verschwinden diese Optionen (dehnen, etc). Die Bilder müssen dann nicht noch einmal extra dabei liegen, sondern sie werden dann in die ausführbare Datei mit hineinkompiliert.<br />
Viele Grüße,<br />
Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217942</guid><dc:creator><![CDATA[Christian Sonder]]></dc:creator><pubDate>Sat, 27 Jan 2007 08:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 27 Jan 2007 15:32:51 GMT]]></title><description><![CDATA[<p>Danke habs hinbekommen.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;vcl.h&gt;
#pragma hdrstop

#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
short int wert = 0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ImageList1-&gt;GetBitmap(wert,Image1-&gt;Picture-&gt;Bitmap);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Image1Click(TObject *Sender)
{
  ImageList1-&gt;GetBitmap(++wert,Image1-&gt;Picture-&gt;Bitmap);
}
</code></pre>
<p>1. Ich habe 32 Spielkarten (149*225px) eingeladen<br />
2. Dieses Program auszuführen dauert bei meinem Rechner 20sek (kompilieren)<br />
3. Er macht nichts beim OnClick Ereignis</p>
<p>Also bis jetzt ziemlich unkomfortabel <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 />
Der einzige Vorteil gegenüber der Resource ist das der startwert bei 0 beginnen darf und nicht bei 1.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1218097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1218097</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sat, 27 Jan 2007 15:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sat, 27 Jan 2007 15:48:25 GMT]]></title><description><![CDATA[<p>Er macht schon was, zeigt es aber nicht an ... Invalidate() nicht vergessen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1218107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1218107</guid><dc:creator><![CDATA[Christian Sonder]]></dc:creator><pubDate>Sat, 27 Jan 2007 15:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sun, 28 Jan 2007 00:06:44 GMT]]></title><description><![CDATA[<p>Ja ok aber angesichts des Zeitaufwandes sehe ich da kein Vorteil, zumal sowas wie Invalidate() bei den Ressourcen nicht beachtet werden muss, entweder integriert oder andere Technik ich schätze mal letzteres. Aber das ist ja nicht normal das das kompilieren so lange dauert...<br />
Ich bleib bei Resourcen.<br />
Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1218419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1218419</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sun, 28 Jan 2007 00:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sun, 28 Jan 2007 11:02:20 GMT]]></title><description><![CDATA[<p>Hä??? <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="😕"
    /><br />
Wenn Du die Bilder aus Ressourcen (im Gegensatz zum Englischen im Deutschen übrigens mit zwei s <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="😉"
    /> ) lädst, brauchst Du genau so ein Invalidate() in Image1Click, sonst wird er die Anzeige auch nicht aktualisieren.<br />
Was genau für einen Zeitaufwand meinst Du? Doch nicht etwa die 20 Sekündchen kompilieren?</p>
<p>Warum genau willst Du überhaupt sämtliche Karten zu Beginn nacheinander anzeigen lassen (die Sache mit dem MouseClick)? Und warum sind es nur noch 32? Am Anfang hattest Du noch von 52 gesprochen ...</p>
<p>Fragen über Fragen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1218501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1218501</guid><dc:creator><![CDATA[Christian Sonder]]></dc:creator><pubDate>Sun, 28 Jan 2007 11:02:20 GMT</pubDate></item><item><title><![CDATA[Reply to [Speicherverwaltung] Kartenspiel on Sun, 28 Jan 2007 12:30:24 GMT]]></title><description><![CDATA[<p>Es geht nur darum ein Vorteil für die Imagelist zu finden, daher habe ich ein wenig rumprobiert. Das 52er Deck liegt mir in einer Ressource vor genauer gesagt von der cards.dll<br />
Das 32 Deck habe ich ausm I-net geladen sie liegen in bmp-Format vor damit man sie der Imagelist zuweisen kann. Das ist doch wirklich viel speicheraufwand 32 bmp-karten in ein Programm zu kompilieren, ja die 20 Sekunden jedesmal beim ausführen sind schon nervig <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 />
Sagen wir so es ist kein vorteil <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 />
Wenn die Imagelist jpg oder gif unterstützen könnte dann würde ich sie noch besser finden.<br />
Auch weil man hier ab dem Index &quot;0&quot; laden kann und somit unter Benutzung von Arrays nicht dauernd umrechnen muss.<br />
Ist jetzt auch nicht so dramatisch war reines ausprobieren <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/1218545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1218545</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Sun, 28 Jan 2007 12:30:24 GMT</pubDate></item></channel></rss>