Homepage von Papa

Projekt Snake

Der Schlangenkopf

Als nächstes gehen wir den Schlangenkopf an.

Der Einfachheit halber, werden wir als Kopf nur ein Quadrat mit einer Kantenlänge von 10 Pixeln definieren. Der Hintergrund ist schwarz, also nehmen wir das erste Quadrat in rot auf.

In pygame werden die Zahlen mittels RGB-Werten angegeben. Wer es noch nicht kennt, das ‚R’ steht für red, das ‚G’ für green und das ‚B’ für blue. Angegeben werden jeweils Werte zwischen 0 und 255. ‚0’ bedeutet dabei, nichts von der Farbe, ‚255’ das volle Programm der Farbe.

Die gängigsten Farben habe ich nachfolgend schon aufgenommen, obwohl wie aktuell nur "ROT" verwenden:

...
# Spielsteuerung
spielen = True

# Farben RGB (Red, Green, Blue), jeweils 0 - 255
ROT = (255,0,0)
GRUEN = (0,255,0)
BLAU = (0,0,255)
WEISS = (255, 255, 255)
SCHWARZ = (0, 0, 0)
...

Die Erweiterung in der Schleife sieht wie folgt aus:

...
def spielschleife_aufrufen():
    print('in spielschleife_aufrufen')
    global spielen
    while spielen:
        for event in pygame.event.get():
            # Ausgeben aller Aktivitaeten, die innerhalb des Fensters stattfinden
            print(event)
            # wenn das x im Fenster gedrueckt wird, soll das Fenster zugehen
            if event.type == pygame.QUIT:
                spielen = False

        # den Kopf der Schlange symbolisiert ein Quadrat
        pygame.draw.rect(fenster,ROT,[400,200,10,10])
        pygame.display.update()
...

In diesem Anschnitt sind nur die Zeilen 13 bis 15 neu eingefügt.

In Zeile 14 ergeht der Befehl an pygame, ein Rechteck zu zeichnen. Mitzugeben sind der Name des Fensters (fenster), die Farbe (ROT) und die Positionsangaben.

Die 400 steht dabei für den Wert auf der x-Achse, beginnend bei 0 am linken Rand. Da die Breite des Fensters mit 800 Pixeln festgelegt ist, ist 400 genau die Hälfte.

Die 200 steht analog damit für den Wert auf der y-Achse. Diese beginnt am oberen Rand mit 0. Unsere Höhe ist 400, also auch hier die Hälfte.

Die erste 10 steht für 10 Pixel Kantenlänge der x-Achse, die zweite 10 für 10 Pixel auf der y-Achse.

Streng genommen ist das Quadrat damit nicht genau auf der Hälfte des Fensters positioniert. Nur der obere linke Punkt ist genau auf der Hälfte. Damit auch das Quadrat genau in der Mitte ist, müssten wir jeweils die Hälfte der Seite von der x- und der y-Position abziehen.

Ich weiß, niemand mag Klugscheißer...

Ganz wichtig ist der Eintrag in Zeile 49. Ohne den Befehl pygame.display.update() wird keine der gemachten Änderungen im Fenster angezeigt! Was sehen wir bei der Ausführung des Programms?

Cool

Ein rotes Rechteck auf schwarzem Grund. Cool.

  • Zurück
  • Weiter

Inhaltsverzeichnis:

1. Vorwort
2. Das Projekt
3. Vorarbeiten
4. Projekt Snake
4.1. Der Funktionsumfang
4.2. Die Planung der Umsetzung
4.3. Das Coden
4.3.1. Das Grundgerüst
4.3.2. Das Fenster
4.3.3. Der Schlangenkopf
4.3.4. Die Bewegung der Schlange
4.3.5. Kleine Verbesserungen
4.3.6. Das Futter platzieren
4.3.7. Die Schlange wächst
4.3.8. Den Spielstand ausgeben
4.3.9. Die Wiederholung
4.3.10. Der finale Stand
5. Abschluss

© by Papa. Die Seite ist online seit 2020.

Menu

  • Startseite
  • Projekte
    • Übersicht aller Projekte
    • Nachbau Snake
    • Taschenrechner
  • Helferlein
    • Übersicht Hilfprogramme
    • Fonts in pygame
    • Quellcode nach HTML
    • Text nach HTML
  • Impressum
  • Disclaimer

Modal content goes here