dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0
Publicado por Fábio Pupo 01/01/2006
[ Hits: 6.934 ]
É o dado que postei anteriormente só que agora usando Tkinter. Vale a pena dar uma olhada para quem quer usar esse módulo em python. Está funcionando para jogar o dado e dá para ver a soma mas ainda não terminei tudo falta configurar os menus e tem um espaco na telinha que queria colocar um desenho de um dado !! quem quiser se divertir ta aeh.
[]'s
------------------------ xdado.py
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
# contato: fooues@gmail.com - Fábio Pupo
#
# Além desse arquivo, tem també o d6.py que é o
# dado-6-faces.py, que já havia postado no site, com
# algumas alteracões.
from Tkinter import *
import d6
class MainApp:
def __init__(self, parent):
parent.geometry("230x150")
parent.title("XDado -- 0.1")
# Main Frame
""" Constante do Frame"""
f_padx = "3m"
f_pady = "2m"
f_ipadx = "3m"
f_ipady = "1m"
""" ------------------------- """
self.frm = Frame(parent, borderwidth = 6, height = 45, width = 108)#, bg = "red")
self.frm.grid(row = 0, column = 0)
# Menu Bar
menu = Menu(parent)
parent.config(menu = menu)
filemenu = Menu(menu)
menu.add_cascade(label = "File", menu = filemenu)
filemenu.add_command(label = "New", command = ' ' )
filemenu.add_command(label = "Exit", command = parent.quit)
helpmenu = Menu(menu)
menu.add_cascade(label = "Help", menu = helpmenu)
helpmenu.add_command(label = "Info", command = self.run_info)
# Buttons
""" Constante dos buttons """
b_width = 10
b_padx = "2m"
b_pady = "1m"
""" ----------------------------- """
self.btn_d6 = Button(self.frm, text = "Rolar", command = self.btn_d6_click)
self.btn_d6.configure(width = b_width, padx = b_padx, pady = b_pady)
self.btn_d6.focus_force()
self.btn_d6.pack()#grid(row = 1, column = 0)
self.btn_exit = Button(self.frm, text = "Sair", command = parent.quit)
self.btn_exit.configure(width = b_width, padx = b_padx, pady = b_pady)
self.btn_exit.pack()#grid(row = 2, column = 0)
# Frames
self.frm_txt = Frame(parent, borderwidth = 6, height = 32, width = 100)#, bg = "blue")
self.frm_txt.grid(row = 1, column = 0)
self.frm_block = Frame(parent, borderwidth = 6, height = 90, width = 78)#, bg = "yellow")
self.frm_block.grid(row = 0, column = 1)
# TextBoxes
self.txt_name = Entry(self.frm, width = 11)
self.txt_name.pack()#grid(row = 0, column = 0)
self.pic = Canvas(self.frm_block, height = 78, width = 78)
self.pic.pack()
def btn_d6_click(self):
if (self.txt_name.get() == "" or self.txt_name.get() == '0'):
self.x = 0
print 'Insira algum valor maior que zero na caixa de texto!!!'
else:
self.x = int(self.txt_name.get())
self.ver= d6.dado(self.x)
self.frm.lbl_ver = Label(self.frm_txt, text = "Total: %s" % str(self.ver))#"Total: " + str(self.ver))
self.frm.lbl_ver.grid(row = 3, column = 0)
def run_info(self):
self.frm_info = Toplevel()
self.lbl_phone = Entry(self.frm_info, text = "ahuehuaheuhe")
self.lbl_phone.pack()
root = Tk()
mainapp = MainApp(root)
root.mainloop()
------------------------------------------------------------
-------------------------------- d6.py ------------------------
"""#!/usr/bin/python"""
############### -- Dado 6 faces V0.1 -- ##########################
# Rolador de dados de 6 faces para RPG ou qualquer outro jogo (criei pensando em GURPS) #
# a pessoa informa a quantidade de dados de 6 lados que deseja jogar, #
# ele rola os dados e informa/retorna a soma total dos resultados #
# criado por >>>> be-e fapodrigues@gmail.com <<< duvidas, sugestoes, criticas # #######################################################
import random
import os
def dado (number):
fvalue = 0
os.system('clear')
for qts in range(0,number):
value = random.randint(1,6)
fvalue = fvalue + value
print value
return fvalue
#### não uso essa parte para esse programa ... mas tá aeh tbém
def jogar():
global y
y = 0
try:
x = input ('Quantos dados deseja jogar? ')
except: x = 0
y = dado(x)
print 'A soma foi de >>> %d' % (y)
#jogar()
########## THAT'S ALL FOLKS #############
Aprendendo a fazer equações em Python
Controle Remoto a Area de Trabalho
Estrutura de repetição for e while (Com tratamento de erros)
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









