Partage
  • Partager sur Facebook
  • Partager sur Twitter

Apparition aléatoires d'objets [Pygame]

    18 mai 2014 à 8:54:08

    Voila j'aimerais créer une fonction dans une fonction pour faire apparaitre aléatoirement des nuages car là j'ai créer une fonction avec 5 différents blocs de nuages mais j'aimerais faire en sorte de ne plus avoir ces gros blocs, mais je ne sais pas trop quoi faire pour y remédier.

    J'attends vos réponses :)

    x=100

    y=50

    def nuage(x,y):
        pygame.draw.circle(fenetre,(255,255,255),(x,y),30)
        pygame.draw.circle(fenetre,(255,255,255),(x-20,y),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+20,y),20)
        pygame.draw.circle(fenetre,(255,255,255),(x,y-15),20)
        pygame.draw.circle(fenetre,(255,255,255),(x,y+15),20)
    
        pygame.draw.circle(fenetre,(255,255,255),(x+100,y+100),30)
        pygame.draw.circle(fenetre,(255,255,255),(x+80,y+100),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+120,y+100),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+100,y+85),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+100,y+115),20)
    
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+100),30)
        pygame.draw.circle(fenetre,(255,255,255),(x+380,y+100),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+420,y+100),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+85),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+115),20)
    
        pygame.draw.circle(fenetre,(255,255,255),(x+50,y+350),30)
        pygame.draw.circle(fenetre,(255,255,255),(x+30,y+350),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+70,y+350),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+50,y+335),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+50,y+365),20)
    
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+350),30)
        pygame.draw.circle(fenetre,(255,255,255),(x+380,y+350),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+420,y+350),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+335),20)
        pygame.draw.circle(fenetre,(255,255,255),(x+400,y+365),20)
    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2014 à 18:34:33

      Bonjour,

      Tu import "random" , et pour faire bliter un image aléatoire tu fais :

      import random
      
      #...Ton code
      
      fenetre.blit(ton_image,(random.randint(0,LARGEUR),random.randint(0,HAUTEUR))



      • Partager sur Facebook
      • Partager sur Twitter
        19 mai 2014 à 8:01:37

        désolé je suis un peu perdu je dois faire comme sa ? j'ai mi à l'ai blitter à la ligne 27

        import random
        import pygame
        from pygame.locals import *
        
        def nuage(x,y):
            pygame.draw.circle(fenetre,(255,255,255),(x,y),30)
            pygame.draw.circle(fenetre,(255,255,255),(x-20,y),20)
            pygame.draw.circle(fenetre,(255,255,255),(x+20,y),20)
            pygame.draw.circle(fenetre,(255,255,255),(x,y-15),20)
            pygame.draw.circle(fenetre,(255,255,255),(x,y+15),20)
        
        
        try:
            pygame.init() #lancer pygame
            fenetre=pygame.display.set_mode((640,480)) #descripteur de la fenetre
            pygame.display.set_caption("Flappy Bird") #titre dans la barre sup
        
            x1 = 0
        
        
            fond = pygame.Surface((640,480))
            fond = fond.convert()  #cree des pixels dans la surface
            fond.fill((114, 177, 228)) #colorie les pixels
            fenetre.blit(fond,(x1,0)) #pose le fond dans la fenetre
            pygame.display.flip() #rafraichit l'écran
        
            fenetre.blit(nuage,(random.randint(0,80),random.randint(0,100)))
            x_rect=300
            y_rect=0
        
            #chargement des différentes images -> descripteur
            image_rect1=pygame.image.load("rect2.jpg").convert()
            image_rect2=pygame.image.load("rect3.jpg").convert()
        
            rectangle1=pygame.Rect(x_rect,y_rect,50,50)
            fenetre.blit(image_rect1,rectangle1) #pose image dans rectangle
        
            rectangle2=pygame.Rect(x_rect,350,50,50)
            fenetre.blit(image_rect2,rectangle2)
        
        
        
            continuer=1
            while continuer : #boucle principale
                rafraichissement = 60
                Clock = pygame.time.Clock()
        
                for event in pygame.event.get():
                    if event.type == KEYUP:
                        if event.key == K_ESCAPE:
                            pygame.quit()
                            sys.exit()
        
                        if event.type == QUIT:
                            pygame.quit()
                            sys.exit()
        
        
        
        
                pygame.display.update()
                Clock.tick(rafraichissement)
                x_rect= x_rect-1
                x1 = x1-1
                fenetre.blit(fond, (x1,0))
                nuage(100,50)
                fenetre.blit(image_rect1,rectangle1) #pose image dans rectangle
                fenetre.blit(image_rect2,rectangle2)
                pygame.display.flip() #rafraichit l'écran
        
        
                for event in pygame.event.get(): #si on veut quitter le jeu
                    if event.type == pygame.QUIT:
                        continuer=0 #pour sortir de la boucle
        
                    if x_rect < 10:
                        x_rect = 700
                        y_rect = randint(0,350)
        
        finally:
            pygame.quit()
        
        • Partager sur Facebook
        • Partager sur Twitter

        Apparition aléatoires d'objets [Pygame]

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown