Example #1
0
def callCombate():

    #adicionar efeito de combate, uma tela com acoes realizadas,
    #mostrar lucros do combate e vida na tela de status do player

    endCombat = False
    definicoes.monsterLife = 50

    ataque, fugir = load_tela_combat()

    while not endCombat:
        mouse = pygame.mouse.get_pos()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.MOUSEBUTTONDOWN:
                if fugir.collidepoint(mouse):

                    endCombat = True
                    map_loader.load_tela(definicoes.playerDict["LARG"],
                                         definicoes.playerDict["LALT"])
                    player.player_load()

                if ataque.collidepoint(mouse):
                    #criar uma funcao que chama todos os rects de status e monstros para atualizar texto na tela.
                    definicoes.monsterATK = 5
                    status_batalha = ataqueFunc()

                    ataque, fugir = load_tela_combat()

                    if status_batalha == "end":
                        endCombat = True
                        map_loader.load_tela(definicoes.playerDict["LARG"],
                                             definicoes.playerDict["LALT"])
                        player.player_load()

                    elif status_batalha == "game over":
                        GM = pygame.image.load("GAME_OVER.png")
                        definicoes.screen.fill(definicoes.white,
                                               definicoes.scr_rect)
                        definicoes.screen.blit(GM, (0, 0))

        definicoes.clock.tick(5)
        pygame.display.update()
Example #2
0
def load():

    sair = False
    buyBol = False
    sellBol = False
    buy, sell = print_tela()

    while not sair:
        mouse = pygame.mouse.get_pos()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.MOUSEBUTTONDOWN or (buyBol == True
                                                        or sellBol == True):

                if buy.collidepoint(mouse) or buyBol == True:
                    close_Menu, sair, sellBol = buy_func()
                    buyBol = False

                elif sell.collidepoint(mouse) or sellBol == True:
                    close_Menu, sair, buyBol = sell_func()
                    sellBol = False

                try:
                    if close_Menu.collidepoint(mouse):
                        sair = True
                        map_loader.load_tela(definicoes.playerDict["LARG"],
                                             definicoes.playerDict["LALT"])
                        player.player_load()
                except:
                    print "erros close inn"

        definicoes.clock.tick(5)
        pygame.display.update()
Example #3
0
def buy_func():
    definicoes.screen.fill(definicoes.branco_ostra, definicoes.OpenMenu_rect)

    close_Menu = start.multi_box(definicoes.OpenMenu_rect.right - 20,
                                 definicoes.OpenMenu_rect.top, 20, 20,
                                 definicoes.vermelho, "Yes", "X",
                                 definicoes.white)

    start.multi_box(definicoes.OpenMenu_rect.centerx - 70,
                    definicoes.OpenMenu_rect.top + 3, 70, 40,
                    definicoes.vermelho, "Yes", "BUY", definicoes.white)
    sell = start.multi_box(definicoes.OpenMenu_rect.centerx + 5,
                           definicoes.OpenMenu_rect.top + 3, 70, 40,
                           definicoes.vermelho, "Yes", "SELL",
                           definicoes.white)

    line = pygame.draw.line(definicoes.screen, definicoes.vermelho,
                            (definicoes.OpenMenu_rect.left, sell.bottom + 5),
                            (definicoes.OpenMenu_rect.right, sell.bottom + 5),
                            5)

    qtd_dinheiro(line)

    linhas = 1
    itens_rect = []
    buy_exit = False
    sair = False
    sellBol = False

    if len(definicoes.lojaBuy) > 5:
        linhas = 2

    for x in range(0, linhas, 1):
        for y in range(0, len(definicoes.lojaBuy), 1):
            j = pygame.draw.rect(definicoes.screen, definicoes.white,
                                 (definicoes.OpenMenu_rect.centerx -
                                  (y * 32), definicoes.OpenMenu_rect.centery -
                                  (x * 32), 38, 38), 5)
            itens_rect.append(j)

            #poem a imagem do itens na tela
            var = definicoes.lojaBuy[y]
            rectNome = definicoes.stats[var]
            rect = rectNome["rect"]
            img = definicoes.sprites[var]

            varY = j.centery - (rect.height / 2)
            varX = j.centerx - (rect.width / 2)
            definicoes.screen.blit(img, (varX, varY))

    while not buy_exit:
        mouse = pygame.mouse.get_pos()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.MOUSEBUTTONDOWN:
                for loop in range(0, len(itens_rect), 1):
                    if itens_rect[loop].collidepoint(mouse):
                        var = definicoes.lojaBuy[loop]
                        itenStats = definicoes.itensDef[var]
                        defIten = definicoes.stats[itenStats]
                        textoIten = defIten["nome"] + " --- Valor: " + str(
                            defIten["venda"])
                        rect_texto_iten = start.multi_box(
                            definicoes.OpenMenu_rect.left,
                            definicoes.OpenMenu_rect.bottom - 30, 200, 30,
                            definicoes.branco_ostra, "Yes", textoIten,
                            definicoes.black)
                        comprar = start.multi_box(
                            rect_texto_iten.right + 10,
                            definicoes.OpenMenu_rect.bottom - 30, 90, 30,
                            definicoes.vermelho, "Yes", "Comprar",
                            definicoes.white)
                try:
                    if comprar.collidepoint(mouse):
                        itenStats = definicoes.itensDef[var]
                        defIten = definicoes.stats[itenStats]
                        if definicoes.playerDict["moedas"] >= defIten["venda"]:
                            definicoes.playerDict["moedas"] -= defIten["venda"]
                            try:
                                definicoes.inventario[var] += 1
                            except:
                                definicoes.inventario[var] = 1

                            qtd_dinheiro(line)
                except:
                    print "erro na func comprar"

                if sell.collidepoint(mouse):
                    buy_exit = True
                    sellBol = True

                elif close_Menu.collidepoint(mouse):
                    buy_exit = True
                    sair = True
                    map_loader.load_tela(definicoes.playerDict["LARG"],
                                         definicoes.playerDict["LALT"])
                    player.player_load()

        definicoes.clock.tick(5)
        pygame.display.update()

    return close_Menu, sair, sellBol
Example #4
0
def sell_func():
    definicoes.screen.fill(definicoes.branco_ostra, definicoes.OpenMenu_rect)

    close_Menu = start.multi_box(definicoes.OpenMenu_rect.right - 20,
                                 definicoes.OpenMenu_rect.top, 20, 20,
                                 definicoes.vermelho, "Yes", "X",
                                 definicoes.white)

    buy = start.multi_box(definicoes.OpenMenu_rect.centerx - 70,
                          definicoes.OpenMenu_rect.top + 3, 70, 40,
                          definicoes.vermelho, "Yes", "BUY", definicoes.white)
    start.multi_box(definicoes.OpenMenu_rect.centerx + 5,
                    definicoes.OpenMenu_rect.top + 3, 70, 40,
                    definicoes.vermelho, "Yes", "SELL", definicoes.white)

    line = pygame.draw.line(definicoes.screen, definicoes.vermelho,
                            (definicoes.OpenMenu_rect.left, buy.bottom + 5),
                            (definicoes.OpenMenu_rect.right, buy.bottom + 5),
                            5)

    qtd_dinheiro(line)

    linhas = 0
    itens_rect = []

    if (len(definicoes.inventario) / 5) < 1:
        linhas = 1
    else:
        linhas = len(definicoes.inventario) / 5

    for x in range(0, linhas, 1):
        for y in range(0, len(definicoes.inventario), 1):
            j = pygame.draw.rect(definicoes.screen, definicoes.cinza,
                                 (definicoes.OpenMenu_rect.centerx -
                                  (y * 32), definicoes.OpenMenu_rect.centery -
                                  (x * 32), 38, 38))
            itens_rect.append(j)

    var = []

    #poem a imagem do itens na tela
    for keys in definicoes.inventario:
        var.append(keys)

    texto_sell(itens_rect, var)

    sair_exit = False
    sair = False
    buyBol = False

    while not sair_exit:
        mouse = pygame.mouse.get_pos()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.MOUSEBUTTONDOWN:

                for loop_inv in range(0, len(itens_rect), 1):
                    if itens_rect[loop_inv].collidepoint(mouse):
                        nome_iten = var[loop_inv]
                        defIten = definicoes.stats[nome_iten]
                        textoIten = defIten["nome"] + " --- Valor: " + str(
                            defIten["compra"])
                        rect_texto_iten_inv = start.multi_box(
                            definicoes.OpenMenu_rect.left,
                            definicoes.OpenMenu_rect.bottom - 30, 200, 30,
                            definicoes.branco_ostra, "Yes", textoIten,
                            definicoes.black)
                        venda = start.multi_box(
                            rect_texto_iten_inv.right + 10,
                            definicoes.OpenMenu_rect.bottom - 30, 90, 30,
                            definicoes.vermelho, "Yes", "Vender",
                            definicoes.white)

                try:
                    if venda.collidepoint(mouse):
                        statsIten = definicoes.stats[nome_iten]

                        if definicoes.inventario[nome_iten] > 0:
                            definicoes.playerDict["moedas"] += statsIten[
                                "compra"]
                            definicoes.inventario[nome_iten] -= 1
                            if definicoes.inventario[nome_iten] == 0:
                                del definicoes.inventario[nome_iten]

                            texto_sell(itens_rect, var)
                            qtd_dinheiro(line)
                except:
                    print "erro vender iten"

                if buy.collidepoint(mouse):
                    sair_exit = True
                    buyBol = True

                elif close_Menu.collidepoint(mouse):
                    sair_exit = True
                    sair = True
                    map_loader.load_tela(definicoes.playerDict["LARG"],
                                         definicoes.playerDict["LALT"])
                    player.player_load()

        definicoes.clock.tick(5)
        pygame.display.update()

    return close_Menu, sair, buyBol
Example #5
0
def new():
    definicoes.screen.blit(new_game, (0, 0))
    pygame.display.update()

    return_menu = multi_box(500, 400, 100, 25, definicoes.vermelho_claro,
                            "sim", "Menu", definicoes.white)

    z = ''
    definicoes.nome = ''
    sair = False
    loop_texto = 0

    while loop_texto == 0:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            movimento = pygame.mouse.get_pos()

            if event.type == pygame.MOUSEMOTION:

                if return_menu.collidepoint(movimento):
                    multi_box(500, 400, 100, 25, definicoes.vermelho, "sim",
                              "Menu", definicoes.white)
                else:
                    multi_box(500, 400, 100, 25, definicoes.vermelho_claro,
                              "sim", "Menu", definicoes.white)

            if event.type == pygame.MOUSEBUTTONDOWN:

                if return_menu.collidepoint(movimento):
                    definicoes.menu = 0
                    loop_texto += 1
                    menu_call()

            if event.type == pygame.KEYDOWN:

                z = pygame.key.name(event.key)

                if len(definicoes.nome) >= 8 or z == "return":
                    sair = True
                    loop_texto += 1
                    save(True)
                    map_loader.load_tela()
                    map_loader.load_menu()
                    player.player_load()

                if z == "backspace":
                    z1 = definicoes.nome[:-1]
                    definicoes.nome = z1
                    multi_box(260, 200, 80, 30, definicoes.white, "sim",
                              definicoes.nome, definicoes.black)

                if z == "error":
                    multi_box(260, 200, 80, 30, definicoes.white, "sim",
                              "não aceito", definicoes.black)

                if not sair and z != "backspace" and z != "error":
                    definicoes.nome += z
                    multi_box(260, 200, 80, 30, definicoes.white, "sim",
                              definicoes.nome, definicoes.black)
Example #6
0
def load():
    selected = False
    loop_load = 0

    filecatalogo = open("catalogo.txt", "r")
    filecatread = filecatalogo.readline(15)

    load_select = multi_box(185, 231, 100, 25, definicoes.vermelho_claro,
                            "sim", filecatread[:-1], definicoes.white)

    return_menu = multi_box(500, 400, 100, 25, definicoes.vermelho_claro,
                            "sim", "Menu", definicoes.white)

    while not selected:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            movimento = pygame.mouse.get_pos()

            if event.type == pygame.MOUSEMOTION:
                if return_menu.collidepoint(movimento):
                    multi_box(500, 400, 100, 25, definicoes.vermelho, "sim",
                              "Menu", definicoes.white)

            if event.type == pygame.MOUSEBUTTONDOWN:
                if return_menu.collidepoint(movimento):
                    definicoes.menu = 0
                    selected = True
                    menu_call()

            if event.type == pygame.KEYDOWN:

                if event.key == pygame.K_UP:

                    filecatalogo.close()
                    filecatalogo = open("catalogo.txt", "r")
                    if loop_load == 0:
                        filecatread = filecatalogo.readline(15)

                    else:
                        for i in range(loop_load):
                            filecatread = filecatalogo.readline(15)
                            i += 1

                    multi_box(185, 231, 100, 25, definicoes.vermelho_claro,
                              "sim", filecatread[:-1], definicoes.white)
                    loop_load -= 1

                else:
                    filecatread = filecatalogo.readline(15)
                    multi_box(185, 231, 100, 25, definicoes.vermelho_claro,
                              "sim", filecatread[:-1], definicoes.white)
                    loop_load += 1

            movimento = pygame.mouse.get_pos()
            numeros = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

            if event.type == pygame.MOUSEBUTTONDOWN:

                if load_select.collidepoint(movimento):

                    nameLoad = "jogos\\" + filecatread[:-1] + ".txt"
                    definicoes.nome = filecatread[:-1]

                    Dict = json.load(open(nameLoad))

                    for keys in definicoes.playerDict:
                        if keys not in Dict:
                            Dict[keys] = definicoes.playerDict[keys]

                    definicoes.playerDict = Dict

                    definicoes.inventario = definicoes.playerDict["inventario"]

                    selected = True
                    map_loader.load_tela(definicoes.playerDict["LARG"],
                                         definicoes.playerDict["LALT"])
                    map_loader.load_menu()
                    player.player_load_first()

    filecatalogo.close()
Example #7
0
def menu_button():

    close = False #sair do menu
    verf_ob = 0

    all_rects, descricao_Menu = imprimir_menu()
              
    #acoes enquanto o menu estiver aberto
    while not close:

        mouse_pos = pygame.mouse.get_pos()
        x = mouse_pos[0]
        y = mouse_pos[1]
        pressed = pygame.mouse.get_pressed()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.MOUSEBUTTONDOWN:
                if all_rects["close_Menu"].collidepoint(mouse_pos):
                    close = True
                    map_loader.load_tela(definicoes.playerDict["LARG"], definicoes.playerDict["LALT"])
                    player.player_load()
                    
                try:
                    if usar.collidepoint(mouse_pos):
                        itens_opt.opt_acao(qual_iten, "usar")
                        qual_iten = 0
                        all_rects, descricao_Menu = imprimir_menu()
                        
                    if drop.collidepoint(mouse_pos):
                        itens_opt.opt_acao(qual_iten, "drop")
                        qual_iten = 0
                        all_rects, descricao_Menu = imprimir_menu()
                except:
                    print "erro usar collide"
                    
                    
            #codigo para menu de opcoes botao direito
            if pressed == (0,0,1):
                
                #funcao que verifica qual iten clicado
                qual_iten = iten_press(mouse_pos, descricao_Menu) 
                if qual_iten != 0:
                    
                    #funcao que cria menu com usar e dropar
                    option_box, usar, drop = new_rect(x, y) 
                    verf_op = 1
            try:
                #funcao que apaga a box com opcoes se mouse sair de cima
                if not option_box.collidepoint(mouse_pos): 
                    if verf_op == 1:
                        
                        #funcao que chama tela de menu novamente
                        all_rects, descricao_Menu = imprimir_menu() 
                        verf_op = 0
            except:
                print "erro no mouse_option not collide"

            #funcao que imprime a descricao na parte inferior da tela, ao lado do botao menu        
            #print_descricao(mouse_pos, descricao_Menu)
                                                         
        definicoes.clock.tick(10)