示例#1
0
 def gere_estrelas(self):
     self.estrelas = []
     for i in range(60):
         x = naleatorios.faixa(1, self.largura)
         y = naleatorios.faixa(1, self.altura)
         z = naleatorios.faixa(2, 6)
         rect = pygame.Rect(x, y, z, z)
         self.estrelas.append(rect)
示例#2
0
 def __init__(self, nome, pos, imagem, tipo="INIMIGO"):
     ObjetoDoJogo.__init__(self, nome, pos, imagem, tipo)
     self.iy = 3 + naleatorios.faixa(0, 5)
     self.ix = 3 + naleatorios.faixa(0, 5)
     self.resistencia = 50
     self.dano = 10
     self.valor = 10
     som.carregue("ALIENIGENA_EXP", "%ssons/boom.wav" % (local))
示例#3
0
 def gere_estrelas(self) -> None:
     """Gera aleatoriamente as estrelas do fundo.
        As coordenadas x e y de cada estrela são escolhidas aleatoriamente e representão a posição da estrela.
        z é o tamanho da estrela.
     """
     self.estrelas = []  # type: pygame.Rect
     for i in range(60):
         x = naleatorios.faixa(1, self.largura)
         y = naleatorios.faixa(1, self.altura)
         z = naleatorios.faixa(2, 6)
         rect = pygame.Rect(x, y, z, z)
         self.estrelas.append(rect)
示例#4
0
    def __init__(self, nome, pos, imagem, tipo="INIMIGO"):
        super().__init__(nome, [pos[0], pos[1] - 200], imagem, tipo)
        self.iy = 3 + naleatorios.faixa(0, 5)
        self.ix = 3 + naleatorios.faixa(0, 5)
        self.posical_final = pos[1]
        self.resistencia = 50
        self.dano = 50
        self.valor = 10
        self.script_movimento = None
        self.pos_script = 0
        self.qmov = 0
        Alienigena.alienigenas_vivos += 1

        som.carregue("ALIENIGENA_EXP", "sons/boom.wav")
示例#5
0
 def cria_resistencia(self, carga=100):
     caixa_r = ObjetosBonus("CaixaDeResistencia",
                            [naleatorios.faixa(self.tamanho[0]), 10],
                            self.iCaixaDeResistencia)
     caixa_r.carga = carga
     self.universo.adicione(caixa_r)
示例#6
0
 def cria_municao(self, carga=100):
     caixa_m = ObjetosBonus("CaixaDeMisseis",
                            [naleatorios.faixa(self.tamanho[0]), 10],
                            self.iCaixaDeMisseis)
     caixa_m.carga = carga
     self.universo.adicione(caixa_m)
示例#7
0
    def repeticao_do_jogo(self):
        self.universo.desenhe_fundo()
        sair = False
        c = 0
        while self.jogador.resistencia > 0 and not sair:
            c += 1
            self.universo.inicie_sincronia()
            event = pygame.event.poll()
            if event.type == QUIT:
                sair = True
            if event.type == MOUSEBUTTONDOWN:
                #print "MOUSEBUTTONDOWN"
                #print event.pos #, event.buttons
                self.atira()
            if event.type == MOUSEBUTTONUP:
                pass
                #print "MOUSEBUTTONUP"
                #print event.pos, event.buttons
            if event.type == MOUSEMOTION:
                #print "MOUSEMOTION"
                #print event.pos, event.rel, event.buttons
                if event.rel[0] < -self.sensibilidade_mouse:
                    self.jogador.move(1)
                elif event.rel[0] > self.sensibilidade_mouse:
                    self.jogador.move(0)
                if event.rel[1] < -self.sensibilidade_mouse:
                    self.jogador.move(3)
                elif event.rel[1] > self.sensibilidade_mouse:
                    self.jogador.move(2)
                if event.buttons[0] == 1 and c % 3 == 0:
                    self.atira()
            if event.type == JOYAXISMOTION:
                print "JOYAXISMOTION"
                print event.joy
                print event.axis
                print event.value
                if event.axis == 0:
                    if event.value > 0.0:
                        self.jogador.ix = 5
                        #self.jogador.move(0)
                        #print "direita"
                    if event.value < -1.0:
                        self.jogador.ix = -5
                        #self.jogador.move(1)
                        #print "esquerda"
                if event.axis == 1:
                    if event.value > 0.0:
                        self.jogador.iy = 5
                        #self.jogador.move(2)
                        #print "baixo"
                    if event.value < -1.0:
                        self.jogador.iy = -5
                        #self.jogador.move(3)
                        #print "cima"
            if event.type == JOYBALLMOTION:
                print "JOYBALLMOTION"
                pass
            if event.type == JOYHATMOTION:
                print "JOYHATMOTION"
                pass
            if event.type == JOYBUTTONUP:
                #print "JOYBUTTONUP"
                pass
            if event.type == JOYBUTTONDOWN:
                #print "JOYBUTTONDOWN"
                self.atira()

            #if event.type ==  KEYDOWN:
            teclas = pygame.key.get_pressed()
            if teclas[K_LEFT]:
                self.jogador.move(1)
            if teclas[K_RIGHT]:
                self.jogador.move(0)
            if teclas[K_UP]:
                self.jogador.move(3)
            if teclas[K_DOWN]:
                self.jogador.move(2)
            if teclas[K_SPACE] and c % 3 == 0:
                self.atira()
            if teclas[K_x] or teclas[K_ESCAPE]:
                sair = True
            if teclas[K_m]:
                self.jogador.misseis += 1000
            if teclas[K_r]:
                self.jogador.resistencia += 1000
            if teclas[K_KP_PLUS] or teclas[K_PLUS] or teclas[K_EQUALS]:
                self.video.proximo_modo()
            if teclas[K_KP_MINUS] or teclas[K_MINUS]:
                self.video.anterior_modo()
            if teclas[K_KP_MULTIPLY] or teclas[K_ASTERISK] or teclas[K_8]:
                self.video.faz_tela_cheia()
            if c % 30 == 0:
                for x in range(naleatorios.faixa(1, 2 + c / 300)):
                    self.cria_alienigena()
            if c % 300 == 0:
                self.cria_municao()
            if c % 600 == 0:
                self.cria_resistencia()
            self.universo.desenhe_fundo()
            self.universo.desenhe_objetos()
            self.universo.atualize()
            self.universo.finalize_sincronia()
        self.universo.desenhe_fundo()
        self.placar.respire()
        self.universo.desenhe_objetos()
        self.universo.atualize()
        if sair:
            return (1)
        else:
            return (0)
示例#8
0
 def cria_alienigena(self):
     self.universo.adicione(
         Alienigena("Inimigo", [
             naleatorios.faixa(self.tamanho[0]),
             naleatorios.faixa(self.tamanho[1] / 2)
         ], self.iInimigo))