Hi Alberto,
The issue you're seeing is in the intialize() code:
######
def initialize(self):
self.buttonmatrix=[]
self.statematrix=[]
self.bombmatrix=[]
for i in range(self.fil):
aux=[]
for j in range(self.col):
aux.append(None)
self.buttonmatrix.append(aux)
self.bombmatrix.append(aux)
self.statematrix.append(aux)
self.bombs()
######
In particular, it's the reuse of the same list value who we will call
'aux'.
Let's try something from the interpreter to show a simplified version of
the problem:
######
>>> aux = []
>>> x = [aux, aux, aux]
>>> aux.append(42)
>>> aux
[42]
>>> x
[[42], [42], [42]]
######
The last result might be surprising to you. Things might be clearer if we
draw a diagram of what Python's universe looks like at this point:
---------------------------
aux --------->[42] <
^^ \
| \ \
| | |
x ---------> [ , , ]
----------------------------
My ascii art is terrible. *grin* But I hope it's a little clearer now
that what's happening is that the list's values are all to the same thing.
Does this make sense so far? Please feel free to ask more questions.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor