<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.proggen.org/feed.php">
        <title>proggen.org allegro:game</title>
        <description></description>
        <link>https://www.proggen.org/</link>
        <image rdf:resource="https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico" />
       <dc:date>2026-04-19T23:26:35+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:basic&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:constructor&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:end&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:field&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:font&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:mainloop&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:menue&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:reset&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:setstone&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:showwinner&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:sidebar&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:start&amp;rev=1663869535"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=allegro:game:winner&amp;rev=1663869535"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico">
        <title>proggen.org</title>
        <link>https://www.proggen.org/</link>
        <url>https://www.proggen.org/lib/tpl/proggenX/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:basic&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Basis der Spieleprogrammierung</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:basic&amp;rev=1663869535</link>
        <description>Basis der Spieleprogrammierung

Ich bin mir nicht ganz sicher, ob das hier vermittelte Konzept wirklich die Basis der allermeisten Spiele ist, aber ich habe es noch nicht anders gesehen. Ich habe allerdings auch noch nicht in den Quellcode von Crysis oder Call of Duty schauen können</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:constructor&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Der Game Konstruktor</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:constructor&amp;rev=1663869535</link>
        <description>Der Game Konstruktor

Wie ihr bereits am Aufbau gesehen habt, ist der Konstruktor der Game-klasse unsere On-Init() Methode, wenn man so möchte.
Es geht jetzt also langsam ans eingemachte.

4Gewinnt.h

Nur damit wir den Konstruktor schreiben können, müssen wir ihn erst mal definieren.
Ich gebe euch an dieser Stelle den vollständigen Header, sonst vergesse ich ziemlich sicher, das immer zu aktualisieren. Die Implementierung werden wir dann trotzdem erst Schritt für schritt machen.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:end&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ein Schlusswort</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:end&amp;rev=1663869535</link>
        <description>Ein Schlusswort

So, jetzt habt ihr ein kleines 4-Gewinnt spiel, das man zu zweit an einem Rechner spielen kann. Ich bin mir durchaus der Tatsache bewusst, dass zum beispiel das Optionsmenue noch nicht implementiert ist, aber das habe ich auch nicht gemacht, seht es als übung oder ignoriert es, aber das Tutorial endet hier.
Es hat ziemlich lange gedauert, es zu schreiben, und es ist mein erstes, also bitte seid nachsichtig.
Ich hoffe ich konnte euch einen kleinen Einblick in die (sich sehr schne…</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:field&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Das Spiel</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:field&amp;rev=1663869535</link>
        <description>Das Spiel

So jetzt haben wir schon mal eine Grundlage geschaffen, um unser Spiel halbwegs komfortabel zu bedienen.
Jetzt können wir ja zum eigentlichen Spiel kommen :)
Das Bedeutet, dass wir jetzt mit der 2ten Klasse (MainGame) beginnen.

Der Header</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:font&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TFONT</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:font&amp;rev=1663869535</link>
        <description>TFONT

Wie wir bisher rausgefunden haben, hat Allegro Funktionen um Text auszugeben, allerdings werdet ihr Feststellen müssen, dass es nicht 100% individuell ist.
Wir wollen hier eine Klasse schreiben, die es ermöglicht 2-farbige Texte auszugeben.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:mainloop&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Die Hauptschleife</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:mainloop&amp;rev=1663869535</link>
        <description>Die Hauptschleife

Wie bereits vorhin im Menue brauchen wir auch wieder eine dauerhaft laufende Schleife für das Spiel. Diese Schleife muss nun was machen? Denkt nen Augenblick drüber nach, bevor ihr weiter lest.
Das ist nötig:

	*  Die Tastatureingaben annehmen, und dementsprechend den Zeiger bewegen.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:menue&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Das Menue</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:menue&amp;rev=1663869535</link>
        <description>Das Menue

So, im Moment sind wir so weit, dass wir wenn wir unsere Exe starten, vor einem Orangen Hintergrund Einen schrift zug sehen, und wenn wir dann eine Taste drücken geht das Programm wieder aus; das ist doch schonmal gar nicht schlecht.
Jetzt wäre es natürlich noch besser, wenn das Programm dann weitergeht</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:reset&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Die Resert() Methode</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:reset&amp;rev=1663869535</link>
        <description>Die Resert() Methode

So, jetzt kann es ja passieren, dass jemand mehr als eine Runde hintereinander spielen möchte.
Deswegen muss der Speicher wieder in einen Zustand gebracht werde, in dem der Rest des Codes wieder funktioniert.
Dafür ist die Reset methode.</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:setstone&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zugSetzen()</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:setstone&amp;rev=1663869535</link>
        <description>zugSetzen()

So, jetzt kommen wir also zur zugSetzen() - Methode.
Was muss die machen?
Sie muss einen Stein in die Spalte die ihr angegeben wurde fallen lassen, und sicher stellen, dass er an der Richtigen stelle landet

Code


void MainGame::zugSetzen(int Spalte){
    int Reihe = 0;

    if(Feld[Spalte][0].Belegt == false){//wenn unterstes Feld Frei
            Feld[Spalte][0].Belegt = true;
            Feld[Spalte][0].Player = PlayersTurn;
            Reihe = 0;
    }else{//wenn nicht,
       …</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:showwinner&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gewinner Ausgeben</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:showwinner&amp;rev=1663869535</link>
        <description>Gewinner Ausgeben

Nun, da wir wissen, wer der Gewinner ist, muss das ja auch angezeigt werden.
Dazu haben wir die Methode, SiegerAusgeben() bereits im Code stehen. Allerdings weiß der Compiler nicht, was es mit dieser Methode auf sich hat.
Das wollen wir nun ändern.
Hier die Mehtode:</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:sidebar&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Wiki</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:sidebar&amp;rev=1663869535</link>
        <description>Wiki

	*  Startseite
	*  Allegro-Tutorial
	*  C-FAQ

Community

	*  Forum
	*  Frameworks Forum
	*  C/C++ Forum

Allegro

	*  Erste Schritte
	*  Bitmaps
	*  Textausgabe
	*  Tastatur

4 Gewinnt

	*  Der Aufbau des Spiels
	*  Eine eigene Font Klasse
	*  Der Konstruktor des Spiels
	*  Das Menü
	*  Das Spielfeld
	*  Das Spielschleife
	*  Stein Setzen
	*  Gewinner ermitteln
	*  Gewinner ausgeben
	*  Die reset() methode
	*  Ein Schlusswort</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:start&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4 Gewinnt</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:start&amp;rev=1663869535</link>
        <description>4 Gewinnt

Hi,
Nachdem ihr jetzt eigentlich die Grundlagen von Allegro verstanden haben solltet, bzw. den kleinen Teil, den wir bisher durchgenommen haben, widmen wir uns einem kleinen 4-Gewinnt Spiel.

Dafür hier ein kleines Inhaltsverzeichnis:

	*</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=allegro:game:winner&amp;rev=1663869535">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gewinner ermitteln</title>
        <link>https://www.proggen.org/doku.php?id=allegro:game:winner&amp;rev=1663869535</link>
        <description>Gewinner ermitteln

So weiter gehts mit dem Gewinner. Was müssen wir machen?
Wir müssen überprüfen, ob jemand 4 Steine in einer Reihe hat, und müssen dem Programm das mitteilen.
Aber halt. Wir müssen nicht das ganze Feld überprüfen, sondern wir können von dem Stein ausgehen, der als letztes gelegt wurde, da die anderen Steine schlecht ne 4er Reihe bilden können.</description>
    </item>
</rdf:RDF>
