Edit
As requested....
Calculation of neighbor_mines
# if not a mine, figure out how many surround it
for i in xrange(10):
for j in xrange(10):
if (mines[i][j].is_mine == False):
#check top 3
if (i > 0):
if (j > 0):
if (mines[i-1][j-1].is_mine == True):
mines[i][j].neighbor_mines += 1
if (mines[i-1][j].is_mine == True):
mines[i][j].neighbor_mines += 1
if (j < 9):
if (mines[i-1][j+1].is_mine == True):
mines[i][j].neighbor_mines += 1
#check left and right
if (j > 0):
if (mines[i][j-1].is_mine == True):
mines[i][j].neighbor_mines += 1
if (j < 9):
if (mines[i][j+1].is_mine == True):
mines[i][j].neighbor_mines += 1
#check bottom 3
if (i < 9):
if (j > 0):
if (mines[i+1][j-1].is_mine == True):
mines[i][j].neighbor_mines += 1
if (mines[i+1][j].is_mine == True):
mines[i][j].neighbor_mines += 1
if (j < 9):
if (mines[i+1][j+1].is_mine == True):
mines[i][j].neighbor_mines += 1
Switch_state
def switch_state(self, newstate):
self.state = newstate
#marked as mine
if (newstate == 1):
nf = "sq_mine_marked.png"
elif (newstate == 2):
nf = "sq_mine_question.png"
elif (newstate == 3):
nf = "sq_mine_open.png"
elif (newstate == 4):
nf = "sq_mine_mine.png"
else:
nf = "sq_mine.png"
oldrect = self.rect #save old rect as load_image overwrites it
self.image, self.rect = load_image(nf, (255,0,255))
self.rect = oldrect