<?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[Kampfskript oder ähnliches]]></title><description><![CDATA[<p>Also, worum es mir geht ist ganz einfach zu verstehen.<br />
Ich habe ein Konsolenbasiertes Strategiespiel programiert das soweit(nach viel hilfe hier ausm Forum) unter anderem ganz gut läuft.<br />
Dabei gibt es 2 Parteien Spieler und Computer, beiden bauen Abwechselnd Gebäude.<br />
Da das ganze nach kurzer Weile langweilig wird soll man auch kämpfen können.<br />
Doch wirklich etwas realisieren das wirklich spaß macht konnte ich noch nicht.</p>
<p>Also ich habe mir das folgendermaßen überlegt, es gibt 2 Arten von Einheiten die man bauen kann. Soweit funktioniert es auch schon.<br />
Man kann Soldaten bauen(sind immer 100), oder Panzer (nur 1).<br />
Gebaut gut und schön.</p>
<p>Jetzt habe ich noch folgendes Festgelegt:<br />
Panzer:</p>
<pre><code class="language-cpp">// 1 Panzer
int PLeben = 1000;
int PAngriffskraft = 500;
</code></pre>
<p>Soldaten:</p>
<pre><code class="language-cpp">// 100 Soldaten
int SLeben = 100;
int SAngriffskraft = 35;
</code></pre>
<p>Beim Gegner genau die gleichen Werte:</p>
<p>gegPanzer:</p>
<pre><code class="language-cpp">// 1 gegPanzer
int gegPLeben = 1000;
int gegPAngriffskraft = 500;
</code></pre>
<p>gegSoldaten:</p>
<pre><code class="language-cpp">// 100 gegSoldaten
int gegSLeben = 100;
int gegSAngriffskraft = 35;
</code></pre>
<p>Ich habe bisher nicht mehr geschafft als das man die Angriffskraft zusammenzählt und damit die zusammengezählte Lebenskraft des Gegners davon zu subtrahieren.<br />
Aber das bringt mir nicht wirklich was und ist auch doof finde ich.</p>
<p>Mein Ziel ist es das man, den Gegner unterlegen Angreifen kann, verliert alle Einheiten, der Gegner bleibt aber nicht Verlustlos, es sei den er ist in ganz großer überzahl.<br />
Mhm, könnt ihr mir da helfen?<br />
Anregungen geben?</p>
<p>Würde mich freuen.</p>
<p>mfg<br />
Last-Boyscout</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152011/kampfskript-oder-ähnliches</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 12:15:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152011.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Jul 2006 18:38:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 18:38:59 GMT]]></title><description><![CDATA[<p>Also, worum es mir geht ist ganz einfach zu verstehen.<br />
Ich habe ein Konsolenbasiertes Strategiespiel programiert das soweit(nach viel hilfe hier ausm Forum) unter anderem ganz gut läuft.<br />
Dabei gibt es 2 Parteien Spieler und Computer, beiden bauen Abwechselnd Gebäude.<br />
Da das ganze nach kurzer Weile langweilig wird soll man auch kämpfen können.<br />
Doch wirklich etwas realisieren das wirklich spaß macht konnte ich noch nicht.</p>
<p>Also ich habe mir das folgendermaßen überlegt, es gibt 2 Arten von Einheiten die man bauen kann. Soweit funktioniert es auch schon.<br />
Man kann Soldaten bauen(sind immer 100), oder Panzer (nur 1).<br />
Gebaut gut und schön.</p>
<p>Jetzt habe ich noch folgendes Festgelegt:<br />
Panzer:</p>
<pre><code class="language-cpp">// 1 Panzer
int PLeben = 1000;
int PAngriffskraft = 500;
</code></pre>
<p>Soldaten:</p>
<pre><code class="language-cpp">// 100 Soldaten
int SLeben = 100;
int SAngriffskraft = 35;
</code></pre>
<p>Beim Gegner genau die gleichen Werte:</p>
<p>gegPanzer:</p>
<pre><code class="language-cpp">// 1 gegPanzer
int gegPLeben = 1000;
int gegPAngriffskraft = 500;
</code></pre>
<p>gegSoldaten:</p>
<pre><code class="language-cpp">// 100 gegSoldaten
int gegSLeben = 100;
int gegSAngriffskraft = 35;
</code></pre>
<p>Ich habe bisher nicht mehr geschafft als das man die Angriffskraft zusammenzählt und damit die zusammengezählte Lebenskraft des Gegners davon zu subtrahieren.<br />
Aber das bringt mir nicht wirklich was und ist auch doof finde ich.</p>
<p>Mein Ziel ist es das man, den Gegner unterlegen Angreifen kann, verliert alle Einheiten, der Gegner bleibt aber nicht Verlustlos, es sei den er ist in ganz großer überzahl.<br />
Mhm, könnt ihr mir da helfen?<br />
Anregungen geben?</p>
<p>Würde mich freuen.</p>
<p>mfg<br />
Last-Boyscout</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089740</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 18:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 19:51:33 GMT]]></title><description><![CDATA[<p>Zeig mal den Quelltext,...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089776</guid><dc:creator><![CDATA[Martin Braun]]></dc:creator><pubDate>Sat, 01 Jul 2006 19:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 19:57:25 GMT]]></title><description><![CDATA[<p>Martin Braun schrieb:</p>
<blockquote>
<p>Zeig mal den Quelltext,...</p>
</blockquote>
<p>Das würde dir nicht sonderlich viel bringen, weil der Code zum Angriff komplett fehlt.<br />
Die Variablen stehen oben.<br />
Mehr ist auch nicht von nöten.<br />
Das andere sind nur die Auswahlmenüs, die sim Ki, die Schleifen und soweiter.</p>
<p>Ich brauch nur eine kleine Berechnung für die Obenstehenden Werte.</p>
<p>Zb.:</p>
<p>2 Panzer und 500 Soldaten greifen 1 Panzer und 300 Soldaten an.<br />
Dem Angreifer gehen 1 Panzer und 100 Soldaten verloren, der Gegner verliert alles oder behält 100 Soldaten übrig.</p>
<p>mehr will ich garnicht.<br />
Wenns mit einfach if Anweisungen und so gehen sollte währe das vollkommen in Ordnung.</p>
<p>mfg<br />
Last-Boyscout</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089779</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 19:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 20:15:01 GMT]]></title><description><![CDATA[<p>Last-Boyscout schrieb:</p>
<blockquote>
<p>Martin Braun schrieb:</p>
<blockquote>
<p>Zeig mal den Quelltext,...</p>
</blockquote>
<p>Das würde dir nicht sonderlich viel bringen, weil der Code zum Angriff komplett fehlt.<br />
Die Variablen stehen oben.<br />
Mehr ist auch nicht von nöten.<br />
Das andere sind nur die Auswahlmenüs, die sim Ki, die Schleifen und soweiter.</p>
<p>Ich brauch nur eine kleine Berechnung für die Obenstehenden Werte.</p>
<p>Zb.:</p>
<p>2 Panzer und 500 Soldaten greifen 1 Panzer und 300 Soldaten an.<br />
Dem Angreifer gehen 1 Panzer und 100 Soldaten verloren, der Gegner verliert alles oder behält 100 Soldaten übrig.</p>
<p>mehr will ich garnicht.<br />
Wenns mit einfach if Anweisungen und so gehen sollte währe das vollkommen in Ordnung.</p>
<p>mfg<br />
Last-Boyscout</p>
</blockquote>
<p>Ich habe mich mit diesem Thema noch nicht beschäftigt,dennoch aber will ich dir umbedingt helfen,weil wenn ich mal hilfe brauch,hilfst du mir ja wahrscheinlich auch <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>Also aus was besteht dein Programm(Schleifen,Arrays..)?</p>
<p>Martin</p>
<p>EDIT:</p>
<p>Also verwende mal ein array(),denn das wäre die einfachste lösung,nur wie man es ausrechnet,weiss ich nicht ,sorry <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 />
Versuch mal evt. einen Platzhalter einzusetzen.. oder cin&gt;&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089786</guid><dc:creator><![CDATA[Martin Braun]]></dc:creator><pubDate>Sat, 01 Jul 2006 20:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 20:32:11 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Formuliere doch erstmal die Regeln deiner Angriffsmanöver in einfachen mathematischen Formeln, und bedenke möglichst alle Sonderfälle. Dabei werden wir dir nicht groß helfeln könnem, schließlich ist es dein Spiel und du must wissen wie dein Spiel laufen soll.<br />
Daraus dann den Quellcode zu schreiben wird danach leichter sein als du denkst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089795</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 01 Jul 2006 20:32:11 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 20:35:12 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo<br />
Daraus dann den Quellcode zu schreiben wird danach leichter sein als du denkst.</p>
<p>bis bald<br />
akari</p>
</blockquote>
<p>Das denke ich auch</p>
<p>Aber bin mal gespannt,wie er das in der Konsole programmiert hat ^^<br />
Geht denn das überhaupt?</p>
<p>akari schrieb:</p>
<blockquote>
<p>Es geht garnicht mal in der Konsole mit Grafiken zu programmieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>doch <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="🙂"
    /> nur schwarzweiß</p>
<p>Alles ur cool editiert ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089796</guid><dc:creator><![CDATA[Martin Braun]]></dc:creator><pubDate>Sat, 01 Jul 2006 20:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:03:19 GMT]]></title><description><![CDATA[<p>Eigentlich ganz einfach, mehrere Schleifen(hatte vorher gotos drin^^) dann saumäßigviele If-Anweisungen, dann einfache Textausgaben.<br />
Reccaucenschleifen und und... ok dann poste ich mal den Code wenn ihr wollt:</p>
<pre><code>//Krieg im Überblick

//******************************************************************************
#include &lt;string&gt;
#include &lt;windows.h&gt;
#include &lt;iostream.h&gt;
#include &lt;tchar.h&gt;
#include &lt;cstdlib&gt;  
#include &lt;ctime&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;windows.h&gt;
//******************************************************************************

//Clearscreen!
//******************************************************************************
void gotoxy (int x, int y)
{
    COORD pos={x, y};

    cout.flush ();
    SetConsoleCursorPosition (GetStdHandle (STD_OUTPUT_HANDLE), pos);
}

void clrscr ()
{
    HANDLE handle=GetStdHandle (STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO info;
    COORD pos={0, 0};
    DWORD dw;

    cout.flush ();
    GetConsoleScreenBufferInfo (handle, &amp;info);

    cout.flush ();
    FillConsoleOutputAttribute (handle, info.wAttributes, info.dwSize.X*info.dwSize.Y, pos, &amp;dw);
    cout.flush ();
    FillConsoleOutputCharacter (handle, ' ', info.dwSize.X*info.dwSize.Y, pos, &amp;dw);

    gotoxy (0, 0);
}
//******************************************************************************

//Farbengine von Adam!
//******************************************************************************
void farbe(WORD farbe) { 

     SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), farbe); 
     } 

#define DUNKELBLAU      0x0001 
#define GRUEN           0x0002 
#define TUERKIS         0x0003 
#define ROT             0x0004 
#define VIOLETT         0x0005 
#define BRAUN           0x0006 
#define NORMAL          0x0007 
#define GRAU            0x0008 
#define BLAU            0x0009     
#define HELLGRUEN       0x000a 
#define HELLBLAU        0x000b 
#define HELLROT         0x000c 
#define PINK            0x000d 
#define GELB            0x000e 
#define WEISS           0x000f
#define ADAMadd         0x00f1
#define ADAM2           0x00f4
#define ADAM            0x00fc
#define bli             0x00f9
//******************************************************************************

//Variablen vom Spieler
//******************************************************************************
//Globale Variablen

//Verschiedene Variablen
int Rundenzaehler = 0;
int Eingabe;

//Alles für Holz
int Ende = 100;
int Holz = 100;
int Holzspeicher = 500;
int Holzfaeller = 1;

//Alles für Erz
int Mine = 0;
int Erz = 0;
int Erzspeicher = 0;
int Erzende  = 0;

//Alles für den Krieg
int Kaserne = 0;
int Soldaten = 0;
int Soldatenlimit = 0;
int Panzer = 0;

//Alles für Nahrung
int Nahrung = 0;
int Farm = 0;
int Nahrungsende = 0;
int Nahrungsspeicher = 0;
int Hunger = 2;

//Sonstige Gebäude
int Werkstatt = 0;
int Haus = 0;

//******************************************************************************

//Variablen vom Computer
//******************************************************************************

//Verschiedene Variablen

//Alles für Holz
int gegHolz = 100;
int gegHolzfaeller = 1;
int gegEnde = 100;
int gegHolzspeicher = 500;

//Alles für Erz
int gegMine =0;
int gegErz = 0;
int gegErzende = 100;
int gegErzspeicher = 0;

//Alles für Krieg
int gegKaserne = 0;
int gegSoldaten = 0;
int gegSoldatenlimit = 0;
int gegPanzer = 0;

//Alles für Nahrung
int gegNahrung = 0;
int gegFarm = 0;
int gegNahrungsende = 0;
int gegNahrungsspeicher = 0;

//Sonstige Gebäude
int gegWerkstatt = 0;
int gegHaus = 0;

//******************************************************************************

//******************************************************************************
//Alle Schleifen:

void Schleifen()

{
     //Spieler Holzschliefe
      for (Holz = 1; Holz &lt; Ende; Holz++) 

     //Spieler Erzschleife
     if (Mine &gt;= 1)
       {
             for (Erz = 1; Erz &lt; Erzende; Erz++);
       }

     //Spieler Nahrungsschleife
     if (Farm &gt;= 1)
     {
              for (Nahrung = 1; Nahrung &lt; Nahrungsende; Nahrung++);
     }  

     //Gegnerische Holzschleife
     for (gegHolz = 1; gegHolz &lt; gegEnde; gegHolz++)

     //Gegnerische Erzschleife  
     if (gegMine &gt;= 1)
       {
             for (gegErz = 1; gegErz &lt; gegErzende; gegErz++);
       }

       //Gegnerische Nahrungsschleife
     if (gegFarm &gt;= 1)
     {
              for (gegNahrung = 1; gegNahrung &lt; gegNahrungsende; gegNahrung++);
     }  

       //Berechnung der Speicher des Spielers:
       Holzspeicher = (Holzspeicher + Holz);
       Erzspeicher = (Erzspeicher + Erz);
       Nahrungsspeicher = (Nahrungsspeicher + Nahrung);

       //Berechnung der Speicher des Gegners:
       gegHolzspeicher = (gegHolzspeicher + gegHolz);
       gegErzspeicher = (gegErzspeicher + gegErz);
       gegNahrungsspeicher = (gegNahrungsspeicher + gegNahrung);    
};

//******************************************************************************

//******************************************************************************
void Interface()
{
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), ROT);
    cout &lt;&lt; &quot;                              Krieg 2006                &quot; &lt;&lt; endl;
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), GELB);
    cout &lt;&lt; &quot;      Spieler                                           Computer         &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Holzproducktion: &quot; &lt;&lt; Holz  &lt;&lt; &quot;   &quot; &lt;&lt; &quot;                         Holzproducktion: &quot; &lt;&lt; gegHolz &lt;&lt;  endl;
    cout &lt;&lt; &quot;Holzreserven   : &quot; &lt;&lt; Holzspeicher &lt;&lt; &quot;    &quot; &lt;&lt; &quot;                        Holzreserven   : &quot; &lt;&lt; gegHolzspeicher &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Erzproducktion : &quot; &lt;&lt; Erz   &lt;&lt; &quot;   &quot; &lt;&lt; &quot;                           Erzproducktion : &quot; &lt;&lt; gegErz &lt;&lt; endl;
    cout &lt;&lt; &quot;Erzreserven    : &quot; &lt;&lt; Erzspeicher  &lt;&lt; &quot;    &quot; &lt;&lt; &quot;                          Erzreserven    : &quot; &lt;&lt; gegErzspeicher &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Nahrungsprod   : &quot; &lt;&lt; Nahrung      &lt;&lt; &quot;         &quot; &lt;&lt; &quot;                     Nahrungsprod   : &quot; &lt;&lt; gegNahrung &lt;&lt; endl;
    cout &lt;&lt; &quot;Nahrung        : &quot; &lt;&lt; Nahrungsspeicher &lt;&lt; &quot;         &quot; &lt;&lt; &quot;                     Nahrung        : &quot; &lt;&lt; gegNahrungsspeicher &lt;&lt; endl;                           
    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), WEISS);

    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), GRUEN);
    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Holzf\x84ller: &quot; &lt;&lt; Holzfaeller &lt;&lt; &quot; H\x84user     : &quot; &lt;&lt; Haus &lt;&lt; &quot; Minen: &quot; &lt;&lt; Mine &lt;&lt; &quot;|&quot; &lt;&lt; &quot;Holzf\x84ller: &quot; &lt;&lt; gegHolzfaeller &lt;&lt; &quot; H\x84user     : &quot; &lt;&lt; gegHaus &lt;&lt; &quot; Minen: &quot; &lt;&lt; gegMine &lt;&lt; endl;
    cout &lt;&lt; &quot;Kasernen  : &quot; &lt;&lt; Kaserne  &lt;&lt;       &quot; Werkst\x84tten: &quot; &lt;&lt; Werkstatt &lt;&lt; &quot;         |&quot; &lt;&lt; &quot;Kasernen  : &quot; &lt;&lt; gegKaserne  &lt;&lt;       &quot; Werkst\x84tten: &quot; &lt;&lt; gegWerkstatt &lt;&lt; endl;
    cout &lt;&lt; &quot;Soldaten  : &quot; &lt;&lt; Soldaten &lt;&lt;       &quot;                        |&quot; &lt;&lt; &quot;Soldaten  : &quot; &lt;&lt; gegSoldaten &lt;&lt; endl;
    cout &lt;&lt; &quot;Farmen    : &quot; &lt;&lt; Farm     &lt;&lt;  endl;
    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), WEISS);

    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;       &quot; &lt;&lt; &quot;___     &quot; &lt;&lt; &quot;            &quot; &lt;&lt; &quot;        &quot; &lt;&lt; &quot;            &quot; &lt;&lt; &quot;             &quot; &lt;&lt; &quot;        &quot; &lt;&lt; &quot;        &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;       &quot; &lt;&lt; &quot;| |     &quot; &lt;&lt; &quot;            &quot; &lt;&lt; &quot;        &quot; &lt;&lt; &quot; ________   &quot; &lt;&lt; &quot;/\\/\\/\\/\\ &quot; &lt;&lt; &quot;        &quot; &lt;&lt; &quot;        &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;       &quot; &lt;&lt; &quot;|_|     &quot; &lt;&lt; &quot;____        &quot; &lt;&lt; &quot; _     &quot; &lt;&lt; &quot; / __  __ \\ &quot; &lt;&lt; &quot; |______|     &quot; &lt;&lt; &quot; ** **  &quot; &lt;&lt; &quot;        &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;____   &quot; &lt;&lt; &quot;/ \\__  &quot; &lt;&lt; &quot;/____\\____ &quot; &lt;&lt; &quot;  / \\_  &quot; &lt;&lt;&quot;  | ||  || |  &quot; &lt;&lt; &quot;|Panzer|     &quot; &lt;&lt; &quot; ||-||- &quot; &lt;&lt; &quot;   &lt;&gt;-- &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;|__|-| &quot; &lt;&lt; &quot;|_|__\\ &quot; &lt;&lt; &quot;|_____|__|  &quot; &lt;&lt; &quot; |___|  &quot; &lt;&lt; &quot; |________|  &quot; &lt;&lt; &quot;|______|     &quot; &lt;&lt; &quot; ^^ ^^  &quot; &lt;&lt; &quot; &lt;=====&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Holz.: &quot;&lt;&lt; Holzfaeller &lt;&lt; &quot; Mien: &quot; &lt;&lt; Mine &lt;&lt; &quot; Farmen: &quot; &lt;&lt; Farm &lt;&lt; &quot; Haus.: &quot; &lt;&lt; Haus &lt;&lt; &quot; Kaser.: &quot; &lt;&lt; Kaserne &lt;&lt; &quot;  Werkst.:&quot; &lt;&lt; Werkstatt &lt;&lt; &quot;  Solda.: &quot; &lt;&lt; Soldaten &lt;&lt; &quot; Panzer: &quot; &lt;&lt; Panzer &lt;&lt; endl;

    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    Sleep(50);

};

bool Ki;

void Kii()
{
     do
     {

//****************************************************************************** 
//****************************************************************************** 
//Anfang Gegner KI   

    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), ROT);
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                           Dein Gegner überlegt sich seinen Zug...&quot; &lt;&lt; endl;
    Sleep(20);
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), WEISS);

    Ki = true;

   //KI errechnet einen Wert von 1-9
   //srand((unsigned int)time(0));
   int Entscheidung = rand() % (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)+ 1;

    if (Ki == true)
    {
    if (Entscheidung == 1)
    {
                     if (gegHolzspeicher &gt;= 200)
                     {
                                         cout &lt;&lt; &quot;Holzfaeller wird gebaut!&quot; &lt;&lt; endl;
                                         gegHolzfaeller = gegHolzfaeller + 1;
                                         gegHolzspeicher = gegHolzspeicher - 200;
                                         gegEnde = gegEnde + 100;
                                         Ki = false;
                                         Sleep(2000);

                     }
    }
    }

    if (Ki == true)
    {
    if (Entscheidung == 2)
    {
                     if (gegHolzspeicher &gt;= 500)
                     {
                                         if (gegErzspeicher &gt;= 500)
                                         {

                                                            cout &lt;&lt; &quot;Haus wird gebaut!&quot; &lt;&lt; endl;
                                                            gegHaus = gegHaus + 1;
                                                            gegHolzspeicher = gegHolzspeicher - 500;
                                                            gegErzspeicher = gegErzspeicher - 500;
                                                            gegSoldatenlimit = gegSoldatenlimit + 200;
                                                            Ki = false;
                                                            Sleep(2000);
                                          }

                     }
    }
    }

    if (Ki == true)
    {
    if (Entscheidung == 3)
    { 
                     if (gegHolzspeicher &gt;= 600)
                     {

                                        cout &lt;&lt; &quot;Mine wird gebaut!&quot; &lt;&lt; endl;
                                        gegMine = gegMine + 1;
                                        gegHolzspeicher = gegHolzspeicher - 600;
                                        gegErzende = gegErzende + 100;
                                        Ki = false;
                                        Sleep(2000);

                     }
    }

    }

     if (Ki == true)
     {
     if (Entscheidung == 4)
    { 
        if (gegHolzspeicher &gt;= 10000)
        {
                            if (gegErzspeicher &gt;= 7000)
                            {

                                               cout &lt;&lt; &quot;Kaserne wird gebaut!&quot; &lt;&lt; endl;
                                               gegKaserne = gegKaserne + 1;
                                               gegHolzspeicher = gegHolzspeicher - 10000;
                                               gegErzspeicher = gegErzspeicher - 7000;
                                               Ki = false;
                                               Sleep(2000);

                            }
        }
    }
    }

     if (Ki == true)
     {
     if (Entscheidung == 5)
    { 
        if (gegHolzspeicher &gt;= 50000)
        {
                            if (gegErzspeicher &gt;= 35000)
                            {

                                               cout &lt;&lt; &quot;Werkstatt wird gebaut!&quot; &lt;&lt; endl;
                                               gegWerkstatt = gegWerkstatt + 1;
                                               gegHolzspeicher = gegHolzspeicher - 50000;
                                               gegErzspeicher = gegErzspeicher - 35000;
                                               Ki = false;
                                               Sleep(2000);

                            }
        }
    }
    }

     if (Ki == true)
     {
     if (Entscheidung == 6)
    { 
        if (gegKaserne &gt;= 1)
           {
                    if (gegHaus &gt;= 1)
                    {
                         if (gegHolzspeicher &gt;= 100)
                         {
                                             if(gegErzspeicher &gt;= 500)
                                             {
                                                               if(Nahrungsspeicher &gt;= 1000)
                                                               {

                                                                                   if (gegSoldaten &lt;= gegSoldatenlimit)
                                                                                   {                       

                                                                                                           cout &lt;&lt; &quot;Soldaten werden produziert!&quot; &lt;&lt; endl;
                                                                                                           gegSoldaten = gegSoldaten + 100;
                                                                                                           gegHolzspeicher = gegHolzspeicher - 1000;
                                                                                                           Ki = false;
                                                                                                           Sleep(2000);
                                                                                    }
                                                                }
                                              }

                         }
                    }
           }
        }

    }

    if (Ki == true)
    {
           if (Entscheidung == 7)
           {
                            if (gegSoldaten &gt; 0)
                            {
                                            cout &lt;&lt;&quot; Der Computer greift dich an!&quot; &lt;&lt; endl;
                                            Soldaten = Soldaten - gegSoldaten;
                                            cout &lt;&lt; &quot;Die &quot; &lt;&lt; gegSoldaten &lt;&lt; &quot; greifen deine &quot; &lt;&lt; Soldaten &lt;&lt; &quot; an!&quot; &lt;&lt; endl;
                                                              if (Soldaten &lt;= 0)
                                                              {
                                                                          Haus = Haus -1;
                                                                          Mine = Mine -1;
                                                                          Kaserne = Kaserne -1;
                                                                          Werkstatt = Werkstatt -1;
                                                                          }
                                            Ki = false;
                                            Sleep(2000);
                            }
           }
    }

    if (Ki == true)
    {
           if (Entscheidung == 8)
           {
                            if(gegHolzspeicher &gt;= 1000)
                            {
                                               if(gegErzspeicher &gt;= 500)
                                               {
                                                                 cout &lt;&lt; &quot;Farm wird gebaut!&quot; &lt;&lt; endl;
                                                                 gegFarm = gegFarm + 1;
                                                                 gegHolzspeicher = gegHolzspeicher - 1000;
                                                                 gegErzspeicher = gegErzspeicher - 500;
                                                                 gegNahrungsende = gegNahrungsende +100;
                                                                 Ki = false;
                                                                 Sleep(2000);
                                               }
                            }                  
           }
    }

    if (Ki == true)
    {
           if (Entscheidung == 9)
           {
                            if(gegHolzspeicher &gt;= 500)
                            {
                                               if(gegErzspeicher &gt;= 2000)
                                               {

                                                                 if(gegNahrungsspeicher &gt;= 2000)
                                                                 {
                                                                                        cout &lt;&lt; &quot;Er baut Panzer!&quot; &lt;&lt; endl;
                                                                                        gegPanzer = gegPanzer +1;
                                                                                        gegHolzspeicher = gegHolzspeicher - 500;
                                                                                        gegErzspeicher = gegErzspeicher - 2000;
                                                                                        gegNahrungsspeicher = gegNahrungsspeicher - 2000;
                                                                                        Ki = false;
                                                                                        Sleep(2000);
                                                                 }
                                               }
                            }
           }
    }                                    

   }
while(Ki != false);
clrscr();
};

//****************************************************************************** 

void Auswahl()
{

    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         Baumenue:   &quot;   &lt;&lt; &quot;Kosten:                     &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                                       &quot; &lt;&lt; &quot;Holz:   / Erz:    / Nahrung:&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot;                                        &lt;&lt; &quot;                            &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         1. Holzfaeller&quot; &lt;&lt; &quot;  200                        &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         2. Mine       &quot; &lt;&lt; &quot;  600                        &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         3. Farm       &quot; &lt;&lt; &quot; 1000      500               &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;&quot;                                            &lt;&lt; endl;
    cout &lt;&lt; &quot;                         4. Haus       &quot; &lt;&lt; &quot;  500      500               &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         5. Kaserne    &quot; &lt;&lt; &quot;10000     7000               &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         6. Werkstatt  &quot; &lt;&lt; &quot;50000    35000               &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         7. Soldaten   &quot; &lt;&lt; &quot;  100      500        1000   &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;                         8. Panzer     &quot; &lt;&lt; &quot;  500     2000        2000   &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;________________________________________________________________________________&quot; &lt;&lt; endl;

     int eingabe;
     cin &gt;&gt; eingabe;
     switch (eingabe)
     // Hier fängt die switchanweisung an!
     {
            //Holzfäller
            case 1:
            {
                 if (Holzspeicher &gt;= 200)
                 {

                         Holzfaeller = Holzfaeller + 1;
                         Ende = Ende + 100;
                         Holzspeicher = Holzspeicher - 200;
                         cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                         Sleep(500);
                         break;
                 }
             }

            //Mine
            case 2:
            {
                 if (Holzspeicher &gt;= 600)
                 {
                                         Mine = Mine + 1;
                                         Erzende = Erzende + 100;
                                         Holzspeicher = Holzspeicher - 600;
                                         cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                         Sleep(500);
                                         break;
                 }

             }

            //Farm
            case 3:
            {
                 if (Holzspeicher &gt;= 1000)
                 {
                                  if (Erzspeicher &gt;= 500)
                                  {
                                                 Farm = Farm +1;
                                                 Nahrungsende = Nahrungsende + 100;
                                                 Holzspeicher = Holzspeicher - 1000;
                                                 Erzspeicher = Erzspeicher - 500;
                                                 cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                                 Sleep(500);
                                                 break;
                                  }

                 }
             }

            //Haus
            case 4:
            {
                 if (Holzspeicher &gt;= 500)
                                  {
                                         if(Erzspeicher &gt;= 500)
                                         {

                                                        Haus = Haus + 1;
                                                        Holzspeicher = Holzspeicher - 500;
                                                        Erzspeicher = Erzspeicher - 500; 
                                                        Soldatenlimit = Soldatenlimit + 200;
                                                        cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                                        cout &lt;&lt; &quot; _    &quot; &lt;&lt; endl;
                                                        cout &lt;&lt; &quot;/ \\__  &quot; &lt;&lt; endl;
                                                        cout &lt;&lt; &quot;|___| &quot; &lt;&lt; endl;
                                                        Sleep(500);
                                                        break;
                                         }
                                  }       

             }

            //Kaserne
            case 5:
            {
                 if (Holzspeicher &gt;=10000)
                 {
                                  if (Erzspeicher &gt;= 7000)
                                  {
                                          Kaserne = Kaserne + 1;
                                          Holzspeicher = Holzspeicher - 10000;
                                          Erzspeicher = Erzspeicher - 7000;
                                          cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                          Sleep(500);
                                          break;
                                  }
                 }
                            cout &lt;&lt; &quot;Du hast nicht gen\x81gend Holz/Erz um ein Haus/Mine/Kaserne zu bauen&quot; &lt;&lt; endl;

             }

            //Werkstatt
            case 6:
            {
                 if (Holzspeicher &gt;= 50000)
                 {
                                  if (Erzspeicher &gt;= 35000)
                                  {

                                                                Werkstatt = Werkstatt + 1;
                                                                Holzspeicher = Holzspeicher - 50000;
                                                                Erzspeicher = Erzspeicher - 35000;
                                                                cout &lt;&lt; &quot;Wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                                                Sleep(500);
                                                                break;

                                  }
                 }
                 cout &lt;&lt; &quot;Du hast zuwenig Holz/Erz um eine Werkstatt bauen zu können!&quot; &lt;&lt; endl;
                 Sleep(500);

             }

            //Soldaten
            case 7:
            {
                 if (Kaserne &gt;=1)
                 {
                             if (Haus &gt;=1)
                             {
                                      if (Soldaten &lt;= Soldatenlimit)
                                      {
                                                   if (Holzspeicher &gt;= 100)
                                                   {
                                                                    if (Erzspeicher &gt;= 500)
                                                                    {
                                                                                    if (Nahrungsspeicher &gt;= 1000)
                                                                                    {                    
                                                                                                         Soldaten = Soldaten + 100;
                                                                                                         Holzspeicher = Holzspeicher - 100;
                                                                                                         Erzspeicher = Erzspeicher - 500;
                                                                                                         Nahrungsspeicher = Nahrungsspeicher - 1000;
                                                                                                         cout &lt;&lt; &quot;Soldaten werden produziert!&quot; &lt;&lt; endl;
                                                                                                         Sleep(500);
                                                                                                         break;
                                                                                    }
                                                                    }
                                                   }       
                                      }      
                             }
                                 cout &lt;&lt; &quot;Du hast zu wenig Häuser, oder dein Soldatenlimit ist erreciht!&quot; &lt;&lt; endl;
                                 Sleep(200);

                 }
                                 else
                                 {
                                              cout &lt;&lt; &quot;Du hast doch garkeine Kaserne!&quot; &lt;&lt; endl;
                                              Sleep(200);

                                 }
             }

            //Panzer
            case 8:
            {
                 if (Werkstatt &gt;= 1)
                 {
                               if (Holzspeicher &gt;= 500)
                               {
                                                if (Erzspeicher &gt;= 2000)
                                                {
                                                                if (Nahrungsspeicher &gt;= 2000)
                                                                {
                                                                 Panzer = Panzer +1;
                                                                 Holzspeicher = Holzspeicher - 500;
                                                                 Erzspeicher = Erzspeicher - 2000;
                                                                 Nahrungsspeicher = Nahrungsspeicher -2000;
                                                                 cout &lt;&lt; &quot;Panzer wird gebaut, bitte warten!&quot; &lt;&lt; endl;
                                                                 Sleep(500);
                                                                 break;
                                                                 }
                                                }
                               }
                 }                   
             }

            //Platzhalter
            case 9:
            {
             }

     }
     //Hier hört die switchanweisung auf!

     //Bildschirm wird gelöscht
     clrscr();
}

//******************************************************************************

//******************************************************************************
//Main

int main()
{
    do
    {

    Interface();
    Auswahl();
    Schleifen();
    Kii();

    }
    while ( 1 &lt; 100);

}

//******************************************************************************
</code></pre>
<p>jetzt kommt erstmal... Unübersichtlich, durcheinander, zuviele If-Anweisungen^^ <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1089810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089810</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:09:51 GMT]]></title><description><![CDATA[<p>Sind wirklich zuviele if.<br />
Schau mal:</p>
<pre><code class="language-cpp">if(holz &gt;= 1000 &amp;&amp; zeug &gt;= 3442 &amp;&amp; soweiter) {
      machDasDingFunktion(); //Aussagekräftiger Funktionsname.
}
</code></pre>
<p>Machs mal so, dann kann mas auch lesen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089819</guid><dc:creator><![CDATA[:schland:]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:16:48 GMT]]></title><description><![CDATA[<blockquote>
<p>jetzt kommt erstmal... Unübersichtlich, durcheinander, zuviele If-Anweisungen^^ <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>
</blockquote>
<p>Richtig, aber nicht volltändig. Hinzuzufügen wäre noch:</p>
<p>Globale Variablen sind böse!</p>
<p>#define-Anweisungen sind <strong>sehr</strong> böse (ausgenommen include-Guards und eine sehr, sehr begrenzte Zahl anderer Fälle).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089820</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:16:22 GMT]]></title><description><![CDATA[<p>:schland: schrieb:</p>
<blockquote>
<p>Sind wirklich zuviele if.<br />
Schau mal:</p>
<pre><code class="language-cpp">if(holz &gt;= 1000 &amp;&amp; zeug &gt;= 3442 &amp;&amp; soweiter) {
      machDasDingFunktion(); //Aussagekräftiger Funktionsname.
}
</code></pre>
<p>Machs mal so, dann kann mas auch lesen</p>
</blockquote>
<p>Das ist eine gute Idee.<br />
Ich habe mir dieses Projeckt vorgenommen, weil C++ mich seht interessiert, komm aber nur langsam voran, aber ich verbessere den Code ständig, am Anfang sah er noch viel schlimmer aus. So lerne ich schneller und besser finde ich.<br />
Außerdem bleibt mir die Motivation wenn ich an etwas arbeite was mir spaß macht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11589">@Z2</a>: aber ohne Globale Variablen gehts hier glaube ich garnicht.</p>
<p>thx, an euch beide, jetzt brauch ich nur noch wen der mir erklärt wie eine einfache Kampfberechnung durchführen kann! <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>mfg<br />
Last-Boyscout</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089825</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:20:38 GMT]]></title><description><![CDATA[<p>Es geht immer ohne globale Variablen. Ich programmiere jetzt seit 8 Jahren in C++ und in dieser Zeit hat es noch keinen einzigen Fall gegeben, wo ich nicht ohne globale Variablen ausgekommen wäre.</p>
<p>Was das &quot;Kampfscript&quot; betrifft: akaris Tip ist gut. Formuliere das ganze als mathematische Formeln (wie die aussehen mußt du schon selbst festlegen; das ist keine Implementations-, sondern eine Design-Frage).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089829</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:24:23 GMT]]></title><description><![CDATA[<p>Auch, wenn es nicht deine Frage ist:</p>
<p>Es würde sich vielleicht auch lohnen, alles in Module zu verpacken, dann hast du mehr übersicht.<br />
Die hier würde ich in eine Klasse bzw. Struktur packen.</p>
<pre><code class="language-cpp">//Verschiedene Variablen
int Rundenzaehler = 0;
int Eingabe;

//Alles für Holz
int Ende = 100;
int Holz = 100;
int Holzspeicher = 500;
int Holzfaeller = 1;

//Alles für Erz
int Mine = 0;
int Erz = 0;
int Erzspeicher = 0;
int Erzende  = 0;

//Alles für den Krieg
int Kaserne = 0;
int Soldaten = 0;
int Soldatenlimit = 0;
int Panzer = 0;

//Alles für Nahrung
int Nahrung = 0;
int Farm = 0;
int Nahrungsende = 0;
int Nahrungsspeicher = 0;
int Hunger = 2;

//Sonstige Gebäude
int Werkstatt = 0;
int Haus = 0;
</code></pre>
<p>--&gt; Bis jetzt ist dein Prgramm noch sehr prozedual, probiere einfack mal alles etwas zu kapseln. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1089833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089833</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:24:23 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:28:08 GMT]]></title><description><![CDATA[<p>Kampffunktion:</p>
<pre><code class="language-cpp">float power = zufallszahlZwischen0und2oderSo();
int neueAnzahlEinheiten = anzahlEinheiten - (int)((float)anzahlGegner * power);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1089836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089836</guid><dc:creator><![CDATA[qwerg]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:37:08 GMT]]></title><description><![CDATA[<p>Jetzt noch zum \1:</p>
<p>Erstelle doch einfach eine Klasse Einheit:</p>
<p>class Einheit<br />
{<br />
int staerke;<br />
int verteidigung;<br />
...<br />
}[/cpp]</p>
<p>--&gt; die kannste dann alle mit fstream in eine Datei schreiben und manipulieren.<br />
und halt wieder auslesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089837</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:33:03 GMT]]></title><description><![CDATA[<p>Hier fehlt es mir dann an Wissen.<br />
Danke für die vielen Vorschläge.</p>
<p>Mal sehen wie weit ich mich da schlau machen kann.<br />
Ne kleine Vorlage habe ich ja jetzt.</p>
<p>Wie genau war das mit den Modulen gemeint?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089839</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:33:03 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:37:46 GMT]]></title><description><![CDATA[<p>Du kannst, wie du lust und laune hast neue Dateien anlegen:</p>
<p>zb.: du legst dir eine Datei names Ki.h an und schreibst dort die KI Funktion rein.</p>
<p>und über #include &quot;ki.h&quot; fügst du die dann in die main ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089841</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:37:46 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:38:07 GMT]]></title><description><![CDATA[<p>Tc++H schrieb:</p>
<blockquote>
<p>Du kannst, wie du willst neue Dateien anlegen:</p>
<p>zb.: du legst dir eine Datei names Ki.h an und schreibst dort die KI Funktion rein.</p>
<p>und über #include &quot;ki.h&quot; fügst du die dann in die main ein.</p>
</blockquote>
<p>Probier ich direckt mal aus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1089844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089844</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:40:16 GMT]]></title><description><![CDATA[<p>Klassen wären natürlich ideal. Aber wie es aussieht würde dich das im Moment noch überfordern. Also fassen wir die Variablen zumindest mal in structs zusammen, z.B. so:</p>
<pre><code class="language-cpp">struct seite // spieler oder gegner
{
    int Mine;
    int Erz;
    int Erzspeicher;
    int Erzende; 

    // und so weiter
};
</code></pre>
<p>in der main-Funktion:</p>
<pre><code class="language-cpp">int main()
{
    do
    {
        seite Spieler:
        seite Gegner;

        InitSpieler (Spieler);
        InitGegner (Gegner);    

        Interface();
        Auswahl (Spieler);
        Berechnung (Spieler); // ersetzt Schleife-Funktion (komischer Name)
        Berechnung (Gegner);
        Kii (Gegner);

    }
    while ( 1 &lt; 100); // witzig ;)
}
</code></pre>
<p>Und deine Funktionen sehen dann so aus:</p>
<pre><code class="language-cpp">void Auswahl (seite&amp; Seite) 
{
// irgendwas
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1089846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089846</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:50:40 GMT]]></title><description><![CDATA[<p>Last-Boyscout schrieb:</p>
<blockquote>
<p>Tc++H schrieb:</p>
<blockquote>
<p>Du kannst, wie du willst neue Dateien anlegen:</p>
<p>zb.: du legst dir eine Datei names Ki.h an und schreibst dort die KI Funktion rein.</p>
<p>und über #include &quot;ki.h&quot; fügst du die dann in die main ein.</p>
</blockquote>
<p>Probier ich direckt mal aus <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>
</blockquote>
<p>Das würde ich übrigens an deiner Stelle nicht machen. Grundsätzlich ist der Hinweis schon korrekt. Aber du solltest erst anfangen zu modularisieren, wenn du auch was zu modularisieren hast. Lediglich einzelne Funktionen in andere Übersetzungseinheiten auszulagern bringt dir erst mal gar nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089852</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:50:40 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 21:56:57 GMT]]></title><description><![CDATA[<p>Alles sehr viel neues für micht, aber die nötigen Verbesserungen.</p>
<p>Dankeschön.</p>
<p>Ich geh jetzt erstmal pennen. <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="😉"
    /></p>
<p>Gute Nacht^^</p>
<p>mfg<br />
Last-Boyscout</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089855</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 21:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Thu, 19 Mar 2009 12:09:36 GMT]]></title><description><![CDATA[<p>Hier mal ein Ansatz:</p>
<pre><code class="language-cpp">unsigned long anzPanzer = 23;
    unsigned long gegAnzPanzer = 42;
    unsigned long anzSoldaten = 11;
    unsigned long gegAnzSoldaten = 33;

    unsigned long PLeben = 1000;
    unsigned long PAngriffskraft = 500;
    unsigned long SLeben = 100;
    unsigned long SAngriffskraft = 35;
    unsigned long gegPLeben = 1000;
    unsigned long gegPAngriffskraft = 500;
    unsigned long gegSLeben = 100;
    unsigned long gegSAngriffskraft = 35;

// ## Angriff ##################################################################

// 1) Panzerbattle

// Haben beide Parteien gleich viel Panzer?
if (anzPanzer == gegAnzPanzer)
{
    // Alle Panzer haben sich gegenseitig ausgeschaltet!
    anzPanzer = 0;
    gegAnzPanzer = 0;
}

    // Hat der Gegner mehr Panzer?
if     (anzPanzer &lt; gegAnzPanzer)
{
    // Der Gegner vernichtet alle Panzer des Spielers...
    gegAnzPanzer -= anzPanzer;
    anzPanzer = 0;

    // ...und greift danach mit den Panzern die Soldaten 
    // des Spielers an!
    if (anzSoldaten != 0)
    {
        while (1)
        {
            // Ein Panzer: Soldaten greifen an, bis keine mehr da 
            // sind oder der Panzer zerstört wurde
            for (long derGegPanzer = gegPLeben; 
                 derGegPanzer &gt; 0 &amp;&amp; anzSoldaten != 0;
                 derGegPanzer -= SAngriffskraft,
                 --anzSoldaten); // Hier können z.B. alle noch verbliebenden
                                 // Panzer auf die Soldaten schiessen und so
                                 // viel mehr von ihnen vernichten, denn die
                                 // einfache Dekrementierung hier wirkt, als
                                 // ob sich die Soldatengruppe in einer Reihe 
                                 // aufstellt, die Gruppe mal angreifen darf
                                 // und danach der Panzer dran ist. Alle anderen
                                 // schauen zu und warten ^^

            // Haben die Panzer etwa alle Soldaten erledigt?
            if (anzSoldaten == 0)
            {
                // SPIELER HAT VERLOREN!!!
                // exit, return, GAME OVER etc.
            }
            // Nein! Offensichtlich haben die Soldaten einen Panzer zerstört
            gegAnzPanzer--;
            // Hat der Gegner noch Panzer?
            if (gegAnzPanzer == 0)
            {
                // Alle gegnerischen Panzer wurden von den Soldaten zerstört!
                break;
            }
        }
    }
    else
    {
        // SPIELER HAT VERLOREN!!!
        // exit, return, GAME OVER etc.
    }
}

// Hat der Spieler mehr Panzer?
if (anzPanzer &gt; gegAnzPanzer)
{
    // Der Spieler vernichtet alle Panzer des Gegners...
    anzPanzer -= gegAnzPanzer;
    gegAnzPanzer = 0;

    // ...und greift danach mit den Panzern die Soldaten 
    // des Gegners an!
    if (gegAnzSoldaten != 0)
    {
        while (1)
        {
            // Ein Panzer: Soldaten greifen an, bis keine mehr da 
            // sind oder der Panzer zerstört wurde
            for (long derPanzer = PLeben; 
                 derPanzer &gt; 0 &amp;&amp; gegAnzSoldaten != 0;
                 derPanzer -= gegSAngriffskraft,
                 --gegAnzSoldaten); // Hier können z.B. alle noch verbliebenden
                                    // Panzer auf die Soldaten schiessen und so
                                    // viel mehr von ihnen vernichten, denn die
                                    // einfache Dekrementierung hier wirkt, als
                                    // ob sich die Soldatengruppe in einer Reihe 
                                    // aufstellt, die Gruppe mal angreifen darf
                                    // und danach der Panzer dran ist. Alle anderen
                                    // schauen zu und warten ^^

            // Haben die Panzer etwa alle Soldaten erledigt?
            if (gegAnzSoldaten == 0)
            {
                // SPIELER HAT GEWONNEN!!!
                // exit, return, GAME OVER etc.
            }
            // Nein! Offensichtlich haben die Soldaten einen Panzer zerstört
            anzPanzer--;
            // Hat der Spieler noch Panzer?
            if (anzPanzer == 0)
            {
                // Alle eigenen Panzer wurden von den Soldaten zerstört!
                break;
            }
        }
    }
    else
    {
        // SPIELER HAT GEWONNEN!!!
        // exit, return, GAME OVER etc.
    }
}

// 2) Soldatenkampf

// Haben beide Parteien gleich viele Soldatengruppen?
if (anzSoldaten == gegAnzSoldaten)
{
    // UNENTSCHIEDEN!!!
    // exit, return, GAME OVER etc.
}

// Hat der Gegner mehr Soldaten?
if (anzSoldaten &lt; gegAnzSoldaten)
{
    // SPIELER HAT VERLOREN!!!
    // exit, return, GAME OVER etc.
}

// Hat der Spieler mehr Soldaten?
if (anzSoldaten &gt; gegAnzSoldaten)
{
    // SPIELER HAT GEWONNEN!!!
    // exit, return, GAME OVER etc.
}
</code></pre>
<p>Ein weiterer (objektorientierterer) Ansatz:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

// ## Einheiten ################################################################

// -- Panzer -------------------------------------------------------------------
class Panzer
{
public:
    Panzer(int setLeben, int setAngriffskraft);
private:
    int Leben;
    int Angriffskraft;
};

Panzer::Panzer(int setLeben, int setAngriffskraft):
Leben(setLeben), Angriffskraft(setAngriffskraft)
{

}

// -- Soldaten -----------------------------------------------------------------
class Soldaten
{
public:
    Soldaten(int setLeben, int setAngriffskraft);
private:
    int Leben;
    int Angriffskraft;
};

Soldaten::Soldaten(int setLeben, int setAngriffskraft):
Leben(setLeben), Angriffskraft(setAngriffskraft)
{   }

// ## Streitkräfte #############################################################
class Streitkraefte
{
public:
    // Der Vereinfachung halber als public
    std::vector&lt;Panzer&gt; Panzerstreitkraefte;
    std::vector&lt;Soldaten&gt; Soldatengruppen;
private:

};

// Allgemeine Angriffsfunktion
void angriff(Streitkraefte Angreifer, Streitkraefte Verteidiger);

// Dient nur zur Veranschaulichung, in Wirklichkeit
// kommt dieser Code halt irgendwo in deinem Programm
int main()
{

    unsigned long anzPanzer = 23;
    unsigned long gegAnzPanzer = 42;
    unsigned long anzSoldaten = 11;
    unsigned long gegAnzSoldaten = 33;

    unsigned long PLeben = 1000;
    unsigned long PAngriffskraft = 500;
    unsigned long SLeben = 100;
    unsigned long SAngriffskraft = 35;
    unsigned long gegPLeben = 1000;
    unsigned long gegPAngriffskraft = 500;
    unsigned long gegSLeben = 100;
    unsigned long gegSAngriffskraft = 35;

    Panzer templateEigenePanzer(1000, 500);
    Soldaten templateEigeneSoldaten(100, 35);
    Panzer templateGegnerPanzer(1000, 500);
    Soldaten templateGegnerSoldaten(100, 35);

    Streitkraefte EigeneArmee;
    Streitkraefte GegnerArmee;

    // Bau-Routinen
    // z.B.:
    //
    // EigeneArmee.Panzerstreitkraefte.push_back(templateEigenePanzer);

    angriff(EigeneArmee, GegnerArmee);  // call-by-value, sollte man dann später
                                        // natürlich ändern

    return 0;
}

// ## Angriff ##################################################################
// Angriffsfunktion mit etwas anderer Logik als zuvor (last man standing, 
// Panzer greifen keine Soldaten an und umbekehrt)
void angriff(Streitkraefte Angreifer, Streitkraefte Verteidiger)
{
    short einheitenAngreifer = Angreifer.Panzerstreitkraefte.size() + Angreifer.Soldatengruppen.size();
    short einheitenVerteidiger = Verteidiger.Panzerstreitkraefte.size() + Verteidiger.Soldatengruppen.size();

    // -- Panzer ---------------------------------------------------------------

    if (Angreifer.Panzerstreitkraefte.size() == Verteidiger.Panzerstreitkraefte.size())
    {
        Angreifer.Panzerstreitkraefte.clear();
        Verteidiger.Panzerstreitkraefte.clear();
    }

    if (Angreifer.Panzerstreitkraefte.size() &lt; Verteidiger.Panzerstreitkraefte.size())
    {
        while (Angreifer.Panzerstreitkraefte.size() != 0)
        {
            Angreifer.Panzerstreitkraefte.pop_back();
            Verteidiger.Panzerstreitkraefte.pop_back();
        }
    }

    if (Angreifer.Panzerstreitkraefte.size() &gt; Verteidiger.Panzerstreitkraefte.size())
    {
        while (Verteidiger.Panzerstreitkraefte.size() != 0)
        {
            Angreifer.Panzerstreitkraefte.pop_back();
            Verteidiger.Panzerstreitkraefte.pop_back();
        }
    }

    // -- Soldaten -------------------------------------------------------------

    if (Angreifer.Soldatengruppen.size() == Verteidiger.Soldatengruppen.size())
    {
        Angreifer.Soldatengruppen.clear();
        Angreifer.Soldatengruppen.clear();
    }

    if (Angreifer.Soldatengruppen.size() &lt; Verteidiger.Soldatengruppen.size())
    {
        while (Angreifer.Soldatengruppen.size() != 0)
        {
            Angreifer.Soldatengruppen.pop_back();
            Verteidiger.Soldatengruppen.pop_back();
        }
    }

    if (Angreifer.Soldatengruppen.size() &gt; Verteidiger.Soldatengruppen.size())
    {
        while (Verteidiger.Soldatengruppen.size() != 0)
        {
            Angreifer.Soldatengruppen.pop_back();
            Verteidiger.Soldatengruppen.pop_back();
        }
    }

    if (Angreifer.Panzerstreitkraefte.size() == 0 &amp;&amp; Angreifer.Soldatengruppen.size() == 0)
    {
        // ANGREIFER HAT VERLOREN!!!
    }
    if (Verteidiger.Panzerstreitkraefte.size() == 0 &amp;&amp; Verteidiger.Soldatengruppen.size() == 0)
    {
        // VERTEIDIGER HAT VERLOREN!!!
    }
}
</code></pre>
<p>Das ganze ist als Hinweissammlung und Baukasten zu verstehen, hatte jetzt nicht die Zeit, das zu prüfen und zu kompilieren, aber ich denke, man kann im Ansatz erkennen, was der Code nach ein paar Modifikationen bewerkstelligen sollte. Auch sollte auffallen, dass die objektorientierte Variante weitaus mehr Möglichkeiten bietet, auch wenn ich viele davon gar nicht verwendet habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089856</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Thu, 19 Mar 2009 12:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 22:05:19 GMT]]></title><description><![CDATA[<p>Hammer! Danke, endlich ein Ansatz den ich versteh, man hast du dir eine Arbeit gemacht.</p>
<p>Vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089860</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 22:05:19 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 22:12:38 GMT]]></title><description><![CDATA[<p>Ähm. Der zweite Ansatz ist doch eher fragwürdig. Mal abgesehen davon, daß da ein paar dicke Fehler im Code sind (ok, das kann in der Eile passieren), ist das Konzept nicht in Ordnung. Im Orignal-Quelltext wird von state-losen Einheiten ausgegegangen, d.h. zwei Einheiten des gleichen Types sind ununterscheidbar. In dem Fall genügt ein einfacher Zähler und man braucht keinen std::vector. Du gibst in deinem Beispiel den Einheiten zwar Attribute, aber du verwendest diese nirgendwo in der Kampfauswertung (hoffe mal, ich habe da nichts übersehen; es ist schon spät <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="😉"
    /> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089865</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Sat, 01 Jul 2006 22:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Thu, 19 Mar 2009 13:15:39 GMT]]></title><description><![CDATA[<p>Ja schon klar, und was mir zusätzlich zu dem, was Z2 gesagt hat, auch noch aufgefallen ist: Die Werte der Panzer und Soldaten für den Spieler und den Verteidiger sind überhaupt nicht verschieden, also ist hier die Unterscheidung eigentlich auch nicht notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089869</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Thu, 19 Mar 2009 13:15:39 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Sat, 01 Jul 2006 22:29:26 GMT]]></title><description><![CDATA[<p>proggaholic schrieb:</p>
<blockquote>
<p>abend,</p>
<p>Zum Originalquelltext: Den habe ich erst gesehen, als ich schon so 3/4 hatte, da will ich mich jetzt ehrlich gesagt nicht einarbeiten <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="😉"
    /></p>
</blockquote>
<p>Hehe, danke, danke du hast schon genug getan^^<br />
Ihr sollt mich ja nicht komplett übercoden hier...<br />
Jetzt habe ich nen guten Ansatz das zusammenschustern mach ich dann noch selber.</p>
<p>Das der Code noch so ziemlich unsauber ist liegt daran das mir die Erfahrung fehlt, aber sowas braucht ja nunmal seine Zeit. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1089870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089870</guid><dc:creator><![CDATA[Last-Boyscout]]></dc:creator><pubDate>Sat, 01 Jul 2006 22:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Kampfskript oder ähnliches on Thu, 19 Mar 2009 13:30:56 GMT]]></title><description><![CDATA[<p>So, bin nochmal etwas drüber gegangen, und ein paar Sachen habe ich gleich verbessert. Zudem bestand ja nicht wirklich der Anspruch, dass der Pseudo-Code hier am Ende lauffähig oder gar vollständig sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1089879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1089879</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Thu, 19 Mar 2009 13:30:56 GMT</pubDate></item></channel></rss>