Maison >développement back-end >Tutoriel Python >Jeu de ping-pong en python Pygame
import pygame import sys
Pygame est le module que nous utilisons pour créer des jeux. Il nous a fourni des outils graphiques, sonores et bien plus encore.
sys est un module en Python qui nous aide à interagir avec l'interpréteur Python.
pygame.init()
Initialise tous les modules Pygame et les rend prêts à l'emploi.
#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)
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
vous aurez une fenêtre nommée Ping Pong avec la LARGEUR et la HAUTEUR assignées
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)
Dans Pygame, le coin supérieur gauche de l'écran représente (0,0) en coordonnées.
pygame.Rect(x, y, width, height)
pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
Tout d'abord, nous positionnons la palette gauche à 50 pixels vers la droite à partir du côté gauche.
Ensuite, nous faisons HEIGHT//2 - PADDLE_HEIGHT //2 parce que si vous venez de faire HEIGHT//2, cela ressemblera à ce qu'il est sur la photo. Cela descend sur l'écran. Pour le centrer nous faisons - PADDLE_HEIGHT //2
C'est ce que nous avons fait pour que la bonne pagaie la centre.
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)
Pour que la balle la centre, nous avons soustrait par le rayon.
ball_speed_x=7 ball_speed_y=7 paddle_speed=10
ball_speed_x et ball_speed_y contrôlent la vitesse horizontale et verticale de la balle.
paddle_speed : contrôle la vitesse de déplacement des palettes.
import pygame import sys
pygame.init()
#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)
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
Rend les scores des deux joueurs et les positionne sur l'écran.
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)
Mise à jour l'affichage avec les dernières modifications.
pygame.Rect(x, y, width, height)
Maintient le jeu en marche indéfiniment.
pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
Cela passera en revue tous les événements qui peuvent se produire dans pygame et si l'un d'eux ferme la fenêtre, quittez pygame et fermez la fenêtre.
right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
Détecte les pressions sur les touches :
ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)
Déplace la balle en ajoutant sa vitesse à sa position actuelle
ball_speed_x=7 ball_speed_y=7 paddle_speed=10
Inverse la direction verticale de la balle si elle touche le haut ou le bas de l'écran
import pygame import sys
Inverse la direction horizontale de la balle si elle entre en collision avec une pagaie.
pygame.init()
#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)
Limite le jeu à un maximum de 60 images par seconde, garantissant un gameplay fluide.
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!