snake
diff engine.py @ 180:35a8a48c0959
merge
author | Alex Martynov |
---|---|
date | Sun, 26 Dec 2010 15:47:40 +0300 |
parents | 163fc2378113 |
children | 0cf4e42c75a1 |
line diff
1.1 --- a/engine.py Sun Dec 26 12:12:47 2010 +0300 1.2 +++ b/engine.py Sun Dec 26 15:47:40 2010 +0300 1.3 @@ -224,6 +224,17 @@ 1.4 def redraw(self): 1.5 """Clear the field Widget and redraw cells images on it""" 1.6 self.canvas.delete("all") 1.7 + offset, c = self.field_geometry_calc()[1:] 1.8 + for cell_coord in self.field: 1.9 + self.field[cell_coord].redraw(offset, c) 1.10 + return 1.11 + 1.12 + def field_geometry_calc (self): 1.13 + """Calculate grafical parameters of the field. 1.14 + Return: 1.15 + field_geometry - (width, hight) of the field 1.16 + offset - (x, y) of the left top corner of the field 1.17 + c - cell size""" 1.18 w = self.canvas.winfo_width() 1.19 h = self.canvas.winfo_height() 1.20 cw = w/float(self.field.w) 1.21 @@ -231,9 +242,7 @@ 1.22 c = min(cw, ch) 1.23 field_geometry = (self.field.w*c,self.field.h*c) 1.24 offset = ((w - field_geometry[0])/2.0, (h - field_geometry[1])/2.0) 1.25 - for cell_coord in self.field: 1.26 - self.field[cell_coord].redraw(offset, c) 1.27 - return 1.28 + return field_geometry, offset, c 1.29 1.30 def legal_moves(self, snake): 1.31 """Check for snake legal move directions according to the game rules."""