1. Estou tendo problemas com um 'jogo' que fiz. [RESOLVIDO]
MrReniusa Ubuntu
Post recolhido
Enviado em 22/08/2016 - 14:41h
Bom, eu desenvolvi um jogo para uma matéria da escola, PC (prática científica) de Matemática. O jogo tem o objetivo de calcular a probabilidade de tal evento ocorrer, ex: Se eu jogar uma moeda 7 vezes, sabendo que a mesma tem dois lados, qual seria a possibilidade de eu tirar cara? Logo o resultado seria: (1/(2**vezes))*100 = 0.78% de chance. Até aí tudo bem, a lógica está funcionando corretamente, porém eu escrevi uma função update() e outra desenhar(). E toda vez que eu chamo a update e desenhar, eu tenho que chamar um messagebox para que ocorra uma 'animação' (troca de imagens), se eu tirar o messagebox ele pula direto para a última imagem e fica muito seco. Alguém poderia me ajudar?
2. Re: Estou tendo problemas com um 'jogo' que fiz.
ctw6avusa Nenhuma
Post recolhido
Enviado em 22/08/2016 - 15:13h
Posso tentar mas vou precisar do arquivo constantes para um melhor resumo do programa, como ele deve ter aproximadamente 6 linhas pode ser postado aqui mesmo.
EDIT: Mas já adiantando o que percebi é que nas linhas 102/103 a variável probabilidade recebe (1 / (2 ** vezes)) * 100 e depois recebe uma função de retorno (arredondar(probabilidade)) que não existe.
----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------
4. Re: Estou tendo problemas com um 'jogo' que fiz. [RESOLVIDO]
ctw6avusa Nenhuma
Post recolhido
Enviado em 22/08/2016 - 18:58h
Bem legal o programa, parabéns cara. Se o problema era trocar a imagem de uma forma mais lenta, eu adicionei um controle alterável para você decidir a velocidade que quer que as imagens sejam trocadas ela está destacada e se chama self.speed
Eu também alterei algumas coisas tipo, nomes de funções que estavam em maiúsculo e etc, mas se não gostar é só mudar de volta os nomes.
# coding: utf-8
from tkinter import *
from random import randrange
# Criamos a tela do jogo (canvas)
self.canvas = Canvas(self.frame, bg="white", width=400, height=450)
self.canvas.pack()
# E colocamos um botão para começar o jogo
self.comecar = Button(self.framet, text="Lançar moeda!")
self.comecar.bind("<Button-1>", self.comeca_jogo)
self.comecar.focus_force()
self.comecar.pack(pady=5)
# Label para vezes
lb_vezes = Label(self.framet, text="Quantidade de vezes: ", font=('Verdana', 12, 'bold'))
lb_vezes.pack(side=LEFT)
self.entry_vezes = Entry(self.framet)
self.entry_vezes.pack(side=LEFT)
# Label para indicar a porcentagem de chance de cair tal lado
self.lb_cara = Label(self.frametw, text="Probabilidade: cara", font=('Verdana', 12, 'italic'), fg="black",
pady=10, padx=50)
self.lb_cara.pack(side=LEFT)
self.lb_coroa = Label(self.frametw, text="Probabilidade: coroa", font=('Verdana', 12, 'italic'), fg="gray",
pady=10, padx=50)
self.lb_coroa.pack(side=LEFT)
# Controlando os sprites
self.number_of_sprite = 0
self.limite = 0
# Define o jogo
self.jogando = False
# =========================================================================================#
# Controla a troca de imagens (em milisegundos)
self.speed = 500 # 1/2 segundo
# =========================================================================================#
self.sprite_sheet = []
# Carregar imagens da moeda
self.carregar_imagens()
self.novo_jogo()
self.root.mainloop()
# Função que gera as imagens da moeda
def carregar_imagens(self):
for i in range(1, 2 + 1):
self.sprite_sheet.append(PhotoImage(file="moeda{}.gif".format(i)))
----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------
5. Solução
MrReniusa Ubuntu
Post recolhido
Enviado em 22/08/2016 - 21:03h
Cara, muito obrigado pelo que tu fez. Gostei bastante das modificações :D
6. Re: Estou tendo problemas com um 'jogo' que fiz. [RESOLVIDO]
ctw6avusa Nenhuma
Post recolhido
Enviado em 23/08/2016 - 00:44h
De nada amigo! Agora é só marcar o tópico como resolvido.
----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------
7. Re: Estou tendo problemas com um 'jogo' que fiz. [RESOLVIDO]
Lisandrousa Arch Linux
Post recolhido
Enviado em 26/08/2016 - 22:22h
ctw6av escreveu:
Bem legal o programa, parabéns cara. Se o problema era trocar a imagem de uma forma mais lenta, eu adicionei um controle alterável para você decidir a velocidade que quer que as imagens sejam trocadas ela está destacada e se chama self.speed
Eu também alterei algumas coisas tipo, nomes de funções que estavam em maiúsculo e etc, mas se não gostar é só mudar de volta os nomes.
# coding: utf-8
from tkinter import *
from random import randrange
# Criamos a tela do jogo (canvas)
self.canvas = Canvas(self.frame, bg="white", width=400, height=450)
self.canvas.pack()
# E colocamos um botão para começar o jogo
self.comecar = Button(self.framet, text="Lançar moeda!")
self.comecar.bind("<Button-1>", self.comeca_jogo)
self.comecar.focus_force()
self.comecar.pack(pady=5)
# Label para vezes
lb_vezes = Label(self.framet, text="Quantidade de vezes: ", font=('Verdana', 12, 'bold'))
lb_vezes.pack(side=LEFT)
self.entry_vezes = Entry(self.framet)
self.entry_vezes.pack(side=LEFT)
# Label para indicar a porcentagem de chance de cair tal lado
self.lb_cara = Label(self.frametw, text="Probabilidade: cara", font=('Verdana', 12, 'italic'), fg="black",
pady=10, padx=50)
self.lb_cara.pack(side=LEFT)
self.lb_coroa = Label(self.frametw, text="Probabilidade: coroa", font=('Verdana', 12, 'italic'), fg="gray",
pady=10, padx=50)
self.lb_coroa.pack(side=LEFT)
# Controlando os sprites
self.number_of_sprite = 0
self.limite = 0
# Define o jogo
self.jogando = False
# =========================================================================================#
# Controla a troca de imagens (em milisegundos)
self.speed = 500 # 1/2 segundo
# =========================================================================================#
self.sprite_sheet = []
# Carregar imagens da moeda
self.carregar_imagens()
self.novo_jogo()
self.root.mainloop()
# Função que gera as imagens da moeda
def carregar_imagens(self):
for i in range(1, 2 + 1):
self.sprite_sheet.append(PhotoImage(file="moeda{}.gif".format(i)))
----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------
Ficou bem legal. Eheheh!!!
8. Re: Estou tendo problemas com um 'jogo' que fiz. [RESOLVIDO]
ctw6avusa Nenhuma
Post recolhido
Enviado em 26/08/2016 - 22:37h
Fala sério, quando o código alheio começa a ficar claro e agente se torna capaz de aperfeiçoá-lo, mesmo que o código seja pequeno é bem gratificante né.
----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------