Esempio n. 1
0
def new_rect(x, y):
    
    novo = pygame.draw.rect(definicoes.screen, definicoes.branco_ostra, (x, y, 100, 50))
    usar = start.multi_box(novo.left + 10, novo.top, 80, 25, definicoes.branco_ostra, "Yes", "Usar")
    drop = start.multi_box(novo.left + 10, novo.top + 25, 80, 25, definicoes.branco_ostra, "Yes", "Drop")
    pygame.display.update()
    return novo, usar, drop
Esempio n. 2
0
def load_tela_combat():

    #tela de combate
    definicoes.screen.fill(definicoes.branco_ostra, definicoes.OpenMenu_rect)

    #barra de status
    statusBar = pygame.draw.rect(
        definicoes.screen, definicoes.vermelho_claro,
        (definicoes.OpenMenu_rect.left + 50,
         (definicoes.OpenMenu_rect.height / 2) - 30, 100, 25))
    statusText = "Vida: " + str(definicoes.playerDict["TVida"])

    monsterBar = pygame.draw.rect(
        definicoes.screen, definicoes.vermelho_claro,
        (definicoes.OpenMenu_rect.right - 150,
         (definicoes.OpenMenu_rect.height / 2) - 30, 100, 25))

    monsterText = "Vida: " + str(definicoes.monsterLife)

    #localizacao do player na tela
    localizacaoPlayer = pygame.draw.rect(
        definicoes.screen, definicoes.branco_ostra,
        (definicoes.OpenMenu_rect.left + 50,
         definicoes.OpenMenu_rect.height / 2, 100, 100))

    #localizacao do monstro na tela
    localizacaoMonstro = pygame.draw.rect(
        definicoes.screen, definicoes.branco_ostra,
        (definicoes.OpenMenu_rect.right - 150,
         definicoes.OpenMenu_rect.height / 2, 100, 100))

    #imprimir texto de status na tela
    start.input_text(statusText, (statusBar.left + (statusBar.width / 2)),
                     (statusBar.top + (statusBar.height / 2)),
                     definicoes.white, "yes")
    start.input_text(monsterText, (monsterBar.right - (monsterBar.width / 2)),
                     (monsterBar.top + (monsterBar.height / 2)),
                     definicoes.white, "yes")

    #imprimir player na tela
    x = localizacaoPlayer.centerx - (definicoes.player_rect.width / 2)
    y = localizacaoPlayer.centery - (definicoes.player_rect.height / 2)
    definicoes.screen.blit(definicoes.playerD, (x, y))

    #imprimir monstro na tela
    x = localizacaoMonstro.centerx - (definicoes.corvo_rect.width / 2)
    y = localizacaoMonstro.centery - (definicoes.corvo_rect.height / 2)
    definicoes.screen.blit(definicoes.corvo, (x, y))

    #botao de ataque e fugir
    ataque = start.multi_box(definicoes.OpenMenu_rect.left,
                             definicoes.OpenMenu_rect.bottom - 56, 80, 25,
                             definicoes.vermelho, "Yes", "Ataque",
                             definicoes.white)
    fugir = start.multi_box(definicoes.OpenMenu_rect.left,
                            definicoes.OpenMenu_rect.bottom - 30, 80, 25,
                            definicoes.vermelho, "Yes", "Fugir",
                            definicoes.white)

    return ataque, fugir
Esempio n. 3
0
def load_menu(menu_rect1=definicoes.white, menu_rect2=definicoes.white):

    definicoes.screen.fill(definicoes.branco_ostra, definicoes.menu_rect[0])
    pygame.display.update(definicoes.menu_rect[0])

    Text = start.input_text(definicoes.texto, (250), definicoes.height - 16,
                            definicoes.black, "yes")
    definicoes.menu_rect[1] = start.multi_box(5, definicoes.height - 28, 80,
                                              24, menu_rect1, "yes", "Char")
    definicoes.menu_rect[2] = start.multi_box(definicoes.width - 100,
                                              definicoes.height - 28, 80, 24,
                                              menu_rect2, "yes", "Save")
Esempio n. 4
0
def print_tela():

    option_rect = pygame.draw.rect(definicoes.screen, definicoes.branco_ostra,
                                   (definicoes.scr_rect.centerx - 50,
                                    definicoes.scr_rect.centery - 13, 120, 26))

    buy = start.multi_box(option_rect.left + 5, option_rect.top + 3, 50, 20,
                          definicoes.vermelho, "Yes", "BUY", definicoes.white)
    sell = start.multi_box(option_rect.left + 65, option_rect.top + 3, 50, 20,
                           definicoes.vermelho, "Yes", "SELL",
                           definicoes.white)

    return buy, sell
Esempio n. 5
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
Esempio n. 6
0
def qtd_dinheiro(line):

    textoGold = "$: " + str(definicoes.playerDict["moedas"])
    gold = start.multi_box(definicoes.OpenMenu_rect.centerx - 105,
                           line.bottom + 3, 210, 25, definicoes.branco_ostra,
                           "Yes", textoGold, definicoes.black)
Esempio n. 7
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
Esempio n. 8
0
def imprimir_menu():
    inventario_Loop = 0
    Iten_Menu = []
    descricao_Menu = {}
    all_rects = {}

    #tela do menu
    definicoes.screen.fill(definicoes.cinza_claro, definicoes.OpenMenu_rect)

    #texto na parte superior do inventario
    descricao_tela = start.multi_box(definicoes.OpenMenu_rect.left, definicoes.OpenMenu_rect.top,
                                     definicoes.OpenMenu_rect.width, 20,
                                     definicoes.branco_ostra, "Yes", "Status / Inventario")

    #botao de fechar
    close_Menu = start.multi_box(definicoes.OpenMenu_rect.right - 20, definicoes.OpenMenu_rect.top, 20, 20,
                                 definicoes.vermelho, "Yes", "X", definicoes.white)
    
    #box geral dos status
    barra_status = start.multi_box(definicoes.OpenMenu_rect.right - 195, descricao_tela.bottom + 10,
                                   180, 75,
                                   definicoes.branco_ostra, "no")
    
    barra_status_lvl = start.multi_box(barra_status.left + 20, barra_status.top,
                                       140, 25,
                                       definicoes.branco_ostra, "Yes",
                                       ("Lv: " + str(definicoes.playerDict["level"])), definicoes.cinza_escuro)
    
    #barra de progresso de exp
    player.atualiza_lvl("pedra")
    texto_next_xp = "Exp: " + str(definicoes.playerDict["exp"])
    um_por_cento = (definicoes.playerDict["exp"] + definicoes.playerDict["expProxLVL"]) / 140.0
    barra = definicoes.playerDict["exp"] / um_por_cento

    barra_status_xp_full = start.multi_box(barra_status.left + 20, barra_status.top + 50,
                                           140, 25,
                                           definicoes.cinza, "no")
    barra_status_xp_next = start.multi_box(barra_status.left + 20, barra_status.top + 50,
                                           barra, 25,
                                           definicoes.vermelho, "no")
    texto_tela_next_xp = start.input_text(texto_next_xp, (barra_status.left + 20 + (140 / 2)),
                                          (barra_status.top + 50 + (25 / 2)), definicoes.branco_ostra, "sim")
                    

    #status do jogado ex: hp, att, def
    texto_vida = "HP: " + str(definicoes.playerDict["TVida"]) + " / " + str(definicoes.playerDict["Vida"])
    um_por_cento_vida = definicoes.playerDict["Vida"] / 100.0
    barra_vida = definicoes.playerDict["TVida"] / um_por_cento_vida

    barraVidaFull = start.multi_box(definicoes.OpenMenu_rect.left + 20, descricao_tela.bottom + 20,
                                    100, 25,
                                    definicoes.branco_ostra, "no")
    barra_status_vida = start.multi_box(definicoes.OpenMenu_rect.left + 20, descricao_tela.bottom + 20,
                                        barra_vida, 25,
                                        definicoes.vermelho, "no")
    texto_tela_vida = start.input_text(texto_vida, (barra_status_vida.left + (100 / 2)),
                                       (descricao_tela.bottom + 20 + (25 / 2)), definicoes.cinza_escuro, "sim")

    texto_att = "ATT: " + str(definicoes.playerDict["Ataque"])
    att_tela = start.input_text(texto_att, (definicoes.OpenMenu_rect.left + 20 + (100 / 2)),
                                (barra_status_vida.bottom + 12.5), definicoes.cinza_escuro, "sim")

    texto_def = "DEF: " + str(definicoes.playerDict["Defesa"])
    def_tela = start.input_text(texto_def, (definicoes.OpenMenu_rect.left + 20 + (100 / 2)),
                                (barra_status_vida.bottom + 37.5), definicoes.cinza_escuro, "sim")

    texto_ganhou = "Lutas Ganhas: " + str(definicoes.playerDict["Ganhou"])
    ganhou_tela = start.input_text(texto_ganhou, (definicoes.OpenMenu_rect.left + 20 + (100 / 2)),
                                   (barra_status_vida.bottom + 62.5), definicoes.cinza_escuro, "sim")

    #skills ##############################################################################################
    boxSkill = start.multi_box(definicoes.OpenMenu_rect.left + 10, (barra_status_vida.bottom + 80),
                               270,((definicoes.OpenMenu_rect.bottom - 20) - (barra_status_vida.bottom + 73)),
                               definicoes.branco_ostra, "no")

    SkillText = start.input_text("SKILLS", ((boxSkill.width / 2) + (definicoes.OpenMenu_rect.left + 10)),
                                 (boxSkill.top + 15), definicoes.vermelho, "sim")
                               
    #Trabalho com pedra
    textoPedra = "Pedra LV: " + str(definicoes.playerDict["pedraLV"])
    XPumPC = ((definicoes.playerDict["pedraXP"] + definicoes.playerDict["pedraXpProx"]) + 1) / 120.0
    barraXP = definicoes.playerDict["pedraXP"] / XPumPC

    barraPedraFull = start.multi_box(boxSkill.left + 10, (boxSkill.top + 30),
                                     120, 25,
                                     definicoes.cinza_claro, "no")
    barraPedraXP = start.multi_box(boxSkill.left + 10, (boxSkill.top + 30),
                                   barraXP, 25,
                                   definicoes.vermelho, "no")
    barraTextoPedra = start.input_text(textoPedra, (barraPedraXP.left + 60),
                                       (barraPedraFull.top + 12.5), definicoes.branco_ostra, "sim")

    #Trabalho com madeira
    textoMadeira = "Madeira LV: " + str(definicoes.playerDict["madeiraLV"])
    XPumPCMadeira = ((definicoes.playerDict["madeiraXP"] + definicoes.playerDict["madeiraXpProx"]) + 1) / 120.0
    MadeiraBarraXP = definicoes.playerDict["madeiraXP"] / XPumPCMadeira

    barraMadeiraFull = start.multi_box((boxSkill.left + 10), (barraPedraFull.bottom + 3),
                                       120, 25,
                                       definicoes.cinza_claro, "no")
    barraMadeiraXP = start.multi_box((boxSkill.left + 10), (barraPedraFull.bottom + 3),
                                     MadeiraBarraXP, 25,
                                     definicoes.vermelho, "no")
    barraTextoMadeira = start.input_text(textoMadeira, (barraMadeiraXP.left + 60),
                                         (barraMadeiraFull.top + 12.5), definicoes.branco_ostra, "sim")
    

    #fim box skill #######################################################################################
    
    #localizacao dos itens
    tamanho  = 42
    tamanho_BAG = 5
    for l in range(0, tamanho_BAG, 1):
        for j in range(0, tamanho_BAG, 1):
            j = pygame.draw.rect(definicoes.screen, definicoes.marron,
                                 ((definicoes.OpenMenu_rect.right - ((tamanho_BAG * tamanho) - (tamanho * j))),
                                  (definicoes.OpenMenu_rect.bottom - ((tamanho_BAG * tamanho) - (tamanho * l))), tamanho, tamanho))
            Iten_Menu.append(j)

    #imprime a quantia de dinheiro do player
    textoGold = "GOLD: " + str(definicoes.playerDict["moedas"])
    gold = start.multi_box(definicoes.OpenMenu_rect.right - 210, Iten_Menu[0].top - 27, 210, 25,
                           definicoes.branco_ostra, "Yes", textoGold, definicoes.amarelo_ocre)
    
                             
    #iten no menu se existir algum
    try:
        for keys in definicoes.inventario:
            load_menu_iten(keys, inventario_Loop, Iten_Menu)
            descricao_Menu[keys] = Iten_Menu[inventario_Loop]
            inventario_Loop += 1
            
    except:
        print "erro: sem itens no inventario ou erro na criacao dos itens no menu"

        

    all_rects = {"descricao_tela": descricao_tela,
                 "close_Menu": close_Menu,
                 "barra_status": barra_status,
                 "barra_status_lvl": barra_status_lvl,
                 "barra_status_xp_next": barra_status_xp_next,
                 "barra_status_vida": barra_status_vida,               
                 }
    
    pygame.display.update()
    return all_rects, descricao_Menu