<?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 sdl:pong</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-12T12:29:55+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=sdl:pong:createobjects&amp;rev=1663869536"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=sdl:pong:loadimages&amp;rev=1663869536"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=sdl:pong:movement&amp;rev=1663869536"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=sdl:pong:sdlready&amp;rev=1663869536"/>
                <rdf:li rdf:resource="https://www.proggen.org/doku.php?id=sdl:pong:start&amp;rev=1663869536"/>
            </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=sdl:pong:createobjects&amp;rev=1663869536">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pong</title>
        <link>https://www.proggen.org/doku.php?id=sdl:pong:createobjects&amp;rev=1663869536</link>
        <description>Pong

Klasse erstellen

Nun brauchen wir Klassen (oder Strukturen; ich werde Klassen benutzen), in denen wir das Bild und die Position der Bilder halten. Wir könnten natürlich alles direkt als Variablen in der main-function speichern, aber es wird sich zeigen, dass es der Einfachheit und Übersicht hilft, wenn man das ganze in Klassen zusammenfasst. Da wir bereits eine pong.h besitzen, können wir in dieser direkt weiter schreiben:</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=sdl:pong:loadimages&amp;rev=1663869536">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pong</title>
        <link>https://www.proggen.org/doku.php?id=sdl:pong:loadimages&amp;rev=1663869536</link>
        <description>Pong

Bilder laden

Als nächtes müssen wir die ganzen Bilder irgendwie auf den Bildschirm bekommen. Da wir sie bereits innerhalb der Klasse geladen haben, mit SDL_LoadBMP(), brauchen wir die geladenen Bilder nurnoch auf den Bildschirm strahlen. Dafür gibt es die Funktion SDL_BlitSurface().
Wir fügen folgendes zwischen die Kommentare</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=sdl:pong:movement&amp;rev=1663869536">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pong</title>
        <link>https://www.proggen.org/doku.php?id=sdl:pong:movement&amp;rev=1663869536</link>
        <description>Pong

Überlegung

An diesem Punkt, oder eventuell schon früher, müssen wir uns überlegen, ob es über Tastatur möglich ist, beide Spieler zu steuern, oder ob eine Art KI dies übernimmt. In diesem Tutorial werde ich der Einfachheit halber ein 2-Spieler Pong schreiben, ohne KI(das kann dann jeder für sich selbst zum Üben machen:-)).</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=sdl:pong:sdlready&amp;rev=1663869536">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pong</title>
        <link>https://www.proggen.org/doku.php?id=sdl:pong:sdlready&amp;rev=1663869536</link>
        <description>Pong

SDL Entwurf editieren

In diesem Teil des Tutorials befassen wir uns damit, den SDL Entwurf, den wir als Ausgangscode bekommen, zu editieren.

Zuerst einmal wird aus der Funktion alles gelöscht, was wir noch nicht brauchen.
main.cpp


int main ( int argc, char** argv )
{
    // initialize SDL video
    if( SDL_Init( SDL_INIT_VIDEO ) &lt; 0 )
    {
        printf( &quot;Unable to init SDL: %s\n&quot;, SDL_GetError() );
        return 1;
    }
 
    // make sure SDL cleans up before exit
    atexit( SDL_…</description>
    </item>
    <item rdf:about="https://www.proggen.org/doku.php?id=sdl:pong:start&amp;rev=1663869536">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:58:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pong</title>
        <link>https://www.proggen.org/doku.php?id=sdl:pong:start&amp;rev=1663869536</link>
        <description>Pong

Inhalt

	*  SDL Vorlage editieren
	*  Das Klassengerüst erstellen
	*  Bilder laden und Koordinaten vergeben
	*  Bewegungen hinzufügen
	*  Physik und Kollisionskontrolle
	*  More to come~

Pong? Warum Pong?

Das erste was man sich natürlich Fragen wird: „Warum Pong?“
Die Antwort ist simpel: Es ist ein Spiel mit wenig Grafikaufwand und einfacher Physik.

Machen wir uns einmal klar, was in Pong so alles passiert:</description>
    </item>
</rdf:RDF>
