Depois de um final de semana complicado e acamado, voltei a escrever na segunda-feira os melhoramentos do DiceDnd. Pretendia melhorar o visual, habilitar o modo fullscreen e ainda fazer um pacote debian para distribuir o programa. Devido às dificuldades encontradas, fiquei somente no melhoramento visual. Pois bem, tirei umas fotos do aplicativo funcionando (não descobri uma função print screen no N800) e ainda estou disponibilizando uma nova versão abaixo.
Vou ficar devendo o fullscreen e o pacote.


fonte do dicednd.py (atualizado)
#!/usr/bin/python2.5
import osso
import gtk
import hildon
def labela(texto):
fonte = '%s'
etiqueta = gtk.Label(fonte % texto)
etiqueta.set_use_markup(True)
return etiqueta
def string_jogada(vezes, dado, soma):
if soma > 0:
sinal = '+'
elif soma == 0:
sinal = ''
else:
sinal = '-'
return '%dd%d%s%s' % (vezes, dado, sinal, abs(soma) or '')
class DiceDnD(hildon.Program):
def __init__(self):
self.dado_atual = 0
self.vezes = 0
self.soma = 0
hildon.Program.__init__(self)
self.window = hildon.Window()
self.window.set_title('DiceDnd')
self.window.set_border_width(40)
self.window.connect("destroy", self.quit)
self.add_window(self.window)
tabela = gtk.Table(5,4,False)
self.window.add(tabela)
self.dado4 = gtk.Button()
self.dado4.add(labela('4'))
self.dado6 = gtk.Button()
self.dado6.add(labela('6'))
self.dado8 = gtk.Button()
self.dado8.add(labela('8'))
self.dado10 = gtk.Button()
self.dado10.add(labela('10'))
self.dado12 = gtk.Button()
self.dado12.add(labela('12'))
self.dado20 = gtk.Button()
self.dado20.add(labela('20'))
self.botaoMais = gtk.Button()
self.botaoMais.add(labela('+'))
self.botaoMenos = gtk.Button()
self.botaoMenos.add(labela('-'))
self.botaoJogar = gtk.Button()
self.botaoJogar.add(labela('Jogar'))
self.frame = gtk.Frame()
self.montagem = gtk.Label('Jogada')
self.frame.add(self.montagem)
tabela.attach(self.dado4,0,1,0,1)
tabela.attach(self.dado6,1,2,0,1)
tabela.attach(self.dado8,2,3,0,1)
tabela.attach(self.dado10,0,1,1,2)
tabela.attach(self.dado12,1,2,1,2)
tabela.attach(self.dado20,2,3,1,2)
tabela.attach(self.botaoMais,0,1,2,3)
tabela.attach(self.botaoJogar,1,2,2,3)
tabela.attach(self.botaoMenos,2,3,2,3)
tabela.attach(self.frame,0, 3, 3, 4)
self.dado4.connect('clicked',self.preparar,4)
self.dado6.connect('clicked',self.preparar,6)
self.dado8.connect('clicked',self.preparar,8)
self.dado10.connect('clicked',self.preparar,10)
self.dado12.connect('clicked',self.preparar,12)
self.dado20.connect('clicked',self.preparar,20)
self.botaoMais.connect('clicked',self.incrementar,1)
self.botaoMenos.connect('clicked',self.incrementar,-1)
self.botaoJogar.connect('clicked',self.mostrar)
self.window.show_all()
def mostrar(self, button):
if self.dado_atual == 0:
return
import random
total = 0
for i in range(self.vezes):
total += random.randint(1,self.dado_atual)
total = total + self.soma
jogada = string_jogada(self.vezes, self.dado_atual, self.soma)
self.show_message('%s' % total)
def preparar(self, button,valor):
if valor self.dado_atual:
self.dado_atual = valor
self.vezes = 1
self.soma = 0
else:
self.vezes += 1
self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))
def incrementar(self, button,valor):
self.soma = self.soma + valor
self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))
def show_message(self, message):
dlg = hildon.Note('information', (self.window, message))
dlg.run()
dlg.destroy()
#pango_markup = '%s\n%s' % ('DiceDnD', message)
#hildon.hildon_banner_show_information_with_markup(gtk.Label(''), None, pango_markup)
def quit(self, evt):
gtk.main_quit()
def run(self):
gtk.main()
def main():
prog = DiceDnD()
prog.run()
if __name__ == "__main__":
main()
Este artigo tinha de estar no Kodumaro! =P
Muito bom!
[]’s
Cacilhas, La Batalema
Impressão minha ou o Mosaico está as moscas?
Acontece às vezes… Muito trabalho e pouca diversão fazem do Torcato um sujeito mau. =D
[]’s
Cacilhas, La Batalema
Senhores, realmente este lugar está às moscas. No entanto, não vou abandonar o blog. Resta-me coisas interessantes para escrever. Se eu for escrever agora, vou tratar só de política e não quero isso. Agradeço a preocupação, e sim, sou um cara mau!
Hehehehehe
As Reflexões de Monte Gasppa e Giulia C. volta e meia também viram um blog político. =)
Ficamos então no aguardo pela melhora de sua atual condição tendenciosamente política (não politicamente tendenciosa! Não confundam Altemar Dutra com truta em alto mar).
[]’s
Cacilhas, La Batalema