CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème code pygame/pycharm

benjamin_brgn
benjamin_brgn
Niveau 1
10 mai 2024 à 01:23:10

Bonjour, je ne vais pas vous le cacher je suis débutant ,mais vraiment, en ce qui concerne Pygame avec Pycharm et même en général, alors pour que vous ayez le contexte j’ai un travail de groupe à faire et nous souhaitons réaliser un jeu du style Street Fighter. Certaines de ces pages ne sont pas finis, mais le problème que je n’arrive pas à résoudre est que lorsque je clique sur le bouton pour relancer une partie, sur la page WinScreen, le jeu s’arrête et ne relance pas de partie. Si quelqu’un pouvait m’aider cela serait vraiment très sympa

Game : from Player_2 import Player_2 from Player_1 import Player_1 class Game: def __init__(self): self.player_2 = Player_2() self.player_1 = Player_1() self.pressed = { "Right": True, "Left": False } self.game_over = False # Ajout de l'attribut game_over # Ajout d'une méthode pour définir le jeu comme terminé def set_game_over(self): self.game_over = True

Player_1 : import pygame class Player_1(pygame.sprite.Sprite): def __init__(self): super().__init__() # CARACTERISTIQUE DU PERSONNAGE self.health = 200 self.max_health = 200 self.attack = 2 self.in_player = False self.image = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Link_Green_Sprite.png"), (70, 90)) self.rect = self.image.get_rect() self.rect.x = 450 self.rect.y = 250 # 227 self.floor = self.rect.y self.speed = 8 self.jump_speed = 1 self.jump_height = 20 self.gravity = 1 self.direction = 'right' self.is_jumping = False self.animation_update = False self.height = 12 * 6.5 self.width = 18 * 6.5 self.sprites_right = [ pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame1.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame2.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame3.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame4.png"), (self.height, self.width)) ] self.sprites_left = [ pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame5.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame6.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame7.png"), (self.height, self.width)), pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame8.png"), (self.height, self.width)) ] self.current_sprite_right = 0 self.current_sprite_left = 4 self.image = self.sprites_right[self.current_sprite_right] self.rect1 = self.image.get_rect() def move_right(self): self.rect.x += self.speed self.direction = 'right' "self.animation_update = True" def move_left(self): self.rect.x -= self.speed self.direction = 'left' def jump(self): if not self.is_jumping and self.rect.y == self.floor: self.is_jumping = True self.jump_speed = -self.jump_height def update(self): if self.is_jumping: self.jump_speed += self.gravity self.rect.y += self.jump_speed if self.rect.y > self.floor: self.rect.y = self.floor self.is_jumping = False def update_health_bar(self, surface): bar_color = (111, 210, 46) bar_color_background = (60, 63, 60) bar_position = (425, 15, self.health, 20) bar_background_position = (425, 15, self.max_health, 20) pygame.draw.rect(surface, bar_color_background, bar_background_position) pygame.draw.rect(surface, bar_color, bar_position) def take_damage(self): if self.in_player: self.health -= self.attack print("Player 1 :Dégat subit") self.in_player = False def update_animation(self, speed): keys = pygame.key.get_pressed() if keys[pygame.K_RIGHT]: if self.animation_update: self.current_sprite_right += speed self.image = self.sprites_right[int(self.current_sprite_right)-1] if int(self.current_sprite_right) >= len(self.sprites_right): self.current_sprite_right = 0 self.animation_update = False else: self.current_sprite_left += speed self.image = self.sprites_left[int(self.current_sprite_left) - 2] if int(self.current_sprite_left) >= len(self.sprites_left): self.current_sprite_left = 5 self.animation_update = True
Player_2: import pygame class Player_2(pygame.sprite.Sprite): def __init__(self): super().__init__() # CARACTERISTIQUE DU PERSONNAGE self.health = 200 self.max_health = 200 self.attack = 2 self.in_player = False self.image = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Link_Red_Sprite.png"), (70, 90)) self.rect = self.image.get_rect() self.rect.x = 100 self.rect.y = 250 self.floor = self.rect.y self.speed = 8 self.jump_speed = 1 self.jump_height = 20 self.gravity = 1 self.direction = 'right' self.is_jumping = False def move_right(self): self.rect.x += self.speed self.direction = 'right' def move_left(self): self.rect.x -= self.speed self.direction = 'left' def jump(self): if not self.is_jumping and self.rect.y == self.floor: self.is_jumping = True self.jump_speed = -self.jump_height def update(self): if self.is_jumping: self.jump_speed += self.gravity self.rect.y += self.jump_speed if self.rect.y > self.floor: self.rect.y = self.floor self.is_jumping = False def update_health_bar(self, surface): bar_color = (111, 210, 46) bar_color_background = (60, 63, 60) bar_position = (15, 15, self.health, 20) bar_background_position = (15, 15, self.max_health, 20) pygame.draw.rect(surface, bar_color_background, bar_background_position) pygame.draw.rect(surface, bar_color, bar_position) def take_damage(self): if self.in_player: self.health -= self.attack print("Player 2 :Dégat subit") self.in_player = False
ScreenUI : from copy import copy import pygame from Game import Game import WinScreen # FENETRE pygame.init() game = Game() running = True pygame.display.set_caption("Link Fighter: Streets of Hyrule") pygame.display.set_icon(pygame.image.load("E:\\Game_Project\\Icon_Game\\Triforce_Icon.png")) screen = pygame.display.set_mode((640, 400)) window_width, window_height = screen.get_size() background = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\BackGround\\Map1.png"), (window_width, window_height)) # BOUCLE PRINCIPALE while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # Ajout d'un contrôle pour arrêter la boucle si le jeu est terminé if game.game_over: running = False elif event.type == pygame.KEYDOWN: game.pressed[event.key] = True elif event.type == pygame.KEYUP: game.pressed[event.key] = False old_direction = copy(game.player_1.direction) old_direction_player2 = copy(game.player_2.direction) # Player 1 if game.player_1.rect.colliderect(game.player_2.rect): game.player_1.in_player = True else: game.player_1.in_player = False if game.player_2.rect.colliderect(game.player_1.rect): game.player_2.in_player = True print("Collision entre les joueurs!") else: game.player_2.in_player = False if game.pressed.get(pygame.K_RIGHT): game.player_1.move_right() elif game.pressed.get(pygame.K_LEFT): game.player_1.move_left() elif game.pressed.get(pygame.K_KP0): game.player_2.take_damage() if game.pressed.get(pygame.K_UP): game.player_1.jump() # Player 2 if game.pressed.get(pygame.K_d): game.player_2.move_right() elif game.pressed.get(pygame.K_q): game.player_2.move_left() elif game.pressed.get(pygame.K_SPACE): game.player_1.take_damage() if game.pressed.get(pygame.K_z): game.player_2.jump() # Player 1 Collision and Image Actualisation if game.player_1.rect.x + game.player_1.rect.width > screen.get_width(): game.player_1.rect.x = screen.get_width() - game.player_1.rect.width if game.player_1.rect.x < 0: game.player_1.rect.x = 0 if old_direction != game.player_1.direction: game.player_1.image = pygame.transform.flip(game.player_1.image, True, False) # Player 2 Collision and Image Actualisation if game.player_2.rect.x + game.player_2.rect.width > screen.get_width(): game.player_2.rect.x = screen.get_width() - game.player_2.rect.width if game.player_2.rect.x < 0: game.player_2.rect.x = 0 if old_direction_player2 != game.player_2.direction: game.player_2.image = pygame.transform.flip(game.player_2.image, True, False) # ACTUALISATION screen.fill((55, 55, 55)) screen.blit(background, (0, 0)) screen.blit(game.player_1.image, game.player_1.rect) screen.blit(game.player_2.image, game.player_2.rect) game.player_1.update() game.player_1.update_animation(0.3) game.player_2.update() game.player_1.update_health_bar(screen) game.player_2.update_health_bar(screen) if game.player_1.health <= 0 or game.player_2.health <= 0: # Open the game over screen passing the winner and the game instance winner = 2 if game.player_1.health <= 0 else 1 # Determine the winner WinScreen.WinScreen(winner, game) # Pass the game instance pygame.display.flip() pygame.time.delay(15) pygame.quit()
WinScreen.py : import pygame def reset_game(game): # Réinitialisation de la vie des joueurs game.player_1.health = 200 game.player_2.health = 200 # Réinitialisation de la position des joueurs game.player_1.rect.x = 450 game.player_1.rect.y = 250 game.player_2.rect.x = 100 game.player_2.rect.y = 250 # Définir le jeu comme non terminé game.set_game_over(False) def WinScreen(winner,game): pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Game Over") font = pygame.font.Font(None, 36) clock = pygame.time.Clock() # Charger l'image de fond background_image = pygame.image.load("E:\\Game_Project 1\\BackGround\\Win_Screen.jpg").convert() # Définir les rectangles des boutons button_width = 200 button_height = 50 restart_button_rect = pygame.Rect(200, 300, button_width, button_height) main_menu_button_rect = pygame.Rect(200, 350, button_width, button_height) running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.MOUSEBUTTONDOWN: # Logique des boutons if restart_button_rect.collidepoint(event.pos): print("Restart Game") reset_game(game)# Action pour redémarrer le jeu elif main_menu_button_rect.collidepoint(event.pos): print("Main Menu") # Action pour revenir au menu principal running = False # Sortir de la boucle et fermer la fenêtre screen.fill((0, 0, 0)) # Affichage de l'image de fond screen.blit(background_image, (0, 0)) title_font = pygame.font.Font(None,77) game_over_text =title_font.render("Game Over", True, (255, 255, 255)) winner_font = pygame.font.Font(None, 65) winner_text = winner_font.render(f"The Winner is : Player {winner}", True, (255, 255, 255)) restart_button_rect = pygame.Rect(200, 300, button_width, button_height) main_menu_button_rect = pygame.Rect(restart_button_rect.right + 20, 300, button_width, button_height) restart_button_text = font.render("Restart Game", True, (255, 255, 255)) main_menu_button_text = font.render("Main Menu", True, (255, 255, 255)) screen.blit(game_over_text, (250, 100)) screen.blit(winner_text, (125, 170)) screen.blit(restart_button_text, restart_button_rect.topleft) screen.blit(main_menu_button_text, main_menu_button_rect.topleft) pygame.display.flip() clock.tick(60)

Fankine
Fankine
Niveau 81
10 mai 2024 à 05:21:19

Ton code est imbitable t'as réussi à foirer ton c/c et à faire sauter l'indentation :noel:

Refais ça propre si tu veux qu'on puisse t'aider :( (Même si c'est pas vraiment le sujet du forum)

Message édité le 10 mai 2024 à 05:21:56 par Fankine
benjamin_brgn
benjamin_brgn
Niveau 1
10 mai 2024 à 20:26:06

ah oui excuse moi, après quelque recherche maintenant le jeu s'ouvre mais comme si c'était en arrière plan le voici avec l'indentation mais j'arrive pas à le mettre avec <code></code> : Game.py :

from Player_2 import Player_2
from Player_1 import Player_1

class Game:
def __init__(self):
self.player_2 = Player_2()
self.player_1 = Player_1()
self.pressed = {
"Right": True,
"Left": False
}
self.game_over = False # Ajout de l'attribut game_over

Player_1 :
import pygame

class Player_1(pygame.sprite.Sprite):

def __init__(self):
super().__init__()

# CARACTERISTIQUE DU PERSONNAGE

self.health = 200
self.max_health = 200
self.attack = 2
self.in_player = False

self.image = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Link_Green_Sprite.png"), (70, 90))
self.rect = self.image.get_rect()
self.rect.x = 450
self.rect.y = 250 # 227
self.floor = self.rect.y

self.speed = 8
self.jump_speed = 1
self.jump_height = 20
self.gravity = 1
self.direction = 'right'
self.is_jumping = False

self.animation_update = False
self.height = 12 * 6.5
self.width = 18 * 6.5
self.sprites_right = [
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame1.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame2.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame3.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame4.png"),
(self.height, self.width))
]
self.sprites_left = [
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame5.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame6.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame7.png"),
(self.height, self.width)),
pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Run_Sprite_1\\Frame8.png"),
(self.height, self.width))
]

self.current_sprite_right = 0
self.current_sprite_left = 4
self.image = self.sprites_right[self.current_sprite_right]

self.rect1 = self.image.get_rect()

def move_right(self):

self.rect.x += self.speed
self.direction = 'right'
"self.animation_update = True"

def move_left(self):

self.rect.x -= self.speed
self.direction = 'left'

def jump(self):

if not self.is_jumping and self.rect.y == self.floor:

self.is_jumping = True
self.jump_speed = -self.jump_height

def update(self):

if self.is_jumping:

self.jump_speed += self.gravity
self.rect.y += self.jump_speed

if self.rect.y > self.floor:

self.rect.y = self.floor
self.is_jumping = False

def update_health_bar(self, surface):

bar_color = (111, 210, 46)
bar_color_background = (60, 63, 60)

bar_position = (425, 15, self.health, 20)
bar_background_position = (425, 15, self.max_health, 20)

pygame.draw.rect(surface, bar_color_background, bar_background_position)
pygame.draw.rect(surface, bar_color, bar_position)

def take_damage(self):

if self.in_player:

self.health -= self.attack
print("Player 1 :Dégat subit")
self.in_player = False

def update_animation(self, speed):
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
if self.animation_update:
self.current_sprite_right += speed
self.image = self.sprites_right[int(self.current_sprite_right)-1]
if int(self.current_sprite_right) >= len(self.sprites_right):
self.current_sprite_right = 0
self.animation_update = False
else:
self.current_sprite_left += speed
self.image = self.sprites_left[int(self.current_sprite_left) - 2]
if int(self.current_sprite_left) >= len(self.sprites_left):
self.current_sprite_left = 5
self.animation_update = True

Player_2 :
import pygame

class Player_2(pygame.sprite.Sprite):

def __init__(self):
super().__init__()

# CARACTERISTIQUE DU PERSONNAGE

self.health = 200
self.max_health = 200
self.attack = 2
self.in_player = False

self.image = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\Caracter\\Link_Red_Sprite.png"), (70, 90))
self.rect = self.image.get_rect()
self.rect.x = 100
self.rect.y = 250
self.floor = self.rect.y

self.speed = 8
self.jump_speed = 1
self.jump_height = 20
self.gravity = 1
self.direction = 'right'
self.is_jumping = False

def move_right(self):

self.rect.x += self.speed
self.direction = 'right'

def move_left(self):

self.rect.x -= self.speed
self.direction = 'left'

def jump(self):

if not self.is_jumping and self.rect.y == self.floor:

self.is_jumping = True
self.jump_speed = -self.jump_height

def update(self):

if self.is_jumping:

self.jump_speed += self.gravity
self.rect.y += self.jump_speed

if self.rect.y > self.floor:

self.rect.y = self.floor
self.is_jumping = False

def update_health_bar(self, surface):

bar_color = (111, 210, 46)
bar_color_background = (60, 63, 60)

bar_position = (15, 15, self.health, 20)
bar_background_position = (15, 15, self.max_health, 20)

pygame.draw.rect(surface, bar_color_background, bar_background_position)
pygame.draw.rect(surface, bar_color, bar_position)

def take_damage(self):

if self.in_player:

self.health -= self.attack
print("Player 2 :Dégat subit")
self.in_player = False

ScreenUI :
from copy import copy
import pygame
from Game import Game
import WinScreen

  1. FENETRE

pygame.init()
game = Game()
running = True
pygame.display.set_caption("Link Fighter: Streets of Hyrule")
pygame.display.set_icon(pygame.image.load("E:\\Game_Project\\Icon_Game\\Triforce_Icon.png"))
screen = pygame.display.set_mode((640, 400))
window_width, window_height = screen.get_size()
background = pygame.transform.scale(pygame.image.load("E:\\Game_Project\\BackGround\\Map1.png"), (window_width, window_height))

  1. BOUCLE PRINCIPALE

while running:

for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Ajout d'un contrôle pour arrêter la boucle si le jeu est terminé
if game.game_over:
running = False
elif event.type == pygame.KEYDOWN:
game.pressed[event.key] = True
elif event.type == pygame.KEYUP:
game.pressed[event.key] = False

old_direction = copy(game.player_1.direction)
old_direction_player2 = copy(game.player_2.direction)

# Player 1

if game.player_1.rect.colliderect(game.player_2.rect):
game.player_1.in_player = True
else:
game.player_1.in_player = False
if game.player_2.rect.colliderect(game.player_1.rect):
game.player_2.in_player = True
print("Collision entre les joueurs!")
else:
game.player_2.in_player = False
if game.pressed.get(pygame.K_RIGHT):
game.player_1.move_right()
elif game.pressed.get(pygame.K_LEFT):
game.player_1.move_left()
elif game.pressed.get(pygame.K_KP0):
game.player_2.take_damage()
if game.pressed.get(pygame.K_UP):
game.player_1.jump()

# Player 2

if game.pressed.get(pygame.K_d):
game.player_2.move_right()
elif game.pressed.get(pygame.K_q):
game.player_2.move_left()
elif game.pressed.get(pygame.K_SPACE):
game.player_1.take_damage()
if game.pressed.get(pygame.K_z):
game.player_2.jump()

# Player 1 Collision and Image Actualisation

if game.player_1.rect.x + game.player_1.rect.width > screen.get_width():
game.player_1.rect.x = screen.get_width() - game.player_1.rect.width
if game.player_1.rect.x < 0:
game.player_1.rect.x = 0
if old_direction != game.player_1.direction:
game.player_1.image = pygame.transform.flip(game.player_1.image, True, False)

# Player 2 Collision and Image Actualisation

if game.player_2.rect.x + game.player_2.rect.width > screen.get_width():
game.player_2.rect.x = screen.get_width() - game.player_2.rect.width
if game.player_2.rect.x < 0:
game.player_2.rect.x = 0
if old_direction_player2 != game.player_2.direction:
game.player_2.image = pygame.transform.flip(game.player_2.image, True, False)

# Ajout de la vérification pour voir si un joueur a perdu toute sa vie
if game.player_1.health <= 0:
WinScreen.WinScreen(2, game)
running = False # Arrête la boucle principale
elif game.player_2.health <= 0:
WinScreen.WinScreen(1, game)
running = False # Arrête la boucle principale

# ACTUALISATION

screen.fill((55, 55, 55))
screen.blit(background, (0, 0))

screen.blit(game.player_1.image, game.player_1.rect)
screen.blit(game.player_2.image, game.player_2.rect)

game.player_1.update()
game.player_1.update_animation(0.3)
game.player_2.update()

game.player_1.update_health_bar(screen)
game.player_2.update_health_bar(screen)

pygame.display.flip()
pygame.time.delay(15)

pygame.quit()

WinScreen :
import pygame
import ScreenUI

def reset_game(game):
# Réinitialisation de la vie des joueurs
game.player_1.health = 200
game.player_2.health = 200

# Réinitialisation de la position des joueurs
game.player_1.rect.x = 450
game.player_1.rect.y = 250
game.player_2.rect.x = 100
game.player_2.rect.y = 250
# Définir le jeu comme non terminé
running = True

def WinScreen(winner,game):
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Game Over")

font = pygame.font.Font(None, 36)
clock = pygame.time.Clock()

# Charger l'image de fond
background_image = pygame.image.load("E:\\Game_Project 1\\BackGround\\Win_Screen.jpg").convert()

# Définir les rectangles des boutons
button_width = 200
button_height = 50
restart_button_rect = pygame.Rect(200, 300, button_width, button_height)
main_menu_button_rect = pygame.Rect(200, 350, button_width, button_height)

running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
# Logique des boutons
if restart_button_rect.collidepoint(event.pos):
print("Restart Game")
reset_game(game)# Action pour redémarrer le jeu
elif main_menu_button_rect.collidepoint(event.pos):
print("Main Menu")
# Action pour revenir au menu principal
running = False # Sortir de la boucle et fermer la fenêtre

screen.fill((0, 0, 0))

# Affichage de l'image de fond
screen.blit(background_image, (0, 0))
title_font = pygame.font.Font(None,77)
game_over_text =title_font.render("Game Over", True, (255, 255, 255))
winner_font = pygame.font.Font(None, 65)
winner_text = winner_font.render(f"The Winner is : Player {winner}", True, (255, 255, 255))

restart_button_rect = pygame.Rect(200, 300, button_width, button_height)
main_menu_button_rect = pygame.Rect(restart_button_rect.right + 20, 300, button_width, button_height)
restart_button_text = font.render("Restart Game", True, (255, 255, 255))
main_menu_button_text = font.render("Main Menu", True, (255, 255, 255))

screen.blit(game_over_text, (250, 100))
screen.blit(winner_text, (125, 170))
screen.blit(restart_button_text, restart_button_rect.topleft)
screen.blit(main_menu_button_text, main_menu_button_rect.topleft)

pygame.display.flip()
clock.tick(60)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment