snake
diff main.py @ 187:954cc2774637
done UI.snake_move_check() function
fixes #17
author | Alex Martynov |
---|---|
date | Tue, 28 Dec 2010 17:01:41 +0300 |
parents | 73aed6bf1caf |
children |
line diff
1.1 --- a/main.py Tue Dec 28 16:47:32 2010 +0300 1.2 +++ b/main.py Tue Dec 28 17:01:41 2010 +0300 1.3 @@ -100,6 +100,8 @@ 1.4 return 1.5 if self.snake_dead_check() == False: 1.6 return 1.7 + if self.snake_move_check() == False: 1.8 + return 1.9 self.step_id = self.step_id+1 1.10 self.engine.step() 1.11 self.after_id = self.canvas.after(self.step_length, self.run) 1.12 @@ -109,6 +111,8 @@ 1.13 """Do the next game step""" 1.14 if self.snake_dead_check() == False: 1.15 return 1.16 + if self.snake_move_check() == False: 1.17 + return 1.18 if self.step_id == 0: 1.19 self.engine.psnakes = self.engine.snakes[:] 1.20 if self.step_id <= self.game_length: 1.21 @@ -159,7 +163,16 @@ 1.22 def snake_move_check(self): 1.23 """Get possible movements of the snakes. 1.24 If all anakes cant move - return False.""" 1.25 - pass 1.26 + total_moves = 0 1.27 + for snake in self.engine.snakes: 1.28 + if snake != None: 1.29 + legal_moves = self.engine.legal_moves(snake) 1.30 + for move in legal_moves: 1.31 + total_moves = total_moves+1 1.32 + if total_moves == 0: 1.33 + self.end() 1.34 + return False 1.35 + 1.36 1.37 def restart(self, survived): 1.38 """"Restarts snakes positions after the end of the game