Ejemplo n.º 1
0
 def __init__(self, window):
     self.window = window
     self.play = Animation("./assets/menu/play.png", 2)
     self.difficulty = Animation("./assets/menu/difc.png", 2)
     self.rank = Animation("./assets/menu/rank.png", 2)
     self.quit = Animation("./assets/menu/quit.png", 2)
     self.difficulty_indicator = Animation(
         "./assets/menu/difc_indicator.png", 3)
     self.difficulty_index = 0
     self.mouse = Mouse()
     self.__set_pos()
     self.__draw()
Ejemplo n.º 2
0
 def __setup(self):
     for i in range(self.tuple_x_y[1]):
         for j in range(self.tuple_x_y[0]):
             alien = Animation("./assets/actors/alien_1.png", 2)
             alien.set_total_duration(800)
             alien.play()
             alien.set_position(
                 globals.SCREEN_BORDER + 1 + (alien.width + 10) * j,
                 globals.SCREEN_BORDER + 1 + (alien.height + 10) * i,
             )
             self.aliens.append(alien)
Ejemplo n.º 3
0
class Tela(object):
    def __init__(self, window):
        self.window = window
        #self.setFundo()
        self.setSolo()
        self.fundo = []

    def setTela(self):
        self.window.set_title("Ninja's Life")

    def setTelaRank(self):
        self.fundo = GameImage("img/fundo_rank.png")
        self.fundo.draw()
        self.window.set_title("Ninja's Life")

    def setTelaDificuldade(self):
        self.fundo = GameImage("img/fundo_1.png")
        self.fundo.draw()
        self.window.set_title("Ninja's Life")

    def setFundo(self):
        self.fundo_atual = Animation("img/Fundo_1.png", 1, loop=False)
        self.fundo.append(self.fundo_atual)

    def getFundo(self):
        self.fundo[globais.FUNDO_ATUAL].draw()
        self.solo_0.draw()

    def setSolo(self):
        self.solo_0 = Animation("img/chao_1.png", 4, loop=False)
        self.solo_0.set_position(-10, globais.HEIGHT - self.solo_0.height)
        globais.HEIGHT_S = self.solo_0.height

    def getSolo(self):
        return self.solo_0

    def novaTela(self):
        if (globais.POS_X + globais.WIDTH_P > globais.WIDTH):
            self.setFundo()
            globais.FUNDO_ATUAL += 1
            globais.POS_X = 0
Ejemplo n.º 4
0
 def setSolo(self):
     self.solo_0 = Animation("img/chao_1.png", 4, loop=False)
     self.solo_0.set_position(-10, globais.HEIGHT - self.solo_0.height)
     globais.HEIGHT_S = self.solo_0.height
Ejemplo n.º 5
0
 def setFundo(self):
     self.fundo_atual = Animation("img/Fundo_1.png", 1, loop=False)
     self.fundo.append(self.fundo_atual)
Ejemplo n.º 6
0
class Menu(object):
    def __init__(self, window):
        self.window = window
        self.play = Animation("./assets/menu/play.png", 2)
        self.difficulty = Animation("./assets/menu/difc.png", 2)
        self.rank = Animation("./assets/menu/rank.png", 2)
        self.quit = Animation("./assets/menu/quit.png", 2)
        self.difficulty_indicator = Animation(
            "./assets/menu/difc_indicator.png", 3)
        self.difficulty_index = 0
        self.mouse = Mouse()
        self.__set_pos()
        self.__draw()

    def run(self):
        if self.mouse.is_over_object(self.play):
            self.play.set_curr_frame(1)
            if self.mouse.is_button_pressed(1):
                globals.GAME_STATE = 1

        elif self.mouse.is_over_object(self.difficulty):
            self.difficulty.set_curr_frame(1)
            if self.mouse.is_button_pressed(1):
                self.difficulty_index = (self.difficulty_index + 1) % 3

                if self.difficulty_index == 0:
                    globals.DIFFICULTY["easy"][0] = True
                    globals.DIFFICULTY["medium"][0] = False
                    globals.DIFFICULTY["hard"][0] = False
                elif self.difficulty_index == 1:
                    globals.DIFFICULTY["easy"][0] = False
                    globals.DIFFICULTY["medium"][0] = True
                    globals.DIFFICULTY["hard"][0] = False
                elif self.difficulty_index == 2:
                    globals.DIFFICULTY["easy"][0] = False
                    globals.DIFFICULTY["medium"][0] = False
                    globals.DIFFICULTY["hard"][0] = True

                globals.PLAY_INIT = True
                self.window.delay(150)
                self.difficulty_indicator.set_curr_frame(self.difficulty_index)

        elif self.mouse.is_over_object(self.rank):
            self.rank.set_curr_frame(1)
            if self.mouse.is_button_pressed(1):
                globals.GAME_STATE = 2

        elif self.mouse.is_over_object(self.quit):
            self.quit.set_curr_frame(1)
            if self.mouse.is_button_pressed(1):
                globals.GAME_RUNNING = False

        else:
            self.play.set_curr_frame(0)
            self.difficulty.set_curr_frame(0)
            self.rank.set_curr_frame(0)
            self.quit.set_curr_frame(0)

        self.__draw()

    def __draw(self):
        self.play.draw()
        self.difficulty.draw()
        self.rank.draw()
        self.quit.draw()
        self.difficulty_indicator.draw()

    def __set_pos(self):
        self.play.set_position(self.window.width / 2 - self.play.width / 2,
                               self.play.height * 1 + 30 * 1)

        self.difficulty.set_position(
            self.window.width / 2 - self.difficulty.width / 2,
            self.difficulty.height * 2 + 30 * 2,
        )

        self.rank.set_position(self.window.width / 2 - self.rank.width / 2,
                               self.rank.height * 3 + 30 * 3)

        self.quit.set_position(self.window.width / 2 - self.quit.width / 2,
                               self.quit.height * 4 + 30 * 4)

        self.difficulty_indicator.set_position(
            50, self.window.height - self.difficulty_indicator.height - 50)
Ejemplo n.º 7
0
class Posicoes(object):
    def __init__(self, window):
        self.window = window
        self.tela = Tela(window)
        self.collision = Collision()
        self.setParadoD()
        self.personagem = self.parado_d
        globais.POS_Y = (globais.HEIGHT - globais.HEIGHT_S -
                         self.parado_d.height)
        self.setPosicaoInicial()
        self.teclado = Keyboard()
        self.pontuacao = Pontuacao(window)

    def setPosicaoInicial(self):
        self.personagem.set_position(globais.POS_X, globais.POS_Y)
        self.personagem.draw()

    def setPosicao(self):
        self.personagem.set_position(globais.POS_X, globais.POS_Y)
        self.personagem.draw()

    def setParadoD(self):
        self.parado_d = Sprite("img/parado_d2.png")
        self.personagem = self.parado_d

    def setParadoE(self):
        self.parado_e = Sprite("img/parado_e2.png")
        self.personagem = self.parado_e

    def setAndandoD(self):
        self.andando_d = Animation("img/personagem_d2.png", 5, loop=True)
        self.andando_d.set_sequence_time(0, 5, 300, loop=True)
        self.personagem = self.andando_d

    def setAndandoE(self):
        self.andando_e = Animation("img/personagem_e2.png", 5, loop=True)
        self.andando_e.set_sequence_time(0, 5, 300, loop=True)
        self.personagem = self.andando_e

    def setPuloD(self):
        self.pulo_d = Animation("img/pulo_d2.png", 4, loop=True)
        self.pulo_d.set_sequence_time(0, 4, 500, loop=True)
        self.personagem = self.pulo_d

    def setPuloE(self):
        self.pulo_e = Animation("img/pulo_e2.png", 4, loop=True)
        self.pulo_e.set_sequence_time(0, 4, 500, loop=True)
        self.personagem = self.pulo_e

    def setAtaqueD(self):
        self.ataque_d = Animation("img/ataque_d2.png", 7, loop=True)
        self.ataque_d.set_sequence_time(0, 7, 100, loop=True)
        self.personagem = self.ataque_d

    def setAtaqueE(self):
        self.ataque_e = Animation("img/ataque_e2.png", 7, loop=True)
        self.ataque_e.set_sequence_time(0, 7, 100, loop=True)
        self.personagem = self.ataque_e

    def setAbaixadoD(self):
        self.abaixado_d = Sprite("img/abaixado_d.png")
        self.personagem = self.abaixado_d

    def setAbaixadoE(self):
        self.abaixado_e = Sprite("img/abaixado_e.png")
        self.personagem = self.abaixado_e

    def setKunaiD(self):
        self.personagem_kunai_d = Animation("img/kunai_d2.png", 3, loop=True)
        self.personagem_kunai_d.set_sequence_time(0, 3, 300, loop=True)
        self.personagem = self.personagem_kunai_d

    def setKunaiE(self):
        self.personagem_kunai_e = Animation("img/kunai_e2.png", 3, loop=True)
        self.personagem_kunai_e.set_sequence_time(0, 3, 300, loop=True)
        self.personagem = self.personagem_kunai_e

    def setUpdate(self):
        if (globais.STATUS_PERSONAGEM == 0):
            self.setParadoD()
        elif (globais.STATUS_PERSONAGEM == 1):
            self.setParadoE()
        elif (globais.STATUS_PERSONAGEM == 2):
            self.setAndandoD()
        elif (globais.STATUS_PERSONAGEM == 3):
            self.setAndandoE()
        elif (globais.STATUS_PERSONAGEM == 4):
            self.setPuloD()
        elif (globais.STATUS_PERSONAGEM == 5):
            self.setPuloE()
        elif (globais.STATUS_PERSONAGEM == 6):
            self.setAtaqueD()
        elif (globais.STATUS_PERSONAGEM == 7):
            self.setAtaqueE()
        elif (globais.STATUS_PERSONAGEM == 8):
            self.setAbaixadoD()
        elif (globais.STATUS_PERSONAGEM == 9):
            self.setAbaixadoE()
        elif (globais.STATUS_PERSONAGEM == 10):
            self.setKunaiD()
        elif (globais.STATUS_PERSONAGEM == 11):
            self.setKunaiE()
        globais.WIDTH_P = self.personagem.width
        globais.HEIGHT_P = self.personagem.height

    def getUpdate(self):
        if (globais.POS_X < 0):
            globais.POS_X = 0
        altura = globais.HEIGHT - (3 * self.parado_d.height)
        if (globais.STATUS_PERSONAGEM == 0):
            self.setParadoD()
            self.setPosicao()
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 1):
            self.setParadoE()
            self.setPosicao()
            globais.ESTADO_ANTERIOR = 1
        elif (globais.STATUS_PERSONAGEM == 2):
            globais.POS_X += globais.VEL_PERSONAGEM * self.window.delta_time()
            self.setPosicao()
            if (self.teclado.key_pressed("UP")):
                globais.STATUS_PERSONAGEM = 4
            if (self.teclado.key_pressed("SPACE")):
                globais.STATUS_PERSONAGEM = 6
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 3):
            globais.POS_X -= globais.VEL_PERSONAGEM * self.window.delta_time()
            self.setPosicao()
            if (self.teclado.key_pressed("UP")):
                globais.STATUS_PERSONAGEM = 5
            if (self.teclado.key_pressed("SPACE")):
                globais.STATUS_PERSONAGEM = 7
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 1
        elif (globais.STATUS_PERSONAGEM == 4):
            self.setPosicao()
            if (globais.POS_Y > altura
                    and self.personagem.get_curr_frame() == 0):
                self.personagem.set_curr_frame(0)
                globais.POS_Y -= globais.PULO_PERSONAGEM * self.window.delta_time(
                )
                if (self.teclado.key_pressed("RIGHT")):
                    globais.POS_X += globais.PULO_PERSONAGEM * self.window.delta_time(
                    )
            elif (globais.POS_Y == altura):
                self.personagem.set_curr_frame(1)
                globais.POS_X += 2
            elif (globais.POS_Y <
                  globais.HEIGHT - globais.HEIGHT_S - self.personagem.height):
                self.personagem.set_curr_frame(2)
                globais.POS_Y += globais.PULO_PERSONAGEM * self.window.delta_time(
                )
                if (self.teclado.key_pressed("RIGHT")):
                    globais.POS_X += (globais.PULO_PERSONAGEM *
                                      self.window.delta_time()) / 2
                if (globais.POS_Y - 109 >= globais.HEIGHT - 350):
                    globais.STATUS_PERSONAGEM = 1
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 5):
            self.setPosicao()
            if (globais.POS_Y > altura
                    and self.personagem.get_curr_frame() == 0):
                self.personagem.set_curr_frame(0)
                globais.POS_Y -= globais.PULO_PERSONAGEM * self.window.delta_time(
                )
                if (self.teclado.key_pressed("LEFT")):
                    globais.POS_X -= globais.PULO_PERSONAGEM * self.window.delta_time(
                    )
            elif (globais.POS_Y == altura):
                self.personagem.set_curr_frame(1)
                globais.POS_X += 2
            elif (globais.POS_Y <
                  globais.HEIGHT - globais.HEIGHT_S - self.personagem.height):
                self.personagem.set_curr_frame(2)
                globais.POS_Y += globais.PULO_PERSONAGEM * self.window.delta_time(
                )
                if (self.teclado.key_pressed("LEFT")):
                    globais.POS_X -= (globais.PULO_PERSONAGEM *
                                      self.window.delta_time()) / 2
                if (globais.POS_Y - 109 >= globais.HEIGHT - 350):
                    globais.STATUS_PERSONAGEM = 0
            globais.ESTADO_ANTERIOR = 1
        elif (globais.STATUS_PERSONAGEM == 6):
            self.setPosicao()
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 7):
            self.setPosicao()
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 1
        elif (globais.STATUS_PERSONAGEM == 8):
            globais.POS_Y = globais.HEIGHT - self.tela.getSolo(
            ).height - self.abaixado_d.height
            self.setPosicao()
            if (self.teclado.key_pressed("DOWN") == False):
                (globais.POS_Y) = (globais.HEIGHT - globais.HEIGHT_S)
                globais.STATUS_PERSONAGEM = 0
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 9):
            globais.POS_Y = globais.HEIGHT - self.tela.getSolo(
            ).height - self.abaixado_e.height
            self.setPosicao()
            if (self.teclado.key_pressed("DOWN") == False):
                globais.POS_Y = (globais.HEIGHT - globais.HEIGHT_S)
                globais.STATUS_PERSONAGEM = 1
        elif (globais.STATUS_PERSONAGEM == 10):
            self.setPosicao()
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 0
        elif (globais.STATUS_PERSONAGEM == 11):
            self.setPosicao()
            self.personagem.update()
            globais.ESTADO_ANTERIOR = 1

    def parar(self):
        if ((self.personagem.get_curr_frame()
             == (self.personagem.get_final_frame() - 1))
                and (globais.ESTADO_ANTERIOR == 0)):
            globais.STATUS_PERSONAGEM = 0
            return False
        elif ((self.personagem.get_curr_frame()
               == (self.personagem.get_final_frame() - 1))
              and (globais.ESTADO_ANTERIOR == 1)):
            globais.STATUS_PERSONAGEM = 1
            return False
        else:
            return True

    def setGravidade(self):
        if (globais.POS_Y < self.window.height):
            if ((self.collision.collided(self.personagem,
                                         self.tela.getSolo())) == False):
                globais.POS_Y += globais.GRAVIDADE * self.window.delta_time()

    def getPersonagem(self):
        return self.personagem

    def setReturn(self):
        if (self.teclado.key_pressed("ESC") or (globais.VIDA_PERSONAGEM == 0)):
            self.pontuacao.setArquivoPontuacao()
            globais.GAME_STATE = 0
        self.window.delay(10)
Ejemplo n.º 8
0
 def setKunaiE(self):
     self.personagem_kunai_e = Animation("img/kunai_e2.png", 3, loop=True)
     self.personagem_kunai_e.set_sequence_time(0, 3, 300, loop=True)
     self.personagem = self.personagem_kunai_e
Ejemplo n.º 9
0
 def setAtaqueE(self):
     self.ataque_e = Animation("img/ataque_e2.png", 7, loop=True)
     self.ataque_e.set_sequence_time(0, 7, 100, loop=True)
     self.personagem = self.ataque_e
Ejemplo n.º 10
0
 def setPuloE(self):
     self.pulo_e = Animation("img/pulo_e2.png", 4, loop=True)
     self.pulo_e.set_sequence_time(0, 4, 500, loop=True)
     self.personagem = self.pulo_e
Ejemplo n.º 11
0
 def setAndandoE(self):
     self.andando_e = Animation("img/personagem_e2.png", 5, loop=True)
     self.andando_e.set_sequence_time(0, 5, 300, loop=True)
     self.personagem = self.andando_e