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 83 84 85 86 87 88 89 90 91
| import pygame
from pygame.locals import *
from random import randint
SPEED = 3
class Perso(object) :
"Personnage"
def __init__(self, screen) :
self.screen = screen
self.image = pygame.image.load("pikachu.png").convert_alpha()
self.pos = self.image.get_rect() #l'image sera mise dans un rectangle pour faciliter son mouvement
self.screen.blit(self.image, (0,0))
def deplacement(self, direction) :
"permet de bouger le perso"
if direction == "droite" :
self.pos = self.pos.move(SPEED,0)
elif direction == "gauche" :
self.pos = self.pos.move(-SPEED,0)
elif direction == "haut" :
self.pos = self.pos.move(0,-SPEED)
elif direction == "bas" :
self.pos = self.pos.move(0,SPEED)
class Pomme(object) :
def __init__(self, screen) :
self.screen = screen
self.image = pygame.image.load("cerise.png").convert_alpha()
self.pos = self.image
self.screen.blit(self.image, (1,0))
pygame.init()
pygame.key.set_repeat(1,1)
pygame.mixer.music.load("heros.wav")
clock = pygame.time.Clock()
size = width, height = 640,480
screen = pygame.display.set_mode(size)
bg = pygame.image.load("background2.jpg").convert()
dk = Perso(screen)
pm = Pomme(screen)
food = 0
RUNNING = True
continuer = 1 #on initialise la variable continuer
while continuer :
for event in pygame.event.get() :
if event.type == QUIT :
continuer = False
if event.type == KEYDOWN :
if event.key == K_h :
# on teste la position suivante pour
# voir si il y a collision :
next_pos = dk.pos.move(0,SPEED)
if dk.pos.top >10 : # pas de while
dk.deplacement("haut")
if event.key == K_b :
next_pos = dk.pos.move(0,SPEED)
if dk.pos.bottom<height:
dk.deplacement("bas")
if event.key == K_d :
next_pos = dk.pos.move(SPEED,0)
if dk.pos.right<width :
dk.deplacement("droite")
if event.key == K_g :
next_pos = dk.pos.move(SPEED,0)
if dk.pos.left>0:
dk.deplacement("gauche")
if food == 0: # si food = 0 ( qu'il n'y a pas de pomme )
food += 1 # on ajoute 1 ( car on va faire apparaitre une pomme )
x = randint(1,540) # coordonées aléatoires x et y ( -100 psk taille image = 100 px )
y = randint(1,380)
pm.pos = (x,y) # la pomme prend les coordonnées de ces valeurs aléatoires
if dk.pos.center == pm.pos:
print("caca")
# Raffraichit l'affichage :
screen.blit(bg, (0,0))
screen.blit(dk.image, dk.pos)
screen.blit(pm.image, pm.pos)
pygame.display.update()
pygame.quit() |
Partager