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
| from pygame import *
screen = display.set_mode((300,300))
font.init()
font30 = font.Font(font.get_default_font(),30)
key.set_repeat(20,20)
class mon_sprite:
''
def __init__(self,txt,pos,color):
self.surf = font30.render(txt,1,color)
self.mask = mask.from_surface(self.surf,0)
self.pos = pos
def move(self,x,y):
self.pos = self.pos[0]+x,self.pos[1]+y
def collide(self,other_sprite):
def offset():
return other_sprite.pos[0]-self.pos[0],other_sprite.pos[1]-self.pos[1]
if self.mask.overlap(other_sprite.mask, offset()): return True
olive = mon_sprite('olive',(100,250),(130,175,130))
pomme = mon_sprite('pomme',(100,50),(240,150,20))
#_____________________________________________________________________________________
#_____________________________________________________________________________________
def redraw():
screen.fill(0)
screen.blit(olive.surf,olive.pos)
screen.blit(pomme.surf,pomme.pos)
display.flip()
redraw()
while True:
ev = event.wait()
if ev.type == KEYDOWN:
if ev.key == K_LEFT:
pomme.move(-2,0)
elif ev.key == K_RIGHT:
pomme.move(2,0)
elif ev.key == K_DOWN:
pomme.move(0,2)
elif ev.key == K_UP:
pomme.move(0,-2)
if pomme.collide(olive):
screen.blit(font30.render('BOOM',1,(255,255,255)),(100,150))
display.flip()
while event.wait().type != QUIT: pass
break
else: redraw() |
Partager