Python - Ayuda con variable

 
Vista:

Ayuda con variable

Publicado por Juan Rios (2 intervenciones) el 05/06/2007 08:01:08
Hola a todos... la verdad no sé mucho de como programar en Python, pero tuve que aprender para hacer mi tesis.

Sucede que estamos desarrollando el juego de la brisca, pero tengo un error que no he podido solucionar... y que me tiene un poco angustiado...

Les dejo el código para ver si alguien se anima a ayudarme:

class Main_PyBrisca(wx.Frame):
def __init__(self, *args, **kwds):
...
# end wxGlade

self.Bind(wx.EVT_TIMER, self.OnTimer)

self.Se_Puede = 0
self.Mano_en_Juego = 0
self.texto1, self.texto2, self.texto3, self.texto4, self.texto5 = "", "", "", "", ""
self.texto6, self.texto7, self.texto8, self.texto9, self.texto10 = "", "", "", "", ""
self.timer = wx.Timer(self, -1)
self.timer.SetOwner(self)

def __set_properties(self):
# begin wxGlade: Main_PyBrisca.__set_properties
# end wxGlade

def OnTimer(self,event):
if self.Se_Puede == 1:
pass
else:
c_carta = self.Cpu.Responder(1,self.Cartas_Jugadas,j_carta,self.triunfo)
txt = c_carta.numero + ' de ' + c_carta.palo + '.JPG'
self.Respuesta_Carta.SetBitmap(wx.Bitmap("./cartas/" + txt, wx.BITMAP_TYPE_JPEG))
self.Cartas_Jugadas.AnadirCartaFin(c_carta)
self.Jugadas_Cpu.AnadirCartaFin(c_carta)
print c_carta.numero + ' de ' + c_carta.palo
self.Se_Puede = 1

def OnLeftClick(self, event):
Objeto = event.GetEventObject()
self.Carta_a_Jugar = Objeto.GetId()
if self.Carta_a_Jugar == 101 and Objeto.GetBitmap() != wx.NullBitmap and self.Se_Puede == 1:
self.Salida_Carta.SetBitmap(self.Jug_Carta_1.GetBitmap())
if self.Mano_en_Juego == 1:
j_carta = self.Jug.VerCarta_(1,self.texto1)
self.Cartas_Jugadas.AnadirCartaFin(j_carta)
self.Jugadas_Jug.AnadirCartaFin(j_carta)
elif self.Mano_en_Juego == 2:
j_carta = self.Jug.VerCarta_(2,self.texto1)
self.Cartas_Jugadas.AnadirCartaFin(j_carta)
self.Jugadas_Jug.AnadirCartaFin(j_carta)
self.Jug_Carta_1.SetBitmap(wx.NullBitmap)
self.Se_Puede = 0

def __do_layout(self):
# begin wxGlade: Main_PyBrisca.__do_layout
# end wxGlade

def ComenzarJuego(self):
"Definimos los Jugadores de Juego, Humano y CPU"
self.Jug = Jugador1()
self.Cpu = JugadorPC()
self.Cartas_Jugadas = TMazo()
self.Jugadas_Jug = TMazo()
self.Jugadas_Cpu = TMazo()
self.Rec_Jug = TMazo()
self.Rec_Cpu = TMazo()

Ptos_Jug = 0
Ptos_Cpu = 0

self.Jug.Repartir('1') #Que reparta al Humano Primero
self.Cpu.Repartir('1')
self.turno = 'Jug'
self.carta_triunfo = self.Cpu.VerCarta(2,-1)
self.triunfo = self.carta_triunfo.palo

self.Se_Puede = 1
self.timer.Start(3000)

# end of class Main_PyBrisca

class IPLAPyBrisca(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
frm_Main = Main_PyBrisca(None, -1, "")
self.SetTopWindow(frm_Main)
frm_Main.Show()
return 1

# end of class IPLAPyBrisca

if __name__ == "__main__":
Baraja = TBarEspanola()
Baraja.CrearBaraja()
Baraja.BarajarCartas()
IPLA_PyBrisca = IPLAPyBrisca()
IPLA_PyBrisca.MainLoop()

Cada vez que el Evento del Timer "OnTimer" se ejecuta, me da el siguiente error:

Traceback (most recent call last):
File "C:\Documents and Settings\MetalTux\Mis documentos\Ipla_PyBrisca\Ipla_Py_Brisca_2.py", line 818, in OnTimer
c_carta = self.Cpu.Responder(1,self.Cartas_Jugadas,j_carta,self.triunfo)
NameError: global name 'j_carta' is not defined

Qué puedo hacer??? como lo puedo arreglar???

Por favor necesito de vuestra ayuda, pues debo tener el programa listo para este Miércoles...

Saludos y gracias de antemano...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con variable

Publicado por tronxx (1 intervención) el 11/06/2007 04:23:39
Hola, pues no has posteado la estructura de Cartas_jugadas, sin embargo, leyendo el mensaje :

c_carta = self.Cpu.Responder(1,self.Cartas_Jugadas,j_carta,self.triunfo)

se puede apreciar que te falta un punto para definir el atributo j_carta que debe ser parte de Cartas_jugadas, yo diria que tu sintaxis debe ser:

c_carta = self.Cpu.Responder(1,self.Cartas_Jugadas.,j_carta,self.triunfo)

Ves el punto de Cartas_jugadas.j_carta ?

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con variable

Publicado por Juan Rios (2 intervenciones) el 12/06/2007 23:10:05
No era ese mi problema, pero igual gracias por tu ayuda...

Ya lo solucioné, y era algo sin sentido que no había visto...

Muchas gracias de todas maneras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar