suchen
HeimBackend-EntwicklungPython-TutorialPing-Pong-Spiel in Pygame Python

Importieren

import pygame
import sys

Pygame ist das Modul, mit dem wir Spiele erstellen. Es stellte uns Tools für Grafik, Sound und mehr zur Verfügung.

sys ist ein Modul in Python, das uns bei der Interaktion mit dem Python-Interpreter hilft.

Initialisiert

pygame.init()

Initialisiert alle Pygame-Module und macht sie einsatzbereit.

Konstanten

#dimensions
WIDTH, HEIGHT=800,600
#frame rate
FPS=60
#the paddles at the side of ping pong
PADDLE_WIDTH, PADDLE_HEIGHT=15,90
#the balls radius
BALL_RADIUS=15
#the color of the ball and paddle
WHITE=(255, 255, 255)
  • BREITE und HÖHE: Abmessungen des Spielfensters. 800 Pixel sind für die Breite und 600 Pixel für die Höhe
  • FPS: Bilder pro Sekunde, die die Geschwindigkeit und Laufruhe des Spiels steuern.
  • PADDLE_WIDTH, PADDLE_HEIGHT: Abmessungen der Paddel.
  • BALL_RADIUS: Radius des Balls.
  • WEISS: Der RGB-Wert für Weiß, wird für Schläger, Ball und Text verwendet.

Machen Sie einen Bildschirm

screen=pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption("Ping Pong")

Sie erhalten ein Fenster namens Ping Pong mit der zugewiesenen BREITE und HÖHE

Ping Pong game in Pygame python

Paddel- und Ball-Setup

left_paddle=pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)

Ping Pong game in Pygame python

In Pygame stellt die linke obere Ecke des Bildschirms (0,0) in Koordinaten dar.

  • pygame.Rect: Wird verwendet, um Rechtecke in Pygame zu erstellen (wird hier für die Paddel und den Ball verwendet).
pygame.Rect(x, y, width, height)
  • left_paddle: Nahe der linken Seite des Bildschirms positioniert, vertikal zentriert.
pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
  1. Zuerst positionieren wir das linke Paddle 50px nach rechts von der linken Seite.

  2. Dann machen wir HEIGHT//2 - PADDLE_HEIGHT //2, denn wenn Sie nur HEIGHT//2 gemacht haben, wird es so aussehen, wie es auf dem Bild ist. Es verschwindet auf dem Bildschirm. Um es zu zentrieren, machen wir - PADDLE_HEIGHT //2

Ping Pong game in Pygame python

Das haben wir für das rechte Paddel getan, um es zu zentrieren.

  • right_paddle: Nahe der rechten Seite des Bildschirms positioniert, vertikal zentriert.
right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
  • Ball: Zunächst in der Mitte des Bildschirms positioniert.
ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)

Damit der Ball ihn zentriert, haben wir den Radius subtrahiert.

Geschwindigkeit

ball_speed_x=7
ball_speed_y=7
paddle_speed=10

ball_speed_x und ball_speed_y steuern die horizontale und vertikale Geschwindigkeit des Balls.

paddle_speed: Steuert die Bewegungsgeschwindigkeit der Paddel.

Bewertungsvariablen

import pygame
import sys
  • left_score und right_score: Verfolgen Sie die Ergebnisse der Spieler.
  • Schriftart: Wird zum Rendern von Text auf dem Bildschirm für Partituren verwendet. Keine verwendet die Standardschriftart und 55 ist die Schriftgröße.

Funktion, um alles zu zeichnen

pygame.init()
  • fill((0, 0, 0)): Füllt den Bildschirm mit Schwarz (RGB: 0, 0, 0).
  • pygame.draw.rect: Zeichnet die rechteckigen Paddles.
  • pygame.draw.ellipse: Zeichnet den Ball als Kreis (begrenzt durch den rechteckigen Ball).

Zeichnen Sie die Mittellinie

#dimensions
WIDTH, HEIGHT=800,600
#frame rate
FPS=60
#the paddles at the side of ping pong
PADDLE_WIDTH, PADDLE_HEIGHT=15,90
#the balls radius
BALL_RADIUS=15
#the color of the ball and paddle
WHITE=(255, 255, 255)
  • Zeichnet eine vertikale Mittellinie, um das Spielfeld zu teilen.

Punkte ziehen

screen=pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption("Ping Pong")

Rendert die Ergebnisse für beide Spieler und positioniert sie auf dem Bildschirm.

Aktualisieren Sie den Bildschirm

left_paddle=pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)

Aktualisiert die Anzeige mit den neuesten Änderungen.

pygame.Rect(x, y, width, height)

Lässt das Spiel auf unbestimmte Zeit laufen.

pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

Dadurch werden alle Ereignisse durchgegangen, die in Pygame passieren können. Wenn eines davon das Fenster schließt, beenden Sie Pygame und schließen Sie das Fenster.

Paddelsteuerung

right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)

Erkennt Tastendrücke:

  • W und S: Bewegen Sie das linke Paddel nach oben und unten.
    • pygame.K_w ist der w-Schlüssel
    • pygame.K_s ist der s-Schlüssel
  • AUF und AB: Bewegen Sie das rechte Paddel nach oben und unten.
    • pygame.K_UP ist die Aufwärtstaste
    • pygame.K_DOWN ist die Abwärtstaste
  • Beinhaltet Kontrollen, um zu verhindern, dass sich Paddel vom Bildschirm entfernen.
    • left_paddle.top > 0überprüft, ob die Koordinaten des oberen Randes des Paddels größer als 0 sind. Um zu überprüfen, ob der obere Rand des Bildschirms erreicht wird, wenn Sie auf W klicken.
    • left_paddle.bottom
    • right_paddle.top > 0überprüft, ob die Koordinaten des oberen Rands des Paddels größer als 0 sind. Um zu überprüfen, ob der obere Rand des Bildschirms erreicht wird, wenn Sie auf die Aufwärtstaste klicken.
    • right_paddle.bottom

Ballbewegung

ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)

Bewegt den Ball, indem seine Geschwindigkeit zu seiner aktuellen Position addiert wird

Ballkollision mit Ober- und Unterwänden

ball_speed_x=7
ball_speed_y=7
paddle_speed=10

Kehrt die vertikale Richtung des Balls um, wenn er oben oder unten auf dem Bildschirm auftrifft

Ballkollision mit Schlägern

import pygame
import sys

Kehrt die horizontale Richtung des Balls um, wenn er mit einem Paddel kollidiert.

Wertung

pygame.init()
  • Aktualisiert den Punktestand, wenn der Ball ins Aus geht.
  • Setzt den Ball in die Mitte zurück und kehrt seine Richtung um.

Timing

#dimensions
WIDTH, HEIGHT=800,600
#frame rate
FPS=60
#the paddles at the side of ping pong
PADDLE_WIDTH, PADDLE_HEIGHT=15,90
#the balls radius
BALL_RADIUS=15
#the color of the ball and paddle
WHITE=(255, 255, 255)

Begrenzt die Ausführung des Spiels auf maximal 60 Bilder pro Sekunde, um ein reibungsloses Gameplay zu gewährleisten.

Vollständiger Code

screen=pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption("Ping Pong")

Ping Pong game in Pygame python

Das obige ist der detaillierte Inhalt vonPing-Pong-Spiel in Pygame Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu findenSo verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu findenMar 05, 2025 am 09:58 AM

Dieses Tutorial zeigt, wie man Python verwendet, um das statistische Konzept des Zipf -Gesetzes zu verarbeiten, und zeigt die Effizienz des Lesens und Sortierens großer Textdateien von Python bei der Bearbeitung des Gesetzes. Möglicherweise fragen Sie sich, was der Begriff ZiPF -Verteilung bedeutet. Um diesen Begriff zu verstehen, müssen wir zunächst das Zipf -Gesetz definieren. Mach dir keine Sorgen, ich werde versuchen, die Anweisungen zu vereinfachen. Zipf -Gesetz Das Zipf -Gesetz bedeutet einfach: In einem großen natürlichen Sprachkorpus erscheinen die am häufigsten vorkommenden Wörter ungefähr doppelt so häufig wie die zweiten häufigen Wörter, dreimal wie die dritten häufigen Wörter, viermal wie die vierten häufigen Wörter und so weiter. Schauen wir uns ein Beispiel an. Wenn Sie sich den Brown Corpus in amerikanischem Englisch ansehen, werden Sie feststellen, dass das häufigste Wort "Th ist

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?Wie benutze ich eine schöne Suppe, um HTML zu analysieren?Mar 10, 2025 pm 06:54 PM

In diesem Artikel wird erklärt, wie man schöne Suppe, eine Python -Bibliothek, verwendet, um HTML zu analysieren. Es beschreibt gemeinsame Methoden wie find (), find_all (), select () und get_text () für die Datenextraktion, die Behandlung verschiedener HTML -Strukturen und -Anternativen (SEL)

Bildfilterung in PythonBildfilterung in PythonMar 03, 2025 am 09:44 AM

Der Umgang mit lauten Bildern ist ein häufiges Problem, insbesondere bei Mobiltelefonen oder mit geringen Auflösungskamera-Fotos. In diesem Tutorial wird die Bildfilterungstechniken in Python unter Verwendung von OpenCV untersucht, um dieses Problem anzugehen. Bildfilterung: Ein leistungsfähiges Werkzeug Bildfilter

Wie man mit PDF -Dokumenten mit Python arbeitetWie man mit PDF -Dokumenten mit Python arbeitetMar 02, 2025 am 09:54 AM

PDF-Dateien sind für ihre plattformübergreifende Kompatibilität beliebt, wobei Inhalte und Layout für Betriebssysteme, Lesegeräte und Software konsistent sind. Im Gegensatz zu Python Processing -Klartextdateien sind PDF -Dateien jedoch binäre Dateien mit komplexeren Strukturen und enthalten Elemente wie Schriftarten, Farben und Bilder. Glücklicherweise ist es nicht schwierig, PDF -Dateien mit Pythons externen Modulen zu verarbeiten. In diesem Artikel wird das PYPDF2 -Modul verwendet, um zu demonstrieren, wie Sie eine PDF -Datei öffnen, eine Seite ausdrucken und Text extrahieren. Die Erstellung und Bearbeitung von PDF -Dateien finden Sie in einem weiteren Tutorial von mir. Vorbereitung Der Kern liegt in der Verwendung von externem Modul PYPDF2. Installieren Sie es zunächst mit PIP: pip ist p

Wie kann man mit Redis in Django -Anwendungen zwischenstrichenWie kann man mit Redis in Django -Anwendungen zwischenstrichenMar 02, 2025 am 10:10 AM

Dieses Tutorial zeigt, wie man Redis Caching nutzt, um die Leistung von Python -Anwendungen zu steigern, insbesondere innerhalb eines Django -Frameworks. Wir werden Redis -Installation, Django -Konfiguration und Leistungsvergleiche abdecken, um den Vorteil hervorzuheben

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?Mar 10, 2025 pm 06:52 PM

Dieser Artikel vergleicht TensorFlow und Pytorch für Deep Learning. Es beschreibt die beteiligten Schritte: Datenvorbereitung, Modellbildung, Schulung, Bewertung und Bereitstellung. Wichtige Unterschiede zwischen den Frameworks, insbesondere bezüglich des rechnerischen Graps

So implementieren Sie Ihre eigene Datenstruktur in PythonSo implementieren Sie Ihre eigene Datenstruktur in PythonMar 03, 2025 am 09:28 AM

Dieses Tutorial zeigt, dass eine benutzerdefinierte Pipeline -Datenstruktur in Python 3 erstellt wird, wobei Klassen und Bedienerüberladungen für verbesserte Funktionen genutzt werden. Die Flexibilität der Pipeline liegt in ihrer Fähigkeit, eine Reihe von Funktionen auf einen Datensatz GE anzuwenden

Einführung in die parallele und gleichzeitige Programmierung in PythonEinführung in die parallele und gleichzeitige Programmierung in PythonMar 03, 2025 am 10:32 AM

Python, ein Favorit für Datenwissenschaft und Verarbeitung, bietet ein reichhaltiges Ökosystem für Hochleistungs-Computing. Die parallele Programmierung in Python stellt jedoch einzigartige Herausforderungen dar. Dieses Tutorial untersucht diese Herausforderungen und konzentriert sich auf die globale Interprete

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.