dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0
Publicado por Fábio Pupo 01/01/2006
[ Hits: 6.967 ]
É 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 #############
Horá do descanso! Uma peque aplicação que fiz usando pygtk
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6









