dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0

Publicado por Fábio Pupo 01/01/2006

[ Hits: 6.662 ]

Download xdado_tkinter.tar.gz




É 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

  



Esconder código-fonte

------------------------ 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 #############


Scripts recomendados

Insertion Sort em Python

Trabalhando com expressões em python

Calcular dias de vida

Ler dois números e informa o dividendo, divisor, quociente e resto.

Calculadora bastante simples.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts