def voltaMenu(): global state,tabuleiro cnv = draw.criaTopCnv("c") top = draw.criaTopCnv("t") cnv.destroy() cnv = draw.criaTopCnv("nc") tabuleiro = [0 for x in tabuleiro] draw.desenhaMenu()
def atualizaProgresso(): global numTentativaAtual, botaoProsseguir, botaoSalvarJogo, tentativaAtual cnv = draw.criaTopCnv("c") dicas = [] dicas = gameRules.checaResposta(tentativaAtual) draw.desenhaPinos(dicas,numTentativaAtual) botaoProsseguir.configure(state="disabled") if (False not in dicas and len(dicas) == 4): botaoSalvarJogo.configure(state="disabled") popup_window("vitoria") changeState("Fim") return salvaTentativaAtual() numTentativaAtual += 1 if (numTentativaAtual == (numCores-2) * 2): botaoSalvarJogo.configure(state = "disabled") popup_window("derrota") changeState("Fim") return tentativaAtual = [0 for x in tentativaAtual]
def clickEvent(event): global numTentativaAtual, corSelecionada cnv = draw.criaTopCnv("c") if (checkState() != "Jogo"): return cId = event.widget.find_closest(event.x, event.y) init = (numCores + 1) + (numTentativaAtual * (numCores - 2 + 1)) #(numCores+2) * numTentativaAtual if(cId[0] > 0 and cId[0] <= numCores): # corSelecionada = cnv.itemcget(cId[0], "fill") for i in range(1, numCores+1): if cnv.itemcget(i,"outline")=="gold": cnv.itemconfigure(i, outline = "black") cnv.itemconfigure(cId[0], outline = "gold") cnv.dtag(numCores, corSelecionada) cnv.addtag_withtag(retCor(cId[0]), numCores) return #Verifica se o id do objeto clicado esta na fileira correspondente a tentativa if cId[0] >= init and cId[0] <= init + numCores - 3 and corSelecionada != "gray": cnv.itemconfigure(cId[0], fill = corSelecionada) tentativaAtual[cId[0]-init] = retCor(corSelecionada) controleBotoesJogo(True, tentativaAtual) return
def keyEvent(event): cnv = draw.criaTopCnv("c") if len(event.char) == 1 and ord(event.char) == 27 and checkState() == "Jogo": for i in range(1,numCores+1): if cnv.itemcget(i,"outline") == "gold": cnv.itemconfigure(i, outline = "black") cnv.dtag(numCores + 1, cnv.gettags(numCores + 1)) cnv.addtag_withtag("gray", numCores + 1) return
def comecaJogo(esc): global numTentativaAtual, numCores, corSelecionada, tentativaAtual, senha, tabuleiro corSelecionada = "gray" cnv = draw.criaTopCnv("c") top = draw.criaTopCnv("t") numCores = gameRules.defineDificuldade(esc) tentativaAtual = [0 for x in range(0, numCores - 2)] if(checkState() != "Salvo"): senha = gameRules.geraSenha() tabuleiro = gameRules.tabuleiroVazio() numTentativaAtual = 0 draw.limpaMenu() draw.desenhaPalheta(numCores) draw.desenhaTabuleiro(tabuleiro)
def controleBotoesJogo(existe, tent): global botaoProsseguir, botaoSalvarJogo, senha, tabuleiro, numTentativaAtual cnv = draw.criaTopCnv("c") if (existe == False): botaoProsseguir = tk.Button(cnv, text='Prosseguir', font='Arial 10 bold', height=4, width=15, border=5, command=atualizaProgresso,state="disabled") botaoProsseguir.place(x=785, y=450) botaoSalvarJogo = tk.Button(cnv, text='Salvar Partida', font='Arial 10 bold', height = 4, width = 15, border=5, command=lambda: salvaJogo()) botaoSalvarJogo.place(x=785, y=350) elif (existe == True): if(0 not in tent): botaoProsseguir.configure(state= "normal")
from view import draw import tkinter as tk # André C. de Andrade - 2012498 # Laura M. da Glória Luz -2010709 # Paulo de Tarso Fernandes - 2011077 # Criação da janela principal draw.criaTopCnv(0) top = draw.criaTopCnv("t") cnv = draw.criaTopCnv("c") # Criação de um canvas na janela principal top.title('Master Mind') draw.desenhaMenu() cnv.pack() top.mainloop()