programation python pygame

programation python pygame - Python - Programmation

Marsh Posté le 16-05-2013 à 17:02:58    

Bonjour, j'ai programmé un mini jeu sous python avec pygame, l'interface graphique est faite, j'arrive à faire bouger le personnage, mais maintenant j'aimerai intégrer une jauge de vie qui diminue en fonction du temps, j'ai parcouru des tutos mais l j'avou être un peu bloqué voir complétement. Merci de votre aide

Reply

Marsh Posté le 16-05-2013 à 17:02:58   

Reply

Marsh Posté le 16-05-2013 à 17:03:52    

Mon programme:
 
import pygame
from pygame.locals import *
 
pygame.init()
 
 
 
#Ouverture de la fenêtre Pygame
fenetre = pygame.display.set_mode((1366,768))
icone = pygame.image.load("Icone.gif" )
pygame.display.set_icon(icone)
pygame.display.set_caption("Weez!" )
 
#Chargement et collage du fond
fond = pygame.image.load("fondecran.jpg" ).convert()
fenetre.blit(fond,(0,0))
 
#Chargement et collage du tonneau
tonneau = pygame.image.load("tonneau.gif" ).convert_alpha()
tonneau_rect = pygame.Rect(60,400,100,20)
fenetre.blit(tonneau, tonneau_rect)
etat_tonneau = 0
 
#Chargement et collage de la gamelle
gamelle = pygame.image.load("gamelle.gif" ).convert_alpha()
gamelle_rect = pygame.Rect(65,620,10,30)
fenetre.blit(gamelle, gamelle_rect)
 
#Chargement et collage du lit
lit = pygame.image.load("lit.gif" ).convert_alpha()
lit_rect = pygame.Rect(1100,450,100,150)
fenetre.blit(lit, lit_rect)
 
#Chargement et collage du personnage
perso = pygame.image.load("perso_bas.gif" ).convert_alpha()
perso_rect = pygame.Rect(235,565,73,150)
fenetre.blit(perso, perso_rect)
 
 
 
ma_police = pygame.font.SysFont ("Arial",16)
mon_texte = ma_police.render("Premier Test",True, (0,0,0),(255,255,255))
 
 
#Rafraîchissement de l'écran
pygame.display.flip()
 
pygame.key.set_repeat(200, 15)
 
 
collision_1 = perso_rect.colliderect(tonneau_rect)== True
 
#BOUCLE INFINIE
continuer = 1
dialogue = 0
while continuer:
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0
#Deplacements du perso
if event.type == KEYDOWN:
if event.key == K_DOWN:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_bas.gif" ).convert_alpha()
perso_rect.y+=4
if event.key == K_UP :
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_haut.gif" ).convert_alpha()
perso_rect.y-=4
if event.key == K_LEFT:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_gauche.gif" ).convert_alpha()
perso_rect.x-=4
if event.key == K_RIGHT:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_droite.gif" ).convert_alpha()
perso_rect.x+=4
 
#Õn fixe les limites au personnage dans sa zone de deplacement
if perso_rect.y<350:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_haut.gif" ).convert_alpha()
perso_rect.y+=4
 
if perso_rect.x<0:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_gauche.gif" ).convert_alpha()
perso_rect.x+=4
 
if perso_rect.x>1339:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_droite.gif" ).convert_alpha()
perso_rect.x-=4
 
if perso_rect.y>600:
fenetre.blit(fond, (0,0))
perso = pygame.image.load("perso_bas.gif" ).convert_alpha()
perso_rect.y-=4
 
#Gestion des collisions
 
if perso_rect.colliderect(tonneau_rect)== True and etat_tonneau == 0 :
perso = pygame.image.load("perso_boit.gif" ).convert_alpha()
tonneau = pygame.image.load("tonneau_vide.gif" ).convert_alpha()
etat_tonneau = 1
 
if perso_rect.colliderect(gamelle_rect)== True :
perso = pygame.image.load("perso_mange.gif" ).convert_alpha()
 
if perso_rect.colliderect(lit_rect)== True :
perso = pygame.image.load("perso_dort.gif" ).convert_alpha()
 
 
 
 
 
 
 
 
 
 
 
 
 
#Re-collage
fenetre.blit(fond, (0,0))
fenetre.blit (tonneau, tonneau_rect)
fenetre.blit (gamelle, gamelle_rect)
fenetre.blit (lit, lit_rect)
fenetre.blit(perso, perso_rect)
#if dialogue == 1 :
# fenetre.blit(mon_texte, (200,200))
 
#Rafraichissement
pygame.display.flip()

Reply

Marsh Posté le 17-05-2013 à 12:36:18    

utilise les balises de code pour formater ton code proprement. Déjà en général, c'est pas lisible, le code sans, mais alors python sans indentation, c'est la mort :o


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed