Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2011, 04:29
doble2jota
 
Fecha de Ingreso: mayo-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
De acuerdo setlabel python

hola buenas! estoy haciendo el juego de buttonmania en python usando glade, bien tengo dos clases una matriz y otra interfaz, necesito poner en una etiqueta el numero de golpes que da el jugador se como se hace.. pero no se como se cabia el valor de la etiqueta, he leido por ahi que usando setlabel pero no tengo ni idea... alguien me puede exar un cable?¿
saludos!! gracias de antemano


por si a alguien le interesa ver un cacho de codigo ;)

Código Python:
Ver original
  1. #!usr/bin/python
  2. # -*-coding utf-8-*-
  3. import gtk
  4. import random
  5. import os
  6.  
  7. class cmatriz():
  8.     def __init__ (self,filas,colum):
  9.         self.filas=filas
  10.         self.colum=colum
  11.         self.fil=[]
  12.         self.col=[]
  13.         self.golpes=0
  14.  
  15.     def inicializar(self):
  16.         self.m=[]
  17.         self.m2=[]
  18.         for i in range(0,self.filas+2):
  19.             f=[]
  20.             f2=[]
  21.             for j in range(0,self.colum+2):
  22.                 f.append(0)
  23.                 f2.append(0)
  24.             self.m.append(f)
  25.             self.m2.append(f2)
  26.         self.fil=[]
  27.         self.col=[]
  28.  
  29.     def sucesor(self,c,d):
  30.         if self.m[c][d] == 3:
  31.             self.m[c][d]=0
  32.         else:
  33.             self.m[c][d]=(self.m[c][d])+1
  34.  
  35.     def predecesor (self,c,d):
  36.         if self.m[c][d] == 0:
  37.             self.m[c][d]=3
  38.         else:
  39.             self.m[c][d]=(self.m[c][d])-1
  40.  
  41.     def generarmat(self,a,b):
  42.         self.sucesor(a,b)
  43.         self.sucesor(a-1,b)
  44.         self.sucesor(a,b-1)
  45.         self.sucesor(a+1,b)
  46.         self.sucesor(a,b+1)
  47.  
  48.     def golpearmat(self,a,b):
  49.         self.predecesor(a,b)
  50.         self.predecesor(a-1,b)
  51.         self.predecesor(a,b-1)
  52.         self.predecesor(a+1,b)
  53.         self.predecesor(a,b+1)
  54.         self.fil.append(a)
  55.         self.col.append(b)
  56.  
  57.     def nivel(self,lvl):
  58.         lvl=lvl*3
  59.         for i in range(0,lvl):
  60.             a=random.randint(1,self.filas)
  61.             b=random.randint(1,self.colum)
  62.             self.generarmat(a,b)
  63.         self.recomenzar()      
  64.         print self.m
  65.  
  66.     def deshacer(self):
  67.         if len(self.fil)>0:
  68.             self.generarmat(self.fil[-1],self.col[-1])
  69.             self.fil.pop()
  70.             self.col.pop()
  71.  
  72.     def recomenzar(self):
  73.         for i in range(0,self.filas+2):
  74.             for j in range(0,self.colum+2):
  75.                 self.m2[i][j]=self.m[i][j]
  76.  
  77.     def recomenzar1(self):
  78.         for i in range(0,self.filas+2):
  79.             for j in range(0,self.colum+2):
  80.                 self.m[i][j]=self.m2[i][j]
  81.  
  82.     def comprobar(self):
  83.         comprobar=True
  84.         for i in range(1,7):
  85.             for j in range(1,7):
  86.                 if self.m[i][j] != 0:
  87.                     comprobar= False
  88.         return comprobar
  89.  
  90.     def golpesmas(self):
  91.         if golpes >= 0:
  92.             golpes=golpes+1
  93.  
  94.     def golpesmen(self):
  95.         if golpes>=0:
  96.             golpes=golpes-1
  97.  
  98. class interfaz():
  99.     def __init__(self,matriz):
  100.         self.glade=gtk.Builder()
  101.         self.glade.add_from_file('com.glade')
  102.         self.ventana=self.glade.get_object('window1')
  103.         self.pulsadores=self.glade.get_object('table1').get_children()
  104.         self.pulsadores1=self.glade.get_object('hbox2').get_children()
  105.         self.pulsadores2=self.glade.get_object('hbox3').get_children()
  106.         for i in range(len(self.pulsadores)):
  107.             self.pulsadores[i].set_label('0')
  108.         self.glade.connect_signals(self)
  109.         self.ventana.show_all()
  110.         self.matriz=matriz
  111.     def actualizar(self):
  112.         for i in range(len(self.pulsadores)):
  113.             a=((35-i)//(6))+1
  114.             b=((35-i)%(6))+1
  115.             self.pulsadores[i].set_label(str(self.matriz.m[a][b]))
  116.  
  117.  
  118.     def on_button_clicked(self,widget):
  119.         for i in range(len(self.pulsadores)):
  120.             if self.pulsadores[i]==widget:
  121.                 a=((35-i)//(6))+1
  122.                 b=((35-i)%(6))+1
  123.                 print a,b
  124.                 self.matriz.golpearmat(a,b)            
  125.         if self.matriz.comprobar():
  126.             print'p'
  127.             self.matriz.m=[]
  128.             self.matriz.inicializar()
  129.             self.matriz.nivel(1)
  130.  
  131.         self.actualizar()
  132.                
  133.  
  134.     def on_window1_delete_event(self,widget,event):
  135.         gtk.main_quit()
  136.         print 'xao'
  137.  
  138.  
  139.     def button_clicked_cb(self,widget):
  140.         self.matriz.m=[]
  141.         self.matriz.inicializar()
  142.         self.matriz.nivel(1)
  143.         self.actualizar()
  144.    
  145.     def on_deshacer_clicked(self,widget):
  146.         self.matriz.deshacer()
  147.         self.actualizar()
  148.  
  149.     def on_recomenzar_clicked(self,widget):
  150.         self.matriz.recomenzar1()
  151.         self.actualizar()
  152.    
  153.     def nivel_clicked_cb(self,widget)
  154.         for i in range(len(self.pulsadores1)):
  155.             if self.pulsadores1[i]==widget:
  156.                 lvl=i
  157.                 print 'estas en el nivel:', lvl
  158.                 self.matriz.m=[]
  159.                 self.matriz.inicializar()
  160.                 self.matriz.nivel(lvl)
  161.                 self.actualizar()
  162.  
  163. os.system('clear')
  164. matriz=cmatriz(6,6)
  165. matriz.inicializar()
  166.  
  167. app=interfaz(matriz)
  168. matriz.nivel(1)
  169. app.actualizar()
  170.  
  171. gtk.main()

Última edición por AlvaroG; 22/05/2011 a las 12:22 Razón: coloreado de código