1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| #Importation des bibliothèques
import pygame
from pygame.locals import *
from classes import *
pygame.init()
# Création de la fenêtre
fenetre = pygame.display.set_mode((1600, 900), FULLSCREEN)
fond1 = pygame.image.load("Map001.png").convert()
fond2 = pygame.image.load("Map002.png").convert()
fond = [fond1, fond2]
#Rafraichissement de l'écran
pygame.display.flip()
pygame.key.set_repeat(1,10)
perso = Perso()
#Collisions
collision1 = pygame.Rect(427,584,27,27)
collision2 = pygame.Rect(586,531,27,53)
collisions = [collision1, collision2]
#Boucle infinie
continuer,k,n = 1,0,0
while continuer:
#Limitation de la boucle
pygame.time.Clock().tick(30)
#Boucle du jeu
for event in pygame.event.get():
#Attente des événements
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
pygame.quit()
continuer = 0
#déplacement vers le bas
if event.key == K_DOWN:
#On teste si il y a un obstacle avant de se déplacer
testPos = pygame.Rect(perso.position.x,perso.position.y+3,30,31)
if testPos.collidelist(collisions) != -1:
perso.position = perso.position.move(0,-1)
else:
perso.position = perso.position.move(0,1)
perso.imagePerso = perso.persoBas[n]
#Déplacement vers le haut
elif event.key == K_UP:
testPos = pygame.Rect(perso.position.x,perso.position.y-3,30,31)
if perso.position.collidelist(collisions) != -1:
perso.position = perso.position.move(0,1)
else:
perso.position = perso.position.move(0,-1)
perso.imagePerso = perso.persoHaut[n]
#Déplacement vers la droite
elif event.key == K_RIGHT:
testPos = pygame.Rect(perso.position.x+3,perso.position.y,30,31)
if perso.position.collidelist(collisions) != -1:
perso.position = perso.position.move(-1,0)
else:
perso.position = perso.position.move(1,0)
perso.imagePerso = perso.persoDroite[n]
#Déplacement vers la gauche
elif event.key == K_LEFT:
testPos = pygame.Rect(perso.position.x-3,perso.position.y,30,31)
if perso.position.collidelist(collisions) != -1:
perso.position = perso.position.move(1,0)
else:
perso.position = perso.position.move(-1,0)
perso.imagePerso = perso.persoGauche[n]
if n>=2:
n=1
else:
n=n+1
#Re-collage
fenetre.blit(fond[k], (0,0))
fenetre.blit(perso.imagePerso, perso.position)
#Rafraichissement
pygame.display.flip() |
Partager