… Pong !

On continue notre travail vers un Pong en réseau.

On avance sur le code de base pour les élèves en difficulté.

Le code produit avec Emir en cliquant sur « lire la suite ».

#Créer une fenêtre pygame de taille 800 par 600 et un rectangle qu'on peut déplacer au clavier.
import pygame
from pygame.locals import *

LARGEUR = 800
HAUTEUR = 600
TAILLE = 35

pygame.init()

fenetre = pygame.display.set_mode((800, 600))
R1 = pygame.Rect(50,250,50,100)
BLANC = (255,255,255)
NOIR = (0,0,0)

R_haut = pygame.Rect(50,0,700,20)
R_bas = pygame.Rect(50,580,700,20)
liste_rect = [R1,R_haut,R_bas]

balle = pygame.Rect(390,290,20,20)
vitesse = [-5,3]

def affichage():
    fenetre.fill(NOIR)
    pygame.draw.rect(fenetre,BLANC, balle,0)
    for rectangle in liste_rect:
        pygame.draw.rect(fenetre,BLANC, rectangle,0)
    pygame.display.flip()

#Creation d'une horloge
horloge = pygame.time.Clock()

def gestion_collisions():
    if balle.top  < R_haut.bottom:
        balle.top  = R_haut.bottom
        vitesse[1] *= -1
    if balle.bottom  > R_bas.top:
        balle.bottom  = R_bas.top
        vitesse[1] *= -1
    if balle.colliderect(R1) and balle.right > R1.right:
        vitesse[0] *= -1

continuer = True

while continuer:

    affichage()
    balle.move_ip(vitesse)
    gestion_collisions()


    horloge.tick(5)  # 25 image par seconde

    for evenement in pygame.event.get():
        if evenement.type == QUIT:
            continuer = False

    tkey = pygame.key.get_pressed()
    if tkey[K_s]:
        R1.move_ip(0,15)
        if R1.bottom > 600:
            R1.bottom = 600
    if tkey[K_z]:
        R1.move_ip(0,-15)

pygame.quit()

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.