dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0
Publicado por Fábio Pupo 01/01/2006
[ Hits: 7.016 ]
É 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 #############
Desenhando um quadrado em python, com funções.
Calculadora interativa simples
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Problema com som no laptop (5)
Quando vocês pararam de testar distros? (11)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









