def __init__(self): """Archivo de configuracion""" self.record = CfgUtils('records.cfg','record','valor') self.sprites = pygame.sprite.Group(); self.bombas = pygame.sprite.Group(); self.bananas = pygame.sprite.Group(); self.puntos = 0; self.nivel = 1; self.vida = 150; self.barravida = BarraVida(400, 20, (255,0,5), (255,255,255), 30, 150) self.velocidad = 2; self.blanco=(255,255,255) '''Creamos mono''' self.mono = Mono(); self.sprites.add(self.mono); '''Creamos cazador''' self.cazador = Cazador(); self.sprites.add(self.cazador); self.fuentegrande = pygame.font.Font(None,70); self.fuentechica=pygame.font.Font(None,40); self.contador_creacion_bombas = 0; self.contador_creacion_bananas = 0; self.fondo,_ = cargar_imagen('fondo.png', 1); '''Creamos el texto para evitar errores al imprimir''' self.puntos_img,self.puntos_rect=texto(self.blanco, "Puntos: "+str(self.puntos), self.fuentechica, 15, 10); self.nivel_img,self.nivel_rect=texto(self.blanco, "Nivel: " +str(self.nivel), self.fuentechica, 15, 10) self.record_img,self.record_rect=texto(self.blanco, "Record: "+str(self.record.leer()), self.fuentechica, 15, 40)
class Juego(): def __init__(self): """Archivo de configuracion""" self.record = CfgUtils('records.cfg','record','valor') self.sprites = pygame.sprite.Group(); self.bombas = pygame.sprite.Group(); self.bananas = pygame.sprite.Group(); self.puntos = 0; self.nivel = 1; self.vida = 150; self.barravida = BarraVida(400, 20, (255,0,5), (255,255,255), 30, 150) self.velocidad = 2; self.blanco=(255,255,255) '''Creamos mono''' self.mono = Mono(); self.sprites.add(self.mono); '''Creamos cazador''' self.cazador = Cazador(); self.sprites.add(self.cazador); self.fuentegrande = pygame.font.Font(None,70); self.fuentechica=pygame.font.Font(None,40); self.contador_creacion_bombas = 0; self.contador_creacion_bananas = 0; self.fondo,_ = cargar_imagen('fondo.png', 1); '''Creamos el texto para evitar errores al imprimir''' self.puntos_img,self.puntos_rect=texto(self.blanco, "Puntos: "+str(self.puntos), self.fuentechica, 15, 10); self.nivel_img,self.nivel_rect=texto(self.blanco, "Nivel: " +str(self.nivel), self.fuentechica, 15, 10) self.record_img,self.record_rect=texto(self.blanco, "Record: "+str(self.record.leer()), self.fuentechica, 15, 40) def update(self): global escena self.puntos_img,self.puntos_rect=texto(self.blanco, "Puntos: "+str(self.puntos), self.fuentechica, 15, 10); self.nivel_img,self.nivel_rect=texto(self.blanco, "Nivel: " +str(self.nivel), self.fuentechica, 400, 45) if self.vida <=0: escena = Gameover(self.puntos,self.nivel) self.puntosnivel = self.puntos/self.nivel if self.puntosnivel == 200: self.nivel +=1; self.velocidad +=0.5 for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: exit() '''Creacion de las bombas''' self.contador_creacion_bombas +=3*self.nivel*1.2; if self.contador_creacion_bombas >=250*self.nivel: self.nueva_bomba = Bomba(self.velocidad); self.sprites.add(self.nueva_bomba); self.bombas.add(self.nueva_bomba); self.contador_creacion_bombas=0; '''Creacion de las bananas''' self.contador_creacion_bananas +=4*self.nivel*2; if self.contador_creacion_bananas >=self.nivel*200: self.nueva_banana = Banana(self.velocidad); self.sprites.add(self.nueva_banana); self.bananas.add(self.nueva_banana); self.contador_creacion_bananas=0; for hit in pygame.sprite.spritecollide(self.mono,self.bombas,1): self.mono.grito_perder(); self.cazador.risa(); (x,y) = hit.rect.center; self.sprites.add(Boom(x,y)); self.vida -=15; for hit in pygame.sprite.spritecollide(self.mono,self.bananas,1): self.mono.risa(); self.puntos +=20 self.sprites.update() def imprimir(self,screen): screen.blit(self.fondo,(0,0)); screen.blit(self.puntos_img,self.puntos_rect) screen.blit(self.nivel_img,self.nivel_rect) screen.blit(self.record_img,self.record_rect) self.sprites.draw(screen) self.barravida.imprimir(screen, self.vida) pygame.display.flip();