Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/11/2021, à 19:22

chris7522

Déplacement simultané (pygame)

Bonjour a toutes et a tous ,
Je souhaiterai dans mon code que mes 2 gros carré se déplacent simultanément a la poursuite du petit carré et non alternativement .
Merci de votre aide !

import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey =)")
player1_x = 100
player1_y = 100
baddy1_x = 300
baddy1_y = 300
baddy2_x = 400
baddy2_y = 400

player1_move = 20
baddy1_move = 14
baddy2_move = 10

run = True
def drawGame():
          win.fill((0, 0, 0))
          pygame.draw.rect(win, (0, 0, 255), (player1_x, player1_y, 20, 20))
          pygame.draw.rect(win, (255, 0, 0), (baddy1_x, baddy1_y, 40, 40))
          pygame.draw.rect(win,(12, 155, 242),(baddy2_x, baddy2_y,40,40))
          
          pygame.display.update()

          
while run:
      pygame.time.delay(50 )
      
      if baddy1_x < player1_x - (player1_move + baddy1_move) and baddy2_x < player1_x - (player1_move + baddy2_move):
          baddy1_x +=  baddy1_move 
          baddy2_x +=  baddy2_move
          
      elif baddy1_x > player1_x + (player1_move + baddy1_move) and baddy2_x > player1_x + (player1_move + baddy2_move):
          baddy2_x -= baddy2_move 
          baddy1_x -= baddy1_move
            
      elif baddy1_y < player1_y - (player1_move + baddy1_move) and baddy2_y < player1_y - (player1_move + baddy2_move): 
          baddy1_y += baddy1_move 
          baddy2_y += baddy2_move 
          
      elif baddy1_y > player1_y + (player1_move + baddy1_move) and baddy2_y > player1_y + (player1_move + baddy2_move):
          baddy2_y -= baddy2_move 
          baddy1_y -= baddy1_move  
      else:
          run = False
          
 #--------------------------------------------------------------------------     
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

      keys = pygame.key.get_pressed()

      if keys[pygame.K_LEFT]:
            player1_x -= player1_move

      if keys[pygame.K_RIGHT]:
            player1_x += player1_move
      
      if keys[pygame.K_UP]:
            player1_y -= player1_move
      
      if keys[pygame.K_DOWN]:
            player1_y += player1_move
          
      
      drawGame()
          
pygame.quit()    

Hors ligne

#2 Le 22/11/2021, à 07:51

MPython Alaplancha

Re : Déplacement simultané (pygame)

Bonjour,
Tu peux mieux expliciter ta demande? car pour moi, le déplacement est bien simultanné. ??


# Là pour le plaisir de découvrir ...
# Envie d'apprendre Bash ou Python? Pensez aux MOOC ---> https://forum.ubuntu-fr.org/viewtopic.php?id=2030646

Hors ligne

#3 Le 22/11/2021, à 09:49

chris7522

Re : Déplacement simultané (pygame)

Oh la la ! Je sais pas ce que j'ai fabriqué moi ! Avant de poster ce message , les carrés se déplaçaient l'un après l'autre , je comprends pas ce que j'ai fait ... Ça doit être l'intervention du saint Esprit qui a modifié mon code , a moins que j'ai trop fumé la moquette .
J'ai perdu une occasion de me taire . big_smile

Dernière modification par chris7522 (Le 22/11/2021, à 09:50)

Hors ligne

#4 Le 22/11/2021, à 10:02

MPython Alaplancha

Re : Déplacement simultané (pygame)

lol
Les forces divines ayant déserté notre monde (à moins qu'elles fassent grève), j'imagine que c'est donc la moquette^^.
Peut-être, qu'en fumant la tapisserie...

Dernière modification par MPython Alaplancha (Le 22/11/2021, à 10:03)


# Là pour le plaisir de découvrir ...
# Envie d'apprendre Bash ou Python? Pensez aux MOOC ---> https://forum.ubuntu-fr.org/viewtopic.php?id=2030646

Hors ligne