예제 #1
0
    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)        
예제 #2
0
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();