Ca a encore changé
							
								
								
									
										
											BIN
										
									
								
								V5.5/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 266 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/10.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 91 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 202 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 360 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 115 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/5.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 280 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/6.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 216 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/7.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 119 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/8.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 120 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/9.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/balle.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 108 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/coeur.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 18 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/coeurfaded.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 18 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/joueur.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 91 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.5/terrain.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 72 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 266 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/10.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 91 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 202 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 360 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 115 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/5.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 280 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/6.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 216 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/7.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 119 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/8.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 120 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/9.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/balle.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 108 KiB | 
							
								
								
									
										37
									
								
								V5.6/besoindemusiques.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,37 @@ | |||||||
|  | # import os | ||||||
|  | # from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip | ||||||
|  | 
 | ||||||
|  | # video_file = "playlist for silly goofsters.webm" | ||||||
|  | 
 | ||||||
|  | # timestamps = [ | ||||||
|  | #     ("0:00", "4:15", "pineapple_rag_techno_remake"), | ||||||
|  | #     ("4:15", "5:40", "scheming_weasel"), | ||||||
|  | #     ("5:40", "7:12", "kk_parade"), | ||||||
|  | #     ("7:12", "7:34", "spooktune"), | ||||||
|  | #     ("7:34", "9:15", "dokeshi_no_koshin"), | ||||||
|  | #     ("9:15", "15:12", "jades_theme"), | ||||||
|  | #     ("15:12", "16:47", "spazzmatica_polka"), | ||||||
|  | #     ("16:47", "19:22", "14_crush"), | ||||||
|  | #     ("19:22", "20:03", "tem_shop"), | ||||||
|  | #     ("20:03", "22:13", "drinky_bird"), | ||||||
|  | #     ("22:13", "23:26", "aquatic_race"), | ||||||
|  | #     ("23:26", "26:45", "pixel_peeker_polka"), | ||||||
|  | #     ("26:45", "27:26", "vs_lancer"), | ||||||
|  | #     ("27:26", "30:00", "pppp_papipupepo") | ||||||
|  | # ] | ||||||
|  | 
 | ||||||
|  | # output_folder = "output_folder" | ||||||
|  | # os.makedirs(output_folder, exist_ok=True) | ||||||
|  | 
 | ||||||
|  | # for i, (start_time, end_time, name) in enumerate(timestamps): | ||||||
|  | #     start_seconds = sum(x * int(t) for x, t in zip([60, 1], start_time.split(":"))) | ||||||
|  | #     end_seconds = sum(x * int(t) for x, t in zip([60, 1], end_time.split(":"))) | ||||||
|  | #     output_file = f"{output_folder}/{i}.webm" | ||||||
|  |      | ||||||
|  | #     ffmpeg_extract_subclip(video_file, start_seconds, end_seconds, targetname=output_file) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # ffmpeg -i 6.webm -vn 6.mp3 | ||||||
|  | 
 | ||||||
|  | for i in range (7, 14): | ||||||
|  |     print('ffmpeg -i ', i,'.webm -vn ',i,'.mp3', sep='') | ||||||
							
								
								
									
										
											BIN
										
									
								
								V5.6/coeur.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 18 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/coeurfaded.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 18 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/joueur.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 91 KiB | 
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/0.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/1.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/10.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/11.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/12.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/13.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/14.opus
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/15.m4a
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/16.opus
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/2.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/3.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/4.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/5.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/6.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/7.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/8.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/all/9.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										4
									
								
								V5.6/output_folder/fusion.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,4 @@ | |||||||
|  | cd C:\Users\Noham\Documents\GitHub\Projet-foot\V5.6\output_folder | ||||||
|  | ffmpeg -i 14.opus -vn 14.mp3 | ||||||
|  | ffmpeg -i 15.m4A -vn 15.mp3 | ||||||
|  | ffmpeg -i 16.opus -vn 16.mp3 | ||||||
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/0.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/1.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/10.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/11.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/12.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/13.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/14.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/15.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/16.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/2.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/3.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/4.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/5.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/6.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/7.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/8.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/output_folder/mp3/9.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/playlist for silly goofsters.webm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								V5.6/terrain.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 72 KiB | 
							
								
								
									
										28
									
								
								flemmedetaper.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,28 @@ | |||||||
|  | # player_image = pygame.image.load("V5/joueur.png") | ||||||
|  | # player_image = pygame.transform.scale(pygame.image.load("V5/joueur.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) # Au cas où l'image fait pas la bonne taille | ||||||
|  | 
 | ||||||
|  | # for i in range (1,11): | ||||||
|  | #     print('sprite_image_', i, ' = pygame.transform.scale(pygame.image.load("V5.5/', i, '.png"), (SPRITE_WIDTH, SPRITE_HEIGHT))', sep='') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SPRITE_WIDTH = 100  # Largeur d'un sprite | ||||||
|  | SPRITE_HEIGHT = 100  # Hauteur d'un sprite | ||||||
|  | SPACING_X = 20  # Espacement horizontal entre les sprites | ||||||
|  | SPACING_Y = 20  # Espacement vertical entre les lignes de sprites | ||||||
|  | SCREEN_WIDTH = 800  # Largeur de l'écran | ||||||
|  | SCREEN_HEIGHT = 600  # Hauteur de l'écran | ||||||
|  | 
 | ||||||
|  | # Calculer les coordonnées de position des sprites | ||||||
|  | start_x = (SCREEN_WIDTH - (SPRITE_WIDTH * 5 + SPACING_X * 4)) // 2 | ||||||
|  | start_y = (SCREEN_HEIGHT - (SPRITE_HEIGHT * 2 + SPACING_Y)) // 2 | ||||||
|  | listex = [] | ||||||
|  | listey = [] | ||||||
|  | for row in range(2): | ||||||
|  |     for col in range(5): | ||||||
|  |         x = start_x + col * (SPRITE_WIDTH + SPACING_X) | ||||||
|  |         y = start_y + row * (SPRITE_HEIGHT + SPACING_Y) | ||||||
|  |         listex.append(x) | ||||||
|  |         listey.append(y) | ||||||
|  | 
 | ||||||
|  | print('listex = ', listex, sep='') | ||||||
|  | print('listey = ' , listey, sep='') | ||||||
							
								
								
									
										255
									
								
								jeu V5.5.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,255 @@ | |||||||
|  | import pygame | ||||||
|  | import random | ||||||
|  | import sys | ||||||
|  | from pygame.locals import * | ||||||
|  | 
 | ||||||
|  | pygame.init() | ||||||
|  | 
 | ||||||
|  | # Paramètres de l'écran | ||||||
|  | WIDTH = 800 | ||||||
|  | HEIGHT = 600 | ||||||
|  | 
 | ||||||
|  | #  Paramètres de couleurs | ||||||
|  | BLACK = (0, 0, 0) | ||||||
|  | WHITE = (255, 255, 255) | ||||||
|  | GRIS = (111, 111, 111) # pas sûr de la valeur mdrr | ||||||
|  | 
 | ||||||
|  | # Paramètres de la balle | ||||||
|  | BALL_WIDTH = 50 | ||||||
|  | BALL_HEIGHT = 50 | ||||||
|  | BALL_RADIUS = 50//2 | ||||||
|  | 
 | ||||||
|  | # Paramètres du joueur | ||||||
|  | PLAYER_WIDTH = 80 | ||||||
|  | PLAYER_HEIGHT = 80 | ||||||
|  | 
 | ||||||
|  | # Paramètres des sprites | ||||||
|  | SPRITE_WIDTH = 80 | ||||||
|  | SPRITE_HEIGHT = 80 | ||||||
|  | 
 | ||||||
|  | # Paramètres du coeur | ||||||
|  | COEUR_WIDTH = 75 | ||||||
|  | COEUR_HEIGHT = COEUR_WIDTH*(440/512) | ||||||
|  | nbcoeur = 1 | ||||||
|  | 
 | ||||||
|  | # Images choisies | ||||||
|  | player_image = pygame.transform.scale(pygame.image.load("V5/joueur.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) # Au cas où l'image fait pas la bonne taille | ||||||
|  | 
 | ||||||
|  | ball_image = pygame.transform.scale(pygame.image.load("V5/balle.png"), (BALL_WIDTH, BALL_HEIGHT))  | ||||||
|  | 
 | ||||||
|  | coeur_image = pygame.transform.scale(pygame.image.load("V5/coeur.png"), (COEUR_WIDTH, COEUR_HEIGHT))  | ||||||
|  | coeurfaded_image = pygame.transform.scale(pygame.image.load("V5/coeurfaded.png"), (COEUR_WIDTH, COEUR_HEIGHT))  | ||||||
|  | 
 | ||||||
|  | background_image = pygame.transform.scale(pygame.image.load("V5/terrain.png"), (WIDTH, HEIGHT)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | listex = [110, 230, 350, 470, 590, 110, 230, 350, 470, 590] | ||||||
|  | listey = [190, 190, 190, 190, 190, 310, 310, 310, 310, 310] | ||||||
|  | 
 | ||||||
|  | sprites = []  # Liste pour stocker les sprites | ||||||
|  | sprite_rects = []  # Liste pour stocker les rectangles englobants des sprites | ||||||
|  | selected_sprite = None # Le sprite choisi | ||||||
|  | 
 | ||||||
|  | # Charger les 10 sprites | ||||||
|  | for i in range(10): | ||||||
|  |     sprite_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (SPRITE_WIDTH, SPRITE_HEIGHT)) | ||||||
|  |     sprites.append(sprite_image) | ||||||
|  |     sprite_rect = sprite_image.get_rect() | ||||||
|  |     sprite_rect.topleft = (listex[i], listey[i])  # Définir les coordonnées du sprite | ||||||
|  |     sprite_rects.append(sprite_rect) | ||||||
|  | 
 | ||||||
|  | # Définir les dimensions et la position du rectangle pour le score | ||||||
|  | largeur_rectangle = 150 | ||||||
|  | hauteur_rectangle = 40 | ||||||
|  | x_rectangle = (WIDTH - largeur_rectangle) // 2  # Au milieu horizontalement | ||||||
|  | y_rectangle = 0  # En haut de l'écran | ||||||
|  | 
 | ||||||
|  | # Variables du jeu | ||||||
|  | score = 0 | ||||||
|  | font = pygame.font.Font(None, 36) | ||||||
|  | dercolsol = 0 | ||||||
|  | nbrotation = 0 | ||||||
|  | 
 | ||||||
|  | # Initialisation de l'écran de jeu | ||||||
|  | screen = pygame.display.set_mode((WIDTH, HEIGHT)) | ||||||
|  | pygame.display.set_caption("Jeu V5.5") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def start_screen(): | ||||||
|  |     selected_sprite = None | ||||||
|  |     screen.fill(BLACK) | ||||||
|  |     start_text = font.render("Appuyez sur une touche pour commencer", True, WHITE) | ||||||
|  |     start_text_rect = start_text.get_rect() | ||||||
|  |     start_text_rect.centerx = WIDTH // 2 | ||||||
|  |     start_text_rect.centery = HEIGHT // 5 | ||||||
|  |     screen.blit(start_text, start_text_rect) | ||||||
|  |     for i, sprite in enumerate(sprites): | ||||||
|  |         screen.blit(sprite, sprite_rects[i]) | ||||||
|  |     pygame.display.flip() | ||||||
|  | 
 | ||||||
|  |     while True: | ||||||
|  |         for event in pygame.event.get(): | ||||||
|  |             if event.type == KEYDOWN: | ||||||
|  |                 return selected_sprite | ||||||
|  |              | ||||||
|  |             elif event.type == MOUSEBUTTONDOWN and event.button == 1:  # Clic gauche de la souris | ||||||
|  |                 print("L'utilisateur a cliqué") | ||||||
|  |                 mouse_pos = pygame.mouse.get_pos() | ||||||
|  | 
 | ||||||
|  |                 if start_text_rect.collidepoint(mouse_pos): | ||||||
|  |                     print("L'utilisateur a cliqué sur le texte de départ.") | ||||||
|  | 
 | ||||||
|  |                 for i, sprite_rect in enumerate(sprite_rects): | ||||||
|  |                     if sprite_rect.collidepoint(mouse_pos): | ||||||
|  |                         print(f"L'utilisateur a cliqué sur le sprite {i+1}.") | ||||||
|  |                         selected_sprite = i | ||||||
|  | 
 | ||||||
|  |         screen.fill(BLACK)  # Effacer l'écran | ||||||
|  |         screen.blit(start_text, start_text_rect) | ||||||
|  | 
 | ||||||
|  |         # Dessiner les sprites à l'écran | ||||||
|  |         for i, sprite in enumerate(sprites): | ||||||
|  |             screen.blit(sprite, sprite_rects[i]) | ||||||
|  | 
 | ||||||
|  |             # Dessiner le rectangle autour du sprite sélectionné | ||||||
|  |             if selected_sprite is not None and selected_sprite == i: | ||||||
|  |                 pygame.draw.rect(screen, GRIS, sprite_rects[i], 2) | ||||||
|  | 
 | ||||||
|  |         pygame.display.flip() | ||||||
|  | 
 | ||||||
|  | def game(i): | ||||||
|  |     global score, nbcoeur | ||||||
|  |      | ||||||
|  |     if i != 0: | ||||||
|  |         player_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) | ||||||
|  |     else: | ||||||
|  |         i = 0 | ||||||
|  |         player_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) | ||||||
|  | 
 | ||||||
|  |     # Position initiale de la balle | ||||||
|  |     ball_pos = [WIDTH // 2, BALL_RADIUS] | ||||||
|  |     ball_velocity_y = 0 | ||||||
|  |     ball_velocity_x = 1 | ||||||
|  |     gravity = 0.1 | ||||||
|  | 
 | ||||||
|  |     # Position initiale du joueur | ||||||
|  |     player_pos = [WIDTH // 2 - PLAYER_WIDTH // 2, HEIGHT - PLAYER_HEIGHT - 60] | ||||||
|  | 
 | ||||||
|  |     nbcoeur = 1 | ||||||
|  |     clock = pygame.time.Clock() | ||||||
|  |     running = True | ||||||
|  |     dercolsol = 0 | ||||||
|  |     nbrotation = 0 | ||||||
|  |     while running: | ||||||
|  |         for event in pygame.event.get(): | ||||||
|  |             if event.type == pygame.QUIT: | ||||||
|  |                 pygame.quit() | ||||||
|  |                 sys.exit() | ||||||
|  | 
 | ||||||
|  |         # Gestion des mouvements du joueur | ||||||
|  |         mouse_pos = pygame.mouse.get_pos() | ||||||
|  |         player_pos[0] = mouse_pos[0] - PLAYER_WIDTH // 2 | ||||||
|  | 
 | ||||||
|  |         # Mise à jour de la logique du jeu | ||||||
|  |         ball_velocity_y += gravity | ||||||
|  |         ball_pos[1] += ball_velocity_y | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le joueur | ||||||
|  |         if ball_pos[1] + BALL_RADIUS >= player_pos[1] and ball_pos[0] >= player_pos[0] and ball_pos[0] <= player_pos[0] + PLAYER_WIDTH: | ||||||
|  |             ball_pos[1] = player_pos[1] - BALL_RADIUS | ||||||
|  |             ball_velocity_y = -ball_velocity_y | ||||||
|  |             score += 1 | ||||||
|  |             ball_velocity_x += random.uniform(-3, 3) | ||||||
|  |             print("Score :", score) | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le sol | ||||||
|  |         if ball_pos[1] + BALL_RADIUS >= HEIGHT: | ||||||
|  |             current_time = pygame.time.get_ticks() | ||||||
|  |             if current_time - dercolsol >= 1000 : | ||||||
|  |                 if nbcoeur >= 1: | ||||||
|  |                     nbcoeur -= 1  # Décrémenter le nombre de vies | ||||||
|  |                     dercolsol = current_time | ||||||
|  |                     ball_velocity_y = -ball_velocity_y | ||||||
|  |                     nbrotation+=5 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |                 else: | ||||||
|  |                     print(nbcoeur) | ||||||
|  |                     return False | ||||||
|  |                     pass | ||||||
|  |              | ||||||
|  |             if current_time - dercolsol <= 1000: | ||||||
|  |                 print(nbcoeur) | ||||||
|  |              | ||||||
|  |             else: | ||||||
|  |                 nbcoeur = nbcoeur | ||||||
|  |                 print(nbcoeur) | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le plafond | ||||||
|  |         elif ball_pos[1] <= BALL_RADIUS: | ||||||
|  |             ball_pos[1] = BALL_RADIUS | ||||||
|  |             ball_velocity_y = -ball_velocity_y | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         ball_pos[0] += ball_velocity_x | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche les murs | ||||||
|  |         if ball_pos[0] <= BALL_RADIUS or ball_pos[0]+BALL_RADIUS//2 >= WIDTH: | ||||||
|  |             ball_velocity_x = -ball_velocity_x | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         # Dessiner les éléments | ||||||
|  |         screen.blit(background_image, (0, 0)) # Le terrain | ||||||
|  | 
 | ||||||
|  |         nbrotation+=1 | ||||||
|  |         screen.blit(pygame.transform.rotate(ball_image, nbrotation), (ball_pos[0] - BALL_RADIUS, ball_pos[1] - BALL_RADIUS)) # La balle | ||||||
|  |          | ||||||
|  |         screen.blit(player_image, (player_pos[0], player_pos[1])) # Le joueur | ||||||
|  |          | ||||||
|  |             # Afficher le nombre de coeur(s) | ||||||
|  |         if nbcoeur == 1 : | ||||||
|  |             screen.blit(coeur_image, (25, 25)) # Le coeur | ||||||
|  |          | ||||||
|  |         if nbcoeur == 0: | ||||||
|  |             screen.blit(coeurfaded_image, (25,25)) # Le coeur plus transparent | ||||||
|  | 
 | ||||||
|  |             # Afficher le score | ||||||
|  |         pygame.draw.rect(screen, BLACK, (x_rectangle, y_rectangle, largeur_rectangle, hauteur_rectangle)) | ||||||
|  | 
 | ||||||
|  |         text = font.render("Score : " + str(score), True, WHITE) | ||||||
|  |         text_rect = text.get_rect() | ||||||
|  |         text_rect.center = (WIDTH // 2, 20) | ||||||
|  |         screen.blit(text, text_rect) # Le score | ||||||
|  | 
 | ||||||
|  |         #_____________ Ne rien mettre en dessous _____________ | ||||||
|  |         pygame.display.flip() | ||||||
|  |         clock.tick(60) | ||||||
|  | 
 | ||||||
|  | def game_over_screen(): | ||||||
|  |     screen.fill(BLACK) | ||||||
|  |     perdu_text = font.render("Perdu", True, WHITE) | ||||||
|  |     perdu_text_rect = perdu_text.get_rect() | ||||||
|  |     perdu_text_rect.centerx = WIDTH // 2 | ||||||
|  |     perdu_text_rect.centery = HEIGHT // 2 | ||||||
|  |     screen.blit(perdu_text, perdu_text_rect) | ||||||
|  |     pygame.display.flip() | ||||||
|  |     pygame.time.wait(3000) | ||||||
|  | 
 | ||||||
|  | # Boucle principale | ||||||
|  | running = True | ||||||
|  | while running: | ||||||
|  |     selected_sprite = None | ||||||
|  |     selected_skin = start_screen() | ||||||
|  |     print('le skin choisi est :', selected_skin) | ||||||
|  |     score = 0 | ||||||
|  |     nbcoeur = 1 | ||||||
|  |     dercolsol = 0 | ||||||
|  |     nbrotation = 0 | ||||||
|  |     game_over = game(selected_skin) | ||||||
|  |     print(game_over) | ||||||
|  |     if game_over == False: | ||||||
|  |         game_over_screen() | ||||||
|  |         running = False | ||||||
|  | 
 | ||||||
|  | pygame.quit() | ||||||
							
								
								
									
										264
									
								
								jeu V5.6.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,264 @@ | |||||||
|  | import pygame | ||||||
|  | import random | ||||||
|  | import sys | ||||||
|  | from pygame.locals import * | ||||||
|  | 
 | ||||||
|  | pygame.init() | ||||||
|  | 
 | ||||||
|  | # Paramètres de l'écran | ||||||
|  | WIDTH = 800 | ||||||
|  | HEIGHT = 600 | ||||||
|  | 
 | ||||||
|  | #  Paramètres de couleurs | ||||||
|  | BLACK = (0, 0, 0) | ||||||
|  | WHITE = (255, 255, 255) | ||||||
|  | GRIS = (111, 111, 111) # pas sûr de la valeur mdrr | ||||||
|  | 
 | ||||||
|  | # Paramètres de la balle | ||||||
|  | BALL_WIDTH = 50 | ||||||
|  | BALL_HEIGHT = 50 | ||||||
|  | BALL_RADIUS = 50//2 | ||||||
|  | 
 | ||||||
|  | # Paramètres du joueur | ||||||
|  | PLAYER_WIDTH = 80 | ||||||
|  | PLAYER_HEIGHT = 80 | ||||||
|  | 
 | ||||||
|  | # Paramètres des sprites | ||||||
|  | SPRITE_WIDTH = 80 | ||||||
|  | SPRITE_HEIGHT = 80 | ||||||
|  | 
 | ||||||
|  | # Paramètres du coeur | ||||||
|  | COEUR_WIDTH = 75 | ||||||
|  | COEUR_HEIGHT = COEUR_WIDTH*(440/512) | ||||||
|  | nbcoeur = 1 | ||||||
|  | 
 | ||||||
|  | # Images choisies | ||||||
|  | player_image = pygame.transform.scale(pygame.image.load("V5/joueur.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) # Au cas où l'image fait pas la bonne taille | ||||||
|  | 
 | ||||||
|  | ball_image = pygame.transform.scale(pygame.image.load("V5/balle.png"), (BALL_WIDTH, BALL_HEIGHT))  | ||||||
|  | 
 | ||||||
|  | coeur_image = pygame.transform.scale(pygame.image.load("V5/coeur.png"), (COEUR_WIDTH, COEUR_HEIGHT))  | ||||||
|  | coeurfaded_image = pygame.transform.scale(pygame.image.load("V5/coeurfaded.png"), (COEUR_WIDTH, COEUR_HEIGHT))  | ||||||
|  | 
 | ||||||
|  | background_image = pygame.transform.scale(pygame.image.load("V5/terrain.png"), (WIDTH, HEIGHT)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | listex = [110, 230, 350, 470, 590, 110, 230, 350, 470, 590] | ||||||
|  | listey = [190, 190, 190, 190, 190, 310, 310, 310, 310, 310] | ||||||
|  | 
 | ||||||
|  | sprites = []  # Liste pour stocker les sprites | ||||||
|  | sprite_rects = []  # Liste pour stocker les rectangles englobants des sprites | ||||||
|  | selected_sprite = None # Le sprite choisi | ||||||
|  | 
 | ||||||
|  | # Charger les 10 sprites | ||||||
|  | for i in range(10): | ||||||
|  |     sprite_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (SPRITE_WIDTH, SPRITE_HEIGHT)) | ||||||
|  |     sprites.append(sprite_image) | ||||||
|  |     sprite_rect = sprite_image.get_rect() | ||||||
|  |     sprite_rect.topleft = (listex[i], listey[i])  # Définir les coordonnées du sprite | ||||||
|  |     sprite_rects.append(sprite_rect) | ||||||
|  | 
 | ||||||
|  | # Charger une musique parmis la super compilation | ||||||
|  | i = random.randint(0, 17) | ||||||
|  | path = 'V5.6/output_folder/mp3/' | ||||||
|  | musique = path + str(i) + '.mp3' | ||||||
|  | pygame.mixer.music.load(musique) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Définir les dimensions et la position du rectangle pour le score | ||||||
|  | largeur_rectangle = 150 | ||||||
|  | hauteur_rectangle = 40 | ||||||
|  | x_rectangle = (WIDTH - largeur_rectangle) // 2  # Au milieu horizontalement | ||||||
|  | y_rectangle = 0  # En haut de l'écran | ||||||
|  | 
 | ||||||
|  | # Variables du jeu | ||||||
|  | score = 0 | ||||||
|  | font = pygame.font.Font(None, 36) | ||||||
|  | dercolsol = 0 | ||||||
|  | nbrotation = 0 | ||||||
|  | 
 | ||||||
|  | # Initialisation de l'écran de jeu | ||||||
|  | screen = pygame.display.set_mode((WIDTH, HEIGHT)) | ||||||
|  | pygame.display.set_caption("Jeu V5.5") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def start_screen(): | ||||||
|  |     selected_sprite = None | ||||||
|  |     screen.fill(BLACK) | ||||||
|  |     start_text = font.render("Appuyez sur une touche pour commencer", True, WHITE) | ||||||
|  |     start_text_rect = start_text.get_rect() | ||||||
|  |     start_text_rect.centerx = WIDTH // 2 | ||||||
|  |     start_text_rect.centery = HEIGHT // 5 | ||||||
|  |     screen.blit(start_text, start_text_rect) | ||||||
|  |     for i, sprite in enumerate(sprites): | ||||||
|  |         screen.blit(sprite, sprite_rects[i]) | ||||||
|  |     pygame.display.flip() | ||||||
|  | 
 | ||||||
|  |     while True: | ||||||
|  |         for event in pygame.event.get(): | ||||||
|  |             if event.type == KEYDOWN: | ||||||
|  |                 return selected_sprite | ||||||
|  |              | ||||||
|  |             elif event.type == MOUSEBUTTONDOWN and event.button == 1:  # Clic gauche de la souris | ||||||
|  |                 print("L'utilisateur a cliqué") | ||||||
|  |                 mouse_pos = pygame.mouse.get_pos() | ||||||
|  | 
 | ||||||
|  |                 if start_text_rect.collidepoint(mouse_pos): | ||||||
|  |                     print("L'utilisateur a cliqué sur le texte de départ.") | ||||||
|  | 
 | ||||||
|  |                 for i, sprite_rect in enumerate(sprite_rects): | ||||||
|  |                     if sprite_rect.collidepoint(mouse_pos): | ||||||
|  |                         print(f"L'utilisateur a cliqué sur le sprite {i+1}.") | ||||||
|  |                         selected_sprite = i | ||||||
|  | 
 | ||||||
|  |         screen.fill(BLACK)  # Effacer l'écran | ||||||
|  |         screen.blit(start_text, start_text_rect) | ||||||
|  | 
 | ||||||
|  |         # Dessiner les sprites à l'écran | ||||||
|  |         for i, sprite in enumerate(sprites): | ||||||
|  |             screen.blit(sprite, sprite_rects[i]) | ||||||
|  | 
 | ||||||
|  |             # Dessiner le rectangle autour du sprite sélectionné | ||||||
|  |             if selected_sprite is not None and selected_sprite == i: | ||||||
|  |                 pygame.draw.rect(screen, GRIS, sprite_rects[i], 2) | ||||||
|  | 
 | ||||||
|  |         pygame.display.flip() | ||||||
|  | 
 | ||||||
|  | def game(i): | ||||||
|  |     global score, nbcoeur | ||||||
|  |      | ||||||
|  |     if i != 0: | ||||||
|  |         player_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) | ||||||
|  |     else: | ||||||
|  |         i = 0 | ||||||
|  |         player_image = pygame.transform.scale(pygame.image.load(f"V5.5/{i+1}.png"), (PLAYER_WIDTH, PLAYER_HEIGHT)) | ||||||
|  | 
 | ||||||
|  |     # Position initiale de la balle | ||||||
|  |     ball_pos = [WIDTH // 2, BALL_RADIUS] | ||||||
|  |     ball_velocity_y = 0 | ||||||
|  |     ball_velocity_x = 1 | ||||||
|  |     gravity = 0.1 | ||||||
|  | 
 | ||||||
|  |     # Position initiale du joueur | ||||||
|  |     player_pos = [WIDTH // 2 - PLAYER_WIDTH // 2, HEIGHT - PLAYER_HEIGHT - 60] | ||||||
|  | 
 | ||||||
|  |     nbcoeur = 1 | ||||||
|  |     clock = pygame.time.Clock() | ||||||
|  |     running = True | ||||||
|  |     dercolsol = 0 | ||||||
|  |     nbrotation = 0 | ||||||
|  |     while running: | ||||||
|  |         for event in pygame.event.get(): | ||||||
|  |             if event.type == pygame.QUIT: | ||||||
|  |                 pygame.quit() | ||||||
|  |                 sys.exit() | ||||||
|  | 
 | ||||||
|  |         # Gestion des mouvements du joueur | ||||||
|  |         mouse_pos = pygame.mouse.get_pos() | ||||||
|  |         player_pos[0] = mouse_pos[0] - PLAYER_WIDTH // 2 | ||||||
|  | 
 | ||||||
|  |         # Mise à jour de la logique du jeu | ||||||
|  |         ball_velocity_y += gravity | ||||||
|  |         ball_pos[1] += ball_velocity_y | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le joueur | ||||||
|  |         if ball_pos[1] + BALL_RADIUS >= player_pos[1] and ball_pos[0] >= player_pos[0] and ball_pos[0] <= player_pos[0] + PLAYER_WIDTH: | ||||||
|  |             ball_pos[1] = player_pos[1] - BALL_RADIUS | ||||||
|  |             ball_velocity_y = -ball_velocity_y | ||||||
|  |             score += 1 | ||||||
|  |             ball_velocity_x += random.uniform(-3, 3) | ||||||
|  |             print("Score :", score) | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le sol | ||||||
|  |         if ball_pos[1] + BALL_RADIUS >= HEIGHT: | ||||||
|  |             current_time = pygame.time.get_ticks() | ||||||
|  |             if current_time - dercolsol >= 1000 : | ||||||
|  |                 if nbcoeur >= 1: | ||||||
|  |                     nbcoeur -= 1  # Décrémenter le nombre de vies | ||||||
|  |                     dercolsol = current_time | ||||||
|  |                     ball_velocity_y = -ball_velocity_y | ||||||
|  |                     nbrotation+=5 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |                 else: | ||||||
|  |                     print(nbcoeur) | ||||||
|  |                     return False | ||||||
|  |                     pass | ||||||
|  |              | ||||||
|  |             if current_time - dercolsol <= 1000: | ||||||
|  |                 print(nbcoeur) | ||||||
|  |              | ||||||
|  |             else: | ||||||
|  |                 nbcoeur = nbcoeur | ||||||
|  |                 print(nbcoeur) | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche le plafond | ||||||
|  |         elif ball_pos[1] <= BALL_RADIUS: | ||||||
|  |             ball_pos[1] = BALL_RADIUS | ||||||
|  |             ball_velocity_y = -ball_velocity_y | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         ball_pos[0] += ball_velocity_x | ||||||
|  | 
 | ||||||
|  |         # Si la balle touche les murs | ||||||
|  |         if ball_pos[0] <= BALL_RADIUS or ball_pos[0]+BALL_RADIUS//2 >= WIDTH: | ||||||
|  |             ball_velocity_x = -ball_velocity_x | ||||||
|  |             nbrotation+=5 | ||||||
|  | 
 | ||||||
|  |         # Dessiner les éléments | ||||||
|  |         screen.blit(background_image, (0, 0)) # Le terrain | ||||||
|  | 
 | ||||||
|  |         nbrotation+=1 | ||||||
|  |         screen.blit(pygame.transform.rotate(ball_image, nbrotation), (ball_pos[0] - BALL_RADIUS, ball_pos[1] - BALL_RADIUS)) # La balle | ||||||
|  |          | ||||||
|  |         screen.blit(player_image, (player_pos[0], player_pos[1])) # Le joueur | ||||||
|  |          | ||||||
|  |             # Afficher le nombre de coeur(s) | ||||||
|  |         if nbcoeur == 1 : | ||||||
|  |             screen.blit(coeur_image, (25, 25)) # Le coeur | ||||||
|  |          | ||||||
|  |         if nbcoeur == 0: | ||||||
|  |             screen.blit(coeurfaded_image, (25,25)) # Le coeur plus transparent | ||||||
|  | 
 | ||||||
|  |             # Afficher le score | ||||||
|  |         pygame.draw.rect(screen, BLACK, (x_rectangle, y_rectangle, largeur_rectangle, hauteur_rectangle)) | ||||||
|  | 
 | ||||||
|  |         text = font.render("Score : " + str(score), True, WHITE) | ||||||
|  |         text_rect = text.get_rect() | ||||||
|  |         text_rect.center = (WIDTH // 2, 20) | ||||||
|  |         screen.blit(text, text_rect) # Le score | ||||||
|  | 
 | ||||||
|  |         #_____________ Ne rien mettre en dessous _____________ | ||||||
|  |         pygame.display.flip() | ||||||
|  |         clock.tick(60) | ||||||
|  | 
 | ||||||
|  | def game_over_screen(): | ||||||
|  |     screen.fill(BLACK) | ||||||
|  |     perdu_text = font.render("Perdu", True, WHITE) | ||||||
|  |     perdu_text_rect = perdu_text.get_rect() | ||||||
|  |     perdu_text_rect.centerx = WIDTH // 2 | ||||||
|  |     perdu_text_rect.centery = HEIGHT // 2 | ||||||
|  |     screen.blit(perdu_text, perdu_text_rect) | ||||||
|  |     pygame.display.flip() | ||||||
|  |     pygame.time.wait(3000) | ||||||
|  | 
 | ||||||
|  | # Boucle principale | ||||||
|  | running = True | ||||||
|  | while running: | ||||||
|  |     pygame.mixer.music.play() | ||||||
|  |     selected_sprite = None | ||||||
|  |     selected_skin = start_screen() | ||||||
|  |     print('le skin choisi est :', selected_skin) | ||||||
|  |     score = 0 | ||||||
|  |     nbcoeur = 1 | ||||||
|  |     dercolsol = 0 | ||||||
|  |     nbrotation = 0 | ||||||
|  |     game_over = game(selected_skin) | ||||||
|  |     print(game_over) | ||||||
|  |     if game_over == False: | ||||||
|  |         game_over_screen() | ||||||
|  |         running = False | ||||||
|  | 
 | ||||||
|  | pygame.quit() | ||||||
 NohamR
						NohamR