<?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[Probleme Pogramm neu zu starten]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe jetzt mein erstes Programm geschrieben. Ein Memoryspiel. Jetzt möchte ich dieses gerne neu starten. Geht im Moment nur über den umständlichen weg schliessen und dann neu öffnen. Für das MemoryFeld habe ich eine Klasse namens &quot;MemoryFeld&quot; geschrieben. Beim starten wird der Konstruktor dieser Klasse automatisch aufgerufen und das Spiel wird initialisiert. Habe ich eine möglichkeit diese initialsierung bzw den Konstruktor im Spiel erneut aufzurufen? Wenn ja wäre es super wenn mir jemand helfen kann. Falls Ihr ne andere Idee habt und ich völlig falsch liege ist das auch OK.</p>
<p>MFG</p>
<p>Mr.Blond</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/102313/probleme-pogramm-neu-zu-starten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 11:23:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/102313.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Feb 2005 15:24:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Thu, 24 Feb 2005 15:24:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe jetzt mein erstes Programm geschrieben. Ein Memoryspiel. Jetzt möchte ich dieses gerne neu starten. Geht im Moment nur über den umständlichen weg schliessen und dann neu öffnen. Für das MemoryFeld habe ich eine Klasse namens &quot;MemoryFeld&quot; geschrieben. Beim starten wird der Konstruktor dieser Klasse automatisch aufgerufen und das Spiel wird initialisiert. Habe ich eine möglichkeit diese initialsierung bzw den Konstruktor im Spiel erneut aufzurufen? Wenn ja wäre es super wenn mir jemand helfen kann. Falls Ihr ne andere Idee habt und ich völlig falsch liege ist das auch OK.</p>
<p>MFG</p>
<p>Mr.Blond</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731555</guid><dc:creator><![CDATA[Mr.Blond]]></dc:creator><pubDate>Thu, 24 Feb 2005 15:24:35 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Thu, 24 Feb 2005 15:28:19 GMT]]></title><description><![CDATA[<p>Methoden zur Initialisierung aus dem Konstruktor in eine andere Funktion auslagern, die dann vom Konstruktor aufgerufen wird. Dann kannst du zum &quot;Neustarten&quot; ganz einfach diese Funktion aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731559</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Thu, 24 Feb 2005 15:28:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Thu, 24 Feb 2005 15:47:04 GMT]]></title><description><![CDATA[<p>Dasd schrieb:</p>
<blockquote>
<p>Methoden zur Initialisierung aus dem Konstruktor in eine andere Funktion auslagern, die dann vom Konstruktor aufgerufen wird. Dann kannst du zum &quot;Neustarten&quot; ganz einfach diese Funktion aufrufen.</p>
</blockquote>
<p>Wie genau ist das gemeint? Sory. Bin aber noch n Newbee. Ich hab folgende Klasse:</p>
<pre><code>struct pos {int x; int y;};

class MemoryFeld{
        public:
        MemoryFeld();
        void KarteOeffnen(int x, int y);
        void SchliesseKarten();
        void NeuesSpiel();
        void Umdrehen();
        void ComputerZug();
        int OffeneKarten;
        int player;
        pos OffeneKartenPos[2];
        int Paare[2];
        // das Feld fuer die Indizes der Bilder
        int InitFeld[7][6];
        // das Spielfeld
        int SpielFeld[7][6];
        // Kopie des Spielfeldes
        int Copy[7][6];
        // Bilder, die bereits aufgedeckt wurden
        pos Aufgedeckt[21][2];
};
</code></pre>
<p>folgenden Konstruktor:</p>
<pre><code>MemoryFeld::MemoryFeld(){
        int bild=0;
        int Feld[42];
        OffeneKarten=0;
        player = 0;
        Paare[0]=0;
        Paare[1]=0;
        // Initialisiere Aufgedeckt mit -1
        for (int i=0; i&lt;21;i++)
                for (int j=0; j&lt;2; j++){
                        Aufgedeckt[i][j].x=-1;
                        Aufgedeckt[i][j].y=-1;
                }
        //Belegen von Feld
        for (int i=0; i&lt;42; i++){
                Feld[i]= bild;
                if(((i+1) % 2 == 0)) bild++;
        }
        // Mischen von Feld
        randomize();
        random_shuffle(Feld,Feld+42);
        // Kopieren aus Feld in InitFeld
        for (int i =0; i&lt;7; i++)
                for (int j = 0; j&lt;6; j++){
                        InitFeld[i][j]=Feld[j*7+i];
                        SpielFeld[i][j]=22;
                }
}
</code></pre>
<p>In meinem Hauptformular wird bei Programmstart ein Opject vom typ MemoryFeld erstellt. Dieses heisst &quot;SpielFeld&quot;. Wie mache ich das mit dem Auslagern der Funktion jetzt genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731577</guid><dc:creator><![CDATA[Mr.Blond]]></dc:creator><pubDate>Thu, 24 Feb 2005 15:47:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Thu, 24 Feb 2005 20:41:14 GMT]]></title><description><![CDATA[<p>*seufz*<br />
Du erstellst <em>in deiner Klasse</em> eine neue Funktion in die der Quelltext des Konstruktors kommt. Im Konstruktor selbst wird diese Funktion lediglich aufgerufen. Dann kannst du diese neue Funktion auch von außen nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731780</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Thu, 24 Feb 2005 20:41:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Fri, 25 Feb 2005 00:45:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>oder du erzeugst eine Memberfunktion reset (oder init oder sonst wie), welche im wesentlichen den Code des Konstruktors enthält.<br />
Eine andere Lösunge wäre, du erstellst eine Instanz deiner Memoryklasse dynamisch, löschst und erzeugst sie dann bei Bedarf.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731881</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 25 Feb 2005 00:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Pogramm neu zu starten on Fri, 25 Feb 2005 07:51:29 GMT]]></title><description><![CDATA[<p>Danke Leute!<br />
Hab das jetzt mit ner extra Funkton und dem geichen Code wie im Konstruktor gemacht.<br />
Manchmal sieht man den Wald vor lauter Bäumen nicht.</p>
<p>MFG</p>
<p>Mr.Blond</p>
<p>(Mein Name ist Programm)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731942</guid><dc:creator><![CDATA[Mr.Blond]]></dc:creator><pubDate>Fri, 25 Feb 2005 07:51:29 GMT</pubDate></item></channel></rss>