domingo, 18 de octubre de 2015
Con paralaje primitivo
# -*- coding: latin-1 -*-
#La salida es presentada en:
#https://youtu.be/0IK8vHa3g0U
import pygame,time,random,sys
from pygame.locals import *
from math import *
SCREENRECT = Rect(0,0,840,680)
SCORE=0
BOMBS=3
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
BLUE = (0, 0, 128)
BLUER = (0, 255, 128)
BLACK = (0, 0, 0)
ENEMY_ODDS=222 #(Sic) Chances of a new enemy
ENEMY_RELOAD=12
LIVES=5
W=SCREENRECT.width
H=SCREENRECT.height
new_x=0
new_y=0
FACING=0
fgrid=open('mundo.txt','rw')
eve=[]
for line in fgrid:
line=filter(lambda x: x!='\n',line)
eve.append(line)
l=[]
j=0
s=0
for i in eve:
# [k for k in i if k=='1']
s=0
for m in i:
l.append((j,s,m))
s=s+1
j=j+1
fgrid.close()
fgrid=open('enemigo.txt','rw')
eve=[]
for line in fgrid:
line=filter(lambda x: x!='\n',line)
eve.append(line)
lenemigo=[]
j=0
s=0
for i in eve:
# [k for k in i if k=='1']
s=0
for m in i:
lenemigo.append((j,s,m))
s=s+1
j=j+1
fgrid.close()
#print eve
class Wall(pygame.sprite.Sprite):
images=[]
# Constructor function
def __init__(self,x,y,width,height):
wall22=pygame.image.load('./DataImgs/brick.png')
wall2=pygame.transform.scale(wall22,(40,40))
self.images=[wall2]
# Call the parent's constructor
pygame.sprite.Sprite.__init__(self,self.containers)
# Make a blue wall, of the size specified in the parameters
self.image=self.images[0]
self.rect=self.image.get_rect()
self.x=x
self.y=y
self.rect.bottomleft = (self.x,self.y)
class Enemy(pygame.sprite.Sprite):
speed = 2
animcycle = 12
images = []
images1= []
i=0
up=1
def __init__(self,init_x,init_y):
pygame.sprite.Sprite.__init__(self, self.containers)
beeImgTmp=pygame.image.load('./DataImgs/bee.png').convert_alpha()
beeImg1=pygame.transform.scale(beeImgTmp,(W/13,H/12))
beeImg2=pygame.transform.scale(beeImgTmp,(W/14,H/12))
beeImg3=pygame.transform.scale(beeImgTmp,(W/15,H/12))
self.images.append(beeImg1)
self.images.append(beeImg2)
self.images.append(beeImg3)
beeImgTmp1=pygame.transform.flip(beeImgTmp,1,0)
beeImg11=pygame.transform.scale(beeImgTmp1,(W/12,H/11))
beeImg21=pygame.transform.scale(beeImgTmp1,(W/13,H/11))
beeImg31=pygame.transform.scale(beeImgTmp1,(W/14,H/11))
self.images1.append(beeImg11)
self.images1.append(beeImg21)
self.images1.append(beeImg31)
self.image = self.images[0]
self.rect = self.image.get_rect()
# self.facing = random.choice((-1,1)) * Enemy.speed
self.facing = -self.speed
# self.up=0
# self.speed=self.speed+random.choice((-1,1))
self.frame = 0
if self.facing < 0:
self.rect.right = SCREENRECT.right+10
self.rect.topleft = (init_x, init_y)
def update(self):
# if self.up==1:
self.i=self.i+1
# self.rect.move_ip(self.facing, 0)
# self.rect.move_ip(lista[self.i%(len(lista))], lista2[self.i%len(lista2)])
(a,b)=(2*listaM)[self.i%len(2*listaM)]
self.rect.move_ip((a,b))
if b>=0:
self.facing=1
else:
self.facing=-self.facing
if self.facing<0:
self.frame = self.frame + 1
self.image = self.images[self.frame/self.animcycle%3]
else:
self.frame = self.frame + 1
self.image = self.images1[self.frame/self.animcycle%3]
# print gato.change_x
# print self.ene_x, self.ene_y #enemy_y
# self.rect.move_ip(600/self.enemy_x,600/self.enemy_y)
if not SCREENRECT.contains(self.rect):
self.facing = -self.facing;
# self.rect.top = self.rect.bottom + 1
self.rect = self.rect.clamp(SCREENRECT)
if self.rect.right>W-W/9: self.kill()
def vel(n,ls):
return map(lambda(x):vec(n,x),ls) + map(lambda(x):vec(n,x),ls)
def vec(n,(x,y)):
return (n*x,n*y)
listaM=vel(random.randint(1,5),
[(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),
(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),
(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),(0,-2),
(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),
(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),(1,0),
(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1)])
#lista=[1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1]+\
# [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
l#ista2=lista+lista+lista+map(lambda(n):(-3)*n,lista)
#from scores import *
class Landscape(pygame.sprite.Sprite):
frame = 1
inc=1
dummyx=new_x
dummyy=new_y
towards=1
images=[]
change_x, change_y=0, 0
def __init__(self,height,width,x,y):
pygame.sprite.Sprite.__init__(self,self.containers)
landImgTmp=pygame.image.load('./DataImgs/nocheFondo.png').\
convert_alpha()
landImg=pygame.transform.scale(landImgTmp,(height,width))
self.image = landImg
self.images.append(self.image)
self.rect = self.image.get_rect()
self.x=x
self.y=y
self.rect.topleft = (x, y)
def update(self):
self.towards=FACING
self.oldLand_x=self.rect.topleft[0]
self.oldLand_y=self.rect.topleft[1]
if self.towards>0:
# for i in range(new_x/50):
self.newLand_x=self.rect.left
if self.newLand_x>0:
self.rect.topleft=(self.oldLand_x,self.oldLand_y)
else:
self.rect.move_ip(1, 0)
if self.towards<0:
self.newLand_x=self.rect.right
if self.newLand_x<SCREENRECT.size[0]:
self.rect.topleft=(self.oldLand_x,self.oldLand_y)
else:
self.rect.move_ip(-1, 0)
self.newLand_y=self.rect.top
class Landscape1(pygame.sprite.Sprite):
frame = 1
inc=1
dummyx=new_x
dummyy=new_y
towards=1
images=[]
def __init__(self,height,width,x,y):
pygame.sprite.Sprite.__init__(self,self.containers)
landImgTmp=pygame.image.load('./DataImgs/edificiosFondoIntermedio.png').convert_alpha()
landImg=pygame.transform.scale(landImgTmp,(height,width))
self.image = landImg
self.images.append(self.image)
self.rect = self.image.get_rect()
self.x=x
self.y=y
self.rect.topleft = (x, y)
def update(self):
self.towards=FACING
self.oldLand_x=self.rect.topleft[0]
self.oldLand_y=self.rect.topleft[1]
if self.towards>0:
self.newLand_x=self.rect.left
if self.newLand_x>0:
self.rect.topleft=(self.oldLand_x,self.oldLand_y)
else:
self.rect.move_ip(2, 0)
if self.towards<0:
self.newLand_x=self.rect.right
if self.newLand_x<SCREENRECT.size[0]:
self.rect.topleft=(self.oldLand_x,self.oldLand_y)
else:
self.rect.move_ip(-2, 0)
self.newLand_y=self.rect.top
class SaySomething(pygame.sprite.Sprite):
def __init__(self,string):
pygame.sprite.Sprite.__init__(self,self.containers)
self.fontObj = pygame.font.Font('freesansbold.ttf', H/8)
self.string=string
self.textSurfaceObj = self.fontObj.render(self.string, True, \
Color('yellow'), (0,0,0))
self.image=self.textSurfaceObj
self.rect=self.image.get_rect()
self.x=W/2
self.y=H/2
self.rect.center = (self.x,self.y)
class ScoreLives(pygame.sprite.Sprite):
number=0
def __init__(self,number,posx,posy):
pygame.sprite.Sprite.__init__(self)
self.font = pygame.font.Font(None,H/15)
self.font.set_italic(1)
self.color = Color('white')
self.lastscore=-1
self.update()
self.number = number
self.rect=self.image.get_rect().move(posx,posy)
def update(self):
if LIVES != self.lastscore:
self.lastscore = LIVES
msg = "Vidas: %d " % LIVES
# msg = "Número %d: %d " % (self.number,SCORE)
self.image = self.font.render(msg,0,self.color)
class Place(pygame.sprite.Sprite):
def __init__(self,height,width,x,y):
pygame.sprite.Sprite.__init__(self,self.containers)
exitImgTmp=pygame.image.load('./DataImgs/exit.png')
exitImg=pygame.transform.scale(exitImgTmp,(height,width))
self.image = exitImg
self.rect = self.image.get_rect()
self.rect.topleft = (x, y)
class Score(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.font = pygame.font.Font(None,H/15)
self.font.set_italic(1)
self.color = Color('black')
self.lastscore=-1
self.update()
self.rect=self.image.get_rect().move(30,650)
def update(self):
if SCORE != self.lastscore:
self.lastscore = SCORE
msg = "Pelotas rasguñadas: %d" % SCORE
self.image = self.font.render(msg,0,self.color)
class Wall2(pygame.sprite.Sprite):
images=[]
def __init__(self,x,y,width,height):
wall22=pygame.image.load('./DataImgs/brick.png')
wall2=pygame.transform.scale(wall22,(40,40))
pygame.sprite.Sprite.__init__(self,self.containers)
self.images=[wall2]
self.image=self.images[0]
self.rect=self.image.get_rect()
self.x=x
self.y=y
self.rect.center = (self.x,self.y)
# def update(self):
# self.rect.center = (self.x,self.y)
self.image = pygame.Surface([width, height])
self.image.fill((BLUER))
# # Make our top-left corner the passed-in location.
self.rect = self.image.get_rect()
self.rect.topleft = (x, y)
class Gato(pygame.sprite.Sprite):
speed = 5
bounce = 24
images = []
frame, i= 0, 0
animcycle=12
# posx, posy=110, 200
change_x, change_y=200, 200
loop=3
#Ejemplo de vector patrón de movimiento
boun=[H/150,-H/150,0,0,0]+[H/150,-H/150,0,0,0]+[H/150,-H/150,0,0,0]
boun2=map((lambda(x): x*(-3)), [-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5])+\
map((lambda(x): x*3),[-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5])
def __init__(self):
pygame.sprite.Sprite.__init__(self,self.containers)
self.image=self.images[0]
self.rect = self.image.get_rect()
self.facing=-1
self.rect.top=300
self.rect.left=300
# self.origtopx=200 #self.rect.top
# self.origtopy=200 #self.rect.left
def move(self,horver,direction):
self.rect = self.rect.clamp(SCREENRECT)
if horver==1:
if direction==-1:
self.i=self.i+1
self.image=self.images[0]
self.facing=-1#self.facing
#Ejemplo de dilación y saltos...
self.rect.top=self.rect.top-self.boun[self.i%15]
self.rect.move_ip(direction*self.speed,0)
if direction==1:
self.i=self.i+1
self.image=self.images[1]
self.rect.top=self.rect.top-self.boun[self.i%15]
self.facing=1#-self.facing
# self.image=self.images[0]
self.rect.move_ip(direction*self.speed,0)
if horver==-1:
if direction==-1:
self.image=self.images[2]
self.rect.move_ip(0,direction*self.speed)
if direction==1:
self.image=self.images[3]
self.rect.move_ip(0,direction*self.speed)
if horver==2: #To say...
self.i=self.i+1
self.image=self.images[0]
self.rect.top=self.rect.top-self.boun2[self.i%30]
self.rect.move_ip(direction*self.speed,direction*self.speed)
# if horver==3: #To say...
# self.rect.move_ip(-direction*self.speed,direction*self.speed)
# self.rect.move_ip(1,1)
self.change_x=self.rect.left
self.change_y=self.rect.top
# print self.change_x,"----",self.change_y
# def update(self):
# if random.randint(1,20)==1:
# self.rect.move_ip(0,self.speed)
# self.move(-1,1)
# self.loop=self.loop-1
# self.rect.move(300,300)
# self.rect.center = (self.x,self.y)
# self.life=self.life-1
# self.image = self.images[self.loop%2]
class Ball(pygame.sprite.Sprite):
images=[]
images=[]
frame=0
animcycle=3
defaultlife=20
# x,y=random.randint(1,200),random.randint(1,200)
def __init__(self,x,y):
ball0=pygame.image.load('./DataImgs/ball.png')
ball=pygame.transform.scale(ball0,(70,70))
ball01=pygame.transform.rotate(ball,2)
ball02=pygame.transform.rotate(ball01,2)
ball03=pygame.transform.rotate(ball02,2)
ball04=pygame.transform.rotate(ball03,2)
self.images=[ball,ball01,ball02,ball03,ball04]
pygame.sprite.Sprite.__init__(self,self.containers)
self.image=self.images[0]
self.rect=self.image.get_rect()
self.x=x
self.y=y
self.life=self.defaultlife
def update(self):
# self.rect.move(300,300)
self.rect.center = (self.x,self.y)
self.life=self.life-1
self.image = self.images[0] #self.life%5]
# if self.life<=0: self.kill()
class PezEnemigo(pygame.sprite.Sprite):
images=[]
frame=0
animcycle=3
defaultlife=20
facing=-1
# x,y=random.randint(1,200),random.randint(1,200)
def __init__(self,x,y):
pygame.sprite.Sprite.__init__(self,self.containers)
self.image=self.images[0]
self.rect=self.image.get_rect()
self.x=x
self.y=y
self.life=self.defaultlife
def move(self,horver,direction):
if horver==1:
if direction==-1:
self.image=self.images[0]
self.rect.move_ip(direction*self.speed,0)
self.facing=-1
if direction==1:
self.image=self.images[1]
# self.image=self.images[0]
self.rect.move_ip(direction*self.speed,0)
self.facing=1
if horver==-1:
if direction==-1:
self.image=self.images[2]
self.rect.move_ip(0,direction*self.speed)
if direction==1:
self.image=self.images[3]
self.rect.move_ip(0,direction*self.speed)
# def update(self):
self.change_x=self.rect.left
self.change_y=self.rect.top
def update(self):
# self.rect.move(300,300)
if movPE!=[]:
self.x,self.y=movPE.pop()
self.rect.center = (self.x,self.y)
#self.move(self.x,self.y)
else:
self.x=self.x+1
if 0==self.x%350:
self.x=0
self.rect.center = (self.x,self.y)
#self.move(self.x,self.y)
# self.rect.center = (self.x,self.y)
self.life=self.life-1
self.image = self.images[self.life%5]
# if self.life<=0: self.kill()
movPE=[]
for i in range(1,60):
for j in range(1,60):
movPE.append((300*sin(i*0.01)+200,300*cos(j*0.01)+200))
#print movPE
class Explosion(pygame.sprite.Sprite):
images=[]
frame=0
animcycle=3
defaultlife=20
def __init__(self,actor):
imgExplosion1=pygame.image.load('./DataImgs/frogMio.png')
imgExplosion=pygame.transform.scale(imgExplosion1,(80,80))
imE2=pygame.transform.rotate(imgExplosion,15)
imE3=pygame.transform.rotate(imgExplosion,35)
imE4=pygame.transform.rotate(imgExplosion,45)
imE5=pygame.transform.rotate(imgExplosion,95)
imE6=pygame.transform.rotate(imgExplosion,135)
Explosion.images=[imgExplosion,imE2,imE3,imE4,imE5]
pygame.sprite.Sprite.__init__(self,self.containers)
self.image=self.images[0]
self.rect=self.image.get_rect()
self.rect.center=actor.rect.center
self.life=self.defaultlife
def update(self):
# self.frame = self.frame+1
self.life=self.life-1
self.image = self.images[self.life/self.animcycle%5]
if self.life<=0: self.kill()
def main():
global SCORE
global new_x
global new_y
global LIVES
global FACING
enemyreload = ENEMY_RELOAD
pygame.init()
clock=pygame.time.Clock()
windowStyle=0 #FULLSCREEN
boom = pygame.mixer.Sound('./DataSounds/cork_pop.wav')
meow = pygame.mixer.Sound('./DataSounds/meow.wav')
haha = pygame.mixer.Sound('./DataSounds/haha.wav')
bus = pygame.mixer.music.load('./DataSounds/grieg.wav')
laserSound = pygame.mixer.Sound('./DataSounds/wahoo.wav')
pygame.mixer.music.play(-1,0.0)
bestDepth=pygame.display.mode_ok(SCREENRECT.size,windowStyle,32)
disp=pygame.display.set_mode(SCREENRECT.size,windowStyle,bestDepth)
pygame.display.set_caption("!!!! *** Un GATO de verdad!!!!!... *** ")
pygame.mouse.set_visible(0)
background= pygame.Surface(SCREENRECT.size)
img11=pygame.image.load('./DataImgs/cat.png')
img=pygame.transform.scale(img11,(90,50))
pezEImg0=pygame.image.load('./DataImgs/pezEnemigo.png')
pezEImg=pygame.transform.scale(pezEImg0,(30,40))
pezEImg2=pygame.transform.scale(pezEImg,(30,50))
pezEImg3=pygame.transform.scale(pezEImg2,(40,50))
bgdtile1=pygame.image.load('./DataImgs/land.png')
bgdtile=pygame.transform.scale(bgdtile1,(870,290))
every = pygame.sprite.OrderedUpdates()
# every = pygame.sprite.RenderUpdates()
Gato.containers = every
bombs=pygame.sprite.Group()
walls2=pygame.sprite.Group()
walls=pygame.sprite.Group()
enemies=pygame.sprite.Group()
places=pygame.sprite.Group()
landscapes=pygame.sprite.Group()
landscapes1=pygame.sprite.Group()
pezEnemigos=pygame.sprite.Group()
explosions=pygame.sprite.Group()
sayings=pygame.sprite.Group()
Ball.containers = bombs, every
SaySomething.containers=sayings, every
Landscape.containers=landscapes,every
Landscape1.containers=landscapes1,every
# PezEnemigo.containers = pezEnemigos, every
ScoreLives.containers=every
Place.containers=places, every
Wall2.containers = walls2, every
Wall.containers=walls, every
Enemy.containers=enemies,every
Explosion.containers=explosions,every
Score.containers=every
if pygame.font:
H1=H-H/7
every.add(Score())
# every.add(ScoreLives(2,10,H1+H/22))
every.add(ScoreLives(2,40,625))
img2 = pygame.transform.flip(img,1,0)
#...1,0) equiv ...TrueX, FalseY)
img3 = pygame.transform.rotate(img,-90)
img4 = pygame.transform.rotate(img,90)
Gato.images=[img,img2,img3,img4]
PezEnemigo.images=[pezEImg,pezEImg2,pezEImg3,
pezEImg,pezEImg]
Wall2(0,0,900,500)
landMain=Landscape(W*2,3*H/5,-W/2,1)
landscape_list=[]
landscape_list.append(landMain)
landscape1_list=[]
landscape1_list.append(Landscape1(W*2,4*H/7,-W/3,H/2-H/4))
background.blit(bgdtile,(0,400))
disp.blit(background,(0,0))
pygame.display.flip()
gato = Gato()
# pezEne1=PezEnemigo(200,300)
bomb = Ball(100,200)
bomb1 = Ball(40,300)
bomb2 = Ball(200,500)
wall_list=[]
wall2_list=[]
emptyList=[]
for t in l:
if t[2]=='1':
wall_list.append(Wall(t[1]*40,t[0]*40,40,40))
# elif t[2]=='2':
# wall2_list.append(Wall2(t[1]*40,t[0]*40,40,40,'o'))
else:
emptyList.append(t)
# print emptyList
# # wall_list.append(Wall(30,200,210,300))
# wall_list.append(Wall(20,100,150,220))
# wall_list.append(Wall(100,30,100,350))
# wall_list.append(Wall(100,10,400,350))
# wall_list.append(Wall(10,100,40,400))
# wall_list.append(Wall(15,200,500,210))
# wall_list.append(Wall(120,10,250,320))
# wall_list.append(Wall(14,180,150,300))
# wall_list.append(Wall(160,19,350,200))
walls3=pygame.sprite.RenderPlain(wall_list)
# gato.inf()
# disp.blit(img,(100,00))
places_list=[]
# for i in range(10):
# x,y=random.randint(550,600),random.randint(450,500)
places_list.append(Place(W/8,H/12,W-W/4,H-H/6))
# enemy1 = Enemy(100,100,100,10)
while True:
old_x=gato.rect.topleft[0]
old_y=gato.rect.topleft[1]
print gato.change_x,' ',gato.change_y
# print enemy.change_x,' ',enemy.change_y
for event in pygame.event.get():
if event.type==QUIT or \
(event.type==KEYDOWN and event.key==K_ESCAPE):
return
keystate=pygame.key.get_pressed()
# pygame.quit()
every.clear(disp,background)
every.update()
if keystate[K_RIGHT]:
gato.move(1,1)
if keystate[K_LEFT]:
gato.move(1,-1)
if keystate[K_UP]:
# for i in range(1,10):
gato.move(-1,-1)
# for i in range(1,9):
# gato.move(-1,1)
if keystate[K_DOWN]:
gato.move(-1,1)
if keystate[K_SPACE]:
gato.speed=1
for i in range(1,10):
gato.move(2,-1)
# for i in range(1,30):
# gato.move(3,-1)
# for i in range(1,100):
# gato.move(-1,1)
gato.speed=5
if keystate[K_a]:
# gato.move(1,-1)
a=gato.rect.top
b=gato.rect.left
gato.rect.top=a+100
gato.rect.left=b+100
if enemyreload:
enemyreload=enemyreload-1
elif not int(random.random()*ENEMY_ODDS):
z=random.randint(1,2)
if z==1:
Enemy(W/20,10+H/20)
else:
Enemy(W-W/20,10+H/30)
enemyreload=ENEMY_RELOAD #???????
#E
# if keystate[K_s]:
# player.move(-2,-1)
for enemy in enemies:
collide3 = pygame.sprite.spritecollide(enemy, wall_list, False)
if collide3:
enemy.facing=-enemy.facing
for wall2 in pygame.sprite.spritecollide(gato,walls2,False):
# gato.speed=gato.speed+1
# Wall(30,150,5000,5000)
gato.move(0,0)
# Update position according to our speed (vector)
new_x=gato.change_x
new_y=gato.change_y
FACING=gato.facing
fps_limit=60
# Put the player in the new spot
gato.rect.topleft = (new_x,new_y)
# Did this update cause us to hit a wall?
collide = pygame.sprite.spritecollide(gato, walls3, False)
if collide:
# Whoops, hit a wall. Go back to the old position
gato.rect.topleft=(old_x,old_y)
for enemy in pygame.sprite.spritecollide(gato,enemies,True):
laserSound.play()
LIVES = LIVES-1
if LIVES==0:
gato.kill()
# landscapes.draw(disp)#Landscape(100,100,0,0)
if pygame.font:
every.add(SaySomething("¡Upssss!"))#or option to continue
every.clear(disp,background)
every.update()
dirty=every.draw(disp)
pygame.display.update(dirty)
haha.play()
time.sleep(3)
pygame.display.quit()
pygame.quit()
sys.exit()
for place in pygame.sprite.spritecollide(gato,places,True):
haha.play()
if pygame.font:
# every.add(SaySomething("¡Hasta luego...!"))#or option to continue
every.add(SaySomething("¿Continuar (s/n)?"))#or option to continue
every.clear(disp,background)
every.update()
dirty=every.draw(disp)
pygame.display.update(dirty)
if keystate[K_SPACE]:
main()
else:
every.add(SaySomething("¡Hasta luego...!"))#or option to continue
time.sleep(3)
pygame.display.quit()
pygame.quit()
sys.exit()
#True, remover sprite
for bomb in pygame.sprite.spritecollide(gato,bombs,True):
Explosion(gato)
SCORE=SCORE+1
x,y=random.randint(1,800),random.randint(1,600)
exists=random.randint(0,1)
if exists==0:
Ball(x,y)
boom.play()
every.clear(disp,background)
every.update()
dirty=every.draw(disp)
pygame.display.update(dirty)
clock.tick(fps_limit)
# dirty=all.draw(disp)
# pygame.display.update(dirty)
# clock.tick(40)
if __name__=='__main__': main()
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario