コード例 #1
0
def dado_vale_5(canvas_ops, canvas_tabuleiro):
    global vez, my_canvas, root_move_peca, dado
    vez = game_rules.get_vez()
    cores_peca = ["blue", "yellow", "green", "red"]
    canvas_ops.create_rectangle(150, 80, 240, 160, fill=cores_peca[vez])
    dado = 5
    label_img = Label()
    label_img.config(image='')
    label_img.image = PhotoImage(file="dado_5.png")
    a = label_img.image
    label_img.config(image="")
    label_img.image = a
    canvas_ops.create_image(180, 100, image=label_img.image, anchor=NW)

    if dado == 5:
        if game_rules.pode_mover_casa_saida(vez) == True:
            game_rules.tirou_5_no_dado(vez)
            vez = game_rules.vez_do_proximo()
            canvas_tabuleiro = draw_canvas.get_canvas()
            root_move_peca = draw_canvas.get_root()
            draw_canvas.desenha(canvas_tabuleiro, root_move_peca)
        # nao pode mover para casa de saída e nao tem peca no tabuleiro
        # elif game_rules_certo_tlvz.tem_pecas_na_casaInicial(vez) == False:
        elif game_rules.tem_pecas_no_tabuleiro(vez) == False:
            vez = game_rules.vez_do_proximo()
        # nao pode mover para casa de saída, mas tem peça no tabuleiro
        else:
            canvas_tabuleiro.bind("<Button-1>", clica)

    elif game_rules.tem_pecas_no_tabuleiro(vez) == False:
        vez = game_rules.vez_do_proximo()

    else:
        canvas_tabuleiro.bind("<Button-1>", clica)
コード例 #2
0
def dado_vale_6(canvas_ops, canvas_tabuleiro):
    global vez, my_canvas, dado
    vez = game_rules.get_vez()
    cores_peca = ["blue", "yellow", "green", "red"]
    canvas_ops.create_rectangle(150, 80, 240, 160, fill=cores_peca[vez])
    dado = 6
    label_img = Label()
    label_img.config(image='')
    label_img.image = PhotoImage(file="dado_6.png")
    a = label_img.image
    label_img.config(image="")
    label_img.image = a
    canvas_ops.create_image(180, 100, image=label_img.image, anchor=NW)

    seis_count = game_rules.get_seis_count()
    if seis_count < 3:
        game_rules.muda_6_count()
        canvas_tabuleiro.bind("<Button-1>", clica)
    else:
        game_rules.seis_tres_vezes_seguidas()
        vez = game_rules.vez_do_proximo()
        draw_canvas.limpa_tabuleiro(canvas_move_peca, root_move_peca)
        draw_canvas.desenha(canvas_move_peca, root_move_peca)

    if game_rules.tem_pecas_no_tabuleiro(vez) == False:
        vez = game_rules.vez_do_proximo()

    else:
        canvas_tabuleiro.bind("<Button-1>", clica)
コード例 #3
0
def dado_vale_4(canvas_ops, canvas_tabuleiro):
    global vez, my_canvas, dado
    vez = game_rules.get_vez()
    cores_peca = ["blue", "yellow", "green", "red"]
    canvas_ops.create_rectangle(150, 80, 240, 160, fill=cores_peca[vez])
    dado = 4
    label_img = Label()
    label_img.config(image='')
    label_img.image = PhotoImage(file="dado_4.png")
    a = label_img.image
    label_img.config(image="")
    label_img.image = a
    canvas_ops.create_image(180, 100, image=label_img.image, anchor=NW)
    if game_rules.tem_pecas_no_tabuleiro(vez) == False:
        vez = game_rules.vez_do_proximo()
    else:
        canvas_tabuleiro.bind("<Button-1>", clica)
コード例 #4
0
def click_joga_dado(canvas_ops,
                    canvas_tabuleiro,
                    houve_captura=False,
                    peca_chegou_na_casa_final=False):
    global vez, my_canvas, dado, seis_count, dado_button, esperando_jogada

    dado_button = draw_canvas.get_dado_button()
    salvar_jogo_button = draw_canvas.get_salvar_jogo_button()
    canvas_move_peca = draw_canvas.get_canvas()
    root_move_peca = draw_canvas.get_root()

    dado = game_rules.joga_dado()

    # BLOQUEIA O BOTÃO DE LANÇAR O DADO ATE MEXER UMA PEÇA
    vez = game_rules.get_vez()
    if game_rules.tem_pecas_no_tabuleiro(vez):
        dado_button["state"] = DISABLED
        salvar_jogo_button["state"] = DISABLED

    vez = game_rules.get_vez()

    # desenha cor de fundo do dado
    cores_peca = ["blue", "yellow", "green", "red"]
    canvas_ops.create_rectangle(150, 80, 240, 160, fill=cores_peca[vez])

    dado = game_rules.joga_dado()

    # se houve captura a pessoa joga de novo com 6 no dado
    if houve_captura == True or peca_chegou_na_casa_final == True:
        dado = 6
        houve_captura == False
        game_rules.muda_houve_captura_para_falso()
        canvas_tabuleiro.bind("<Button-1>", clica)

    if dado != 5:
        esperando_jogada = True

    label_img = Label()
    label_img.config(image='')

    if dado == 1:
        label_img.image = PhotoImage(file="dado_1.png")
    elif dado == 2:
        label_img.image = PhotoImage(file="dado_2.png")
    elif dado == 3:
        label_img.image = PhotoImage(file="dado_3.png")
    elif dado == 4:
        label_img.image = PhotoImage(file="dado_4.png")
    elif dado == 5:
        label_img.image = PhotoImage(file="dado_5.png")
    else:
        label_img.image = PhotoImage(file="dado_6.png")

    a = label_img.image
    label_img.config(image="")
    label_img.image = a
    canvas_ops.create_image(180, 100, image=label_img.image, anchor=NW)

    # se tirou 6 no dado
    seis_count = game_rules.get_seis_count()
    if dado == 6:
        if seis_count < 3:
            seis_count += 1
            canvas_tabuleiro.bind("<Button-1>", clica)
        else:
            game_rules.seis_tres_vezes_seguidas()
            vez = game_rules.vez_do_proximo()
            draw_canvas.limpa_tabuleiro(canvas_move_peca, root_move_peca)
            draw_canvas.desenha(canvas_move_peca, root_move_peca)

    # se dado for 5 mover peca pra casa de saida
    if dado == 5:
        # pode mover para casa de saida
        if game_rules.pode_mover_casa_saida(vez) == True:
            game_rules.tirou_5_no_dado(vez)
            vez = game_rules.vez_do_proximo()

            root_move_peca = draw_canvas.get_root()

            dado_button["state"] = NORMAL  # ativo o botao do dado novamente

            draw_canvas.desenha(canvas_tabuleiro, root_move_peca)

        # nao pode mover para casa de saída e nao tem peca no tabuleiro
        elif game_rules.tem_pecas_no_tabuleiro(vez) == False:
            vez = game_rules.vez_do_proximo()

        # nao pode mover para casa de saída, mas tem peça no tabuleiro
        else:
            canvas_tabuleiro.bind("<Button-1>", clica)

    # TIROU UM NUMERO DIFERENTE DE 5 E NÃO TEM PEÇAS NO TABULEIRO PARA MOVER
    elif game_rules.tem_pecas_no_tabuleiro(vez) == False:
        vez = game_rules.vez_do_proximo()

    else:
        canvas_tabuleiro.bind("<Button-1>", clica)