Auto urgent commit.

This commit is contained in:
2025-01-23 14:45:10 +01:00
parent bd8c3e1877
commit ab5d5f8646
16 changed files with 0 additions and 0 deletions

41
pygame/V2/balle/balle.py Executable file
View File

@@ -0,0 +1,41 @@
import pygame
from constantes import *
import raquette
from math import *
class Balle(object):
def __init__(self):
self.rayon = 10
self.xpos = LARGEUR_ECRAN/2
self.ypos = HAUTEUR_ECRAN/2
self.xvit =4.5
self.yvit = 3.0
def deplace(self,raquette):
self.xpos += self.xvit
self.ypos += self.yvit
self.rebonds(raquette)
def affiche(self, ecran):
pygame.draw.circle(ecran,(0,0,0) , (int(self.xpos),int(self.ypos)) , self.rayon)
def rebonds(self, raquette):
if self.xpos + self.rayon > LARGEUR_ECRAN or self.xpos - self.rayon < 0:
self.xvit = - self.xvit
if self.ypos + self.rayon > HAUTEUR_ECRAN or self.ypos - self.rayon < 0:
self.yvit = - self.yvit
if self.ypos >= HAUTEUR_ECRAN-20:
if self.xpos >= raquette.xpos:
if self.xpos <= raquette.xpos + raquette.largeur :
self.yvit = - self.yvit
if self.xpos >= raquette.xpos + raquette.largeur - raquette.largeur/10:
self.xvit = 4.0
self.yvit = 6.0
if self.xpos <= raquette.xpos + raquette.largeur/20:
self.xvit = -4.0
self.yvit = 6.0

View File

@@ -0,0 +1,43 @@
import sys, pygame
import balle
from constantes import *
pygame.init() #initialisation des modules de pygame
# Creation de la fenetre
ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
ecran.fill(BLANC)
pygame.display.set_caption('Balle rebondissante')
clock = pygame.time.Clock()
b1 = balle.Balle()
bouge = False
while True: #Demarrage de la boucle infinie
for event in pygame.event.get():
if event.type == pygame.QUIT: #Evt de sortie de boucle
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
bouge = not bouge
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
bouge = not bouge
ecran.fill(BLANC)
b1.deplace()
b1.affiche(ecran)
pygame.display.update()
ecran.fill(BLANC)
if bouge:
b1.deplace()
b1.affiche(ecran)
pygame.display.update() #rafraichissement
clock.tick(60)
if __name__ == '__main__':
b1 = balle.Balle()

45
pygame/V2/balle/casse_brique.py Executable file
View File

@@ -0,0 +1,45 @@
import sys, pygame
import balle
import raquette
from constantes import *
pygame.init()
# Creation de la fenetre
ecran = pygame.display.set_mode((LARGEUR_ECRAN,HAUTEUR_ECRAN))
# Titre de la fenetre
pygame.display.set_caption('Casse_Brique')
clock = pygame.time.Clock()
b1 = balle.Balle()
r1 = raquette.Raquette()
bouge = False
bouge_gauche_raquette = False
bouge_droite_raquette = False
while True :
for event in pygame.event.get() :
if event.type == pygame.QUIT :
sys.exit()
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE :
bouge = not bouge
if pygame.key.get_pressed()[pygame.K_q]:
r1.deplaceGauche()
if pygame.key.get_pressed()[pygame.K_d]:
r1.deplaceDroite()
ecran.fill(BLANC)
if bouge :
b1.deplace(r1)
b1.deplace(r1)
b1.affiche(ecran)
r1.affiche(ecran)
pygame.display.update()
clock.tick(60)

7
pygame/V2/balle/constantes.py Executable file
View File

@@ -0,0 +1,7 @@
##########Definitions des constantes
# Taille de la fenetre
LARGEUR_ECRAN = 600
HAUTEUR_ECRAN = 800
# Couleur
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)

56
pygame/V2/balle/raquette.py Executable file
View File

@@ -0,0 +1,56 @@
import pygame
from constantes import *
class Raquette:
"""
Definie une raquette qui se deplace horizontalement
dans le bas de la fenetre ecran
Attributs : largeur (int defaut 100),
xpos (int defaut LARGEUR_ECRAN//2 - self.largeur//2),
vit (int defaut 6)
L'épaisseur de la raquette est de 10
Methodes : deplaceGauche, deplaceDroite, affiche
"""
def __init__(self):
self.largeur = 100
self.xpos = LARGEUR_ECRAN//2 - self.largeur//2
self.vit = 6
def deplaceGauche(self):
"""
Deplace la raquette de vit vers la gauche
Parametres :
self : Raquette
Return :
None
Effet de bord :
Modifie l'attribut xpos en lui enlevant,
si c'est possible la valeur de vit (et met xpos à 0 sinon)
"""
self.xpos -= self.vit
if self.xpos < 0:
self.xpos = 0
def deplaceDroite(self):
"""
Deplace la raquette de vit vers la droite
Parametres :
self : Raquette
Return :
None
Effet de bord :
Modifie l'attribut xpos en lui ajoutant,
si c'est possible la valeur de vit (et met xpos à
600-self.largeur sinon sinon)
"""
self.xpos += self.vit
if self.xpos > LARGEUR_ECRAN - self.largeur:
self.xpos = LARGEUR_ECRAN - self.largeur
def affiche(self, ecran):
pygame.draw.rect(ecran, (0,0,255), (int(self.xpos), HAUTEUR_ECRAN-20, self.largeur, 10))
if __name__ == '__main__':
pass

View File

@@ -0,0 +1,42 @@
import sys, pygame
import balle
##########Definitions des constantes
# Taille de la fenetre
LARGEUR_ECRAN = 600
HAUTEUR_ECRAN = 800
# Couleur
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
pygame.init() #initialisation des modules de pygame
# Creation de la fenetre
ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
ecran.fill(BLANC)
pygame.display.set_caption('Balle rebondissante')
clock = pygame.time.Clock()
b1 = balle.Balle()
bouge = False
while True: #Demarrage de la boucle infinie
for event in pygame.event.get():
if event.type == pygame.QUIT: #Evt de sortie de boucle
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
bouge = not bouge
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
bouge = not bouge
ecran.fill(BLANC)
if bouge:
b1.deplace()
b1.affiche(ecran)
pygame.display.update() #rafraichissement
clock.tick(60)

View File

@@ -0,0 +1,23 @@
import pygame
class Balle :
"""
Definie une balle qui se deplace dans la fenetre ecran
Attributs : rayon , xpos , ypos , xvit , yvit
Methodes : deplace , affiche
"""
def __init__ ( self ) :
self.rayon = 10
self.xpos = 300.0
self.ypos = 400.0
self.xvit = 4.5
self.yvit = 3.0
def deplace ( self ) :
self.xpos += self.xvit
self.ypos += self.yvit
if self.xpos + self.rayon > 600 or self.xpos - self.rayon < 0:
self.xvit = - self.xvit
elif self.ypos + self.rayon > 800 or self.ypos - self.rayon < 0:
self.yvit = - self.yvit

View File

@@ -0,0 +1,5 @@
LARGEUR_ECRAN = 600
HAUTEUR_ECRAN = 800
BLANC = (255,255,255)

53
pygame/bouncing_ball/f Normal file
View File

@@ -0,0 +1,53 @@
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: raquette.py
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 1 │ import sys
 2 │ import pygame
 3 │ from balle import Balle
 4 │ from raquette import Raquette
 5 │ from constantes import *
 6 │
 7 │ pygame.init()
 8 │
 9 │ # Création de la fenêtre
 10 │ ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
 11 │ ecran.fill(BLANC)
 12 │ pygame.display.set_caption('Balle rebondissante avec raquette')
 13 │
 14 │ clock = pygame.time.Clock()
 15 │
 16 │ # Initialisation des objets
 17 │ balle = Balle()
 18 │ raquette = Raquette()
 19 │
 20 │ bouge = False
 21 │
 22 │ while True: # Boucle principale
 23 │  for event in pygame.event.get():
 24 │  if event.type == pygame.QUIT:
 25 │  sys.exit()
 26 │  elif event.type == pygame.KEYDOWN:
 27 │  if event.key == pygame.K_SPACE:
 28 │  bouge = not bouge
 29 │  elif event.key == pygame.K_LEFT:
 30 │  raquette.deplaceGauche()
 31 │  elif event.key == pygame.K_RIGHT:
 32 │  raquette.deplaceDroite()
 33 │
 34 │  ecran.fill(BLANC)
 35 │
 36 │  if bouge:
 37 │  balle.deplace()
 38 │
 39 │  # Collision balle-raquette
 40 │  if (balle.ypos + balle.rayon >= HAUTEUR_ECRAN - 20 and
 41 │  raquette.xpos <= balle.xpos <= raquette.xpos + raquette.largeur):
 42 │  balle.yvit = -balle.yvit
 43 │
 44 │  balle.affiche(ecran)
 45 │  raquette.affiche(ecran)
 46 │
 47 │  pygame.display.update()
 48 │  clock.tick(60)
 49 │
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

View File

@@ -0,0 +1,49 @@
import sys
import pygame
from balle import Balle
from raquette import Raquette
from constantes import *
pygame.init()
# Création de la fenêtre
ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
ecran.fill(BLANC)
pygame.display.set_caption('Balle rebondissante avec raquette')
clock = pygame.time.Clock()
# Initialisation des objets
balle = Balle()
raquette = Raquette()
bouge = False
while True: # Boucle principale
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
bouge = not bouge
elif event.key == pygame.K_LEFT:
raquette.deplaceGauche()
elif event.key == pygame.K_RIGHT:
raquette.deplaceDroite()
ecran.fill(BLANC)
if bouge:
balle.deplace()
# Collision balle-raquette
if (balle.ypos + balle.rayon >= HAUTEUR_ECRAN - 20 and
raquette.xpos <= balle.xpos <= raquette.xpos + raquette.largeur):
balle.yvit = -balle.yvit
balle.affiche(ecran)
raquette.affiche(ecran)
pygame.display.update()
clock.tick(60)

Binary file not shown.

View File

@@ -0,0 +1,42 @@
import sys, pygame
import balle
##########Definitions des constantes
# Taille de la fenetre
LARGEUR_ECRAN = 600
HAUTEUR_ECRAN = 800
# Couleur
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
pygame.init() #initialisation des modules de pygame
# Creation de la fenetre
ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
ecran.fill(BLANC)
pygame.display.set_caption('Balle rebondissante')
clock = pygame.time.Clock()
b1 = balle.Balle()
bouge = False
while True: #Demarrage de la boucle infinie
for event in pygame.event.get():
if event.type == pygame.QUIT: #Evt de sortie de boucle
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
bouge = not bouge
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
bouge = not bouge
ecran.fill(BLANC)
if bouge:
b1.deplace()
b1.affiche(ecran)
pygame.display.update() #rafraichissement
clock.tick(60)

View File

@@ -0,0 +1,32 @@
import pygame
import pygame
class Balle:
"""
Definie une balle qui se deplace dans la fenetre ecran
Attributs : rayon , xpos , ypos , xvit , yvit
Methodes : deplace , affiche
"""
def __init__(self):
self.rayon = 10
self.xpos = 300.0
self.ypos = 400.0
self.xvit = 4.5
self.yvit = 3.0
def deplace(self):
self.xpos += self.xvit
self.ypos += self.yvit
if self.xpos + self.rayon > 600 or self.xpos - self.rayon < 0:
self.xvit = -self.xvit
if self.ypos + self.rayon > 800 or self.ypos - self.rayon < 0:
self.yvit = -self.yvit
def affiche(self, ecran):
"""
Dessine la balle sur l'écran
Paramètres :
ecran : pygame.Surface - L'écran où dessiner la balle
"""
pygame.draw.circle(ecran, (255, 0, 0), (int(self.xpos), int(self.ypos)), self.rayon)

View File

@@ -0,0 +1,48 @@
import sys
import pygame
from balle import Balle
from raquette import Raquette
from constantes import *
pygame.init()
# Création de la fenêtre
ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
ecran.fill(BLANC)
pygame.display.set_caption('Balle rebondissante avec raquette')
clock = pygame.time.Clock()
# Initialisation des objets
balle = Balle()
raquette = Raquette()
bouge = False
while True: # Boucle principale
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
bouge = not bouge
elif event.key == pygame.K_LEFT:
raquette.deplaceGauche()
elif event.key == pygame.K_RIGHT:
raquette.deplaceDroite()
ecran.fill(BLANC)
if bouge:
balle.deplace()
# Collision balle-raquette
if (balle.ypos + balle.rayon >= HAUTEUR_ECRAN - 20 and
raquette.xpos <= balle.xpos <= raquette.xpos + raquette.largeur):
balle.yvit = -balle.yvit
balle.affiche(ecran)
raquette.affiche(ecran)
pygame.display.update()
clock.tick(60)

View File

@@ -0,0 +1,5 @@
LARGEUR_ECRAN = 600
HAUTEUR_ECRAN = 800
BLANC = (255,255,255)

View File

@@ -0,0 +1,39 @@
import pygame
from constantes import *
class Raquette:
"""
Définit une raquette qui se déplace horizontalement
dans le bas de la fenêtre écran.
Attributs : largeur (int, par défaut 100),
xpos (int, par défaut LARGEUR_ECRAN//2 - largeur//2),
vit (int, par défaut 6)
L'épaisseur de la raquette est de 10.
Méthodes : deplaceGauche, deplaceDroite, affiche
"""
def __init__(self):
self.largeur = 100
self.xpos = LARGEUR_ECRAN // 2 - self.largeur // 2
self.vit = 6
def deplaceGauche(self):
"""
Déplace la raquette vers la gauche si possible.
"""
self.xpos = max(0, self.xpos - self.vit)
def deplaceDroite(self):
"""
Déplace la raquette vers la droite si possible.
"""
self.xpos = min(LARGEUR_ECRAN - self.largeur, self.xpos + self.vit)
def affiche(self, ecran):
"""
Dessine la raquette sur l'écran.
"""
pygame.draw.rect(ecran, (0, 0, 255), (int(self.xpos), HAUTEUR_ECRAN - 20, self.largeur, 10))
if __name__ == '__main__':
pass