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 - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor