dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0
Publicado por Fábio Pupo 01/01/2006
[ Hits: 7.024 ]
É 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 #############
Nenhum comentário foi encontrado.
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Servidor vs Computador Convencional
Como administrar uma rede Linux através da ferramenta Webmin
Como escanear portas de um servidor através da ferramenta Nmap e como alterar a porta do SSH.
Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados
Internet não funciona corretamente no Linux (4)
Após todos esses anos... youtube! (5)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)









