Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/snake/rev/73aed6bf1caf
Дата изменения: Unknown
Дата индексирования: Mon Oct 1 23:38:56 2012
Кодировка:
snake: 73aed6bf1caf

snake

changeset 186:73aed6bf1caf

engine.legal_moves() now return list of legal moves added UI.snake_move_check() - "passed" changed name for UI.dead_snake_check() -> UI.snake_dead_check()
author Alex Martynov
date Tue, 28 Dec 2010 16:47:32 +0300
parents 0cf4e42c75a1
children 954cc2774637
files engine.py main.py
diffstat 2 files changed, 12 insertions(+), 6 deletions(-) [+]
line diff
     1.1 --- a/engine.py	Tue Dec 28 16:36:23 2010 +0300
     1.2 +++ b/engine.py	Tue Dec 28 16:47:32 2010 +0300
     1.3 @@ -245,7 +245,9 @@
     1.4          return field_geometry, offset, c
     1.5      
     1.6      def legal_moves(self, snake):
     1.7 -        """Check for snake legal move directions according to the game rules."""
     1.8 +        """Check for snake legal move directions according to the game rules.
     1.9 +        Return:
    1.10 +        list of legal moves"""
    1.11          snake.legal_dir = []
    1.12          head = snake.cells[0]
    1.13          for direction in directions:
    1.14 @@ -253,5 +255,5 @@
    1.15              if (dir_cell.type == 'empty' or (dir_cell.type == 'tail' and dir_cell.snake != snake)):
    1.16                  snake.legal_dir.append(direction)
    1.17          rnd.shuffle(snake.legal_dir)
    1.18 -        return
    1.19 +        return snake.legal_dir
    1.20  
     2.1 --- a/main.py	Tue Dec 28 16:36:23 2010 +0300
     2.2 +++ b/main.py	Tue Dec 28 16:47:32 2010 +0300
     2.3 @@ -98,7 +98,7 @@
     2.4          if self.step_id > self.game_length:
     2.5              self.end()
     2.6              return
     2.7 -        if self.dead_snake_check() == False:
     2.8 +        if self.snake_dead_check() == False:
     2.9              return
    2.10          self.step_id = self.step_id+1
    2.11          self.engine.step()
    2.12 @@ -107,7 +107,7 @@
    2.13      
    2.14      def step (self):
    2.15          """Do the next game step"""
    2.16 -        if self.dead_snake_check() == False:
    2.17 +        if self.snake_dead_check() == False:
    2.18              return
    2.19          if self.step_id == 0:
    2.20              self.engine.psnakes = self.engine.snakes[:]
    2.21 @@ -127,7 +127,7 @@
    2.22              self.canvas.after_cancel(self.after_id)
    2.23              self.after_id = None
    2.24      
    2.25 -    def dead_snake_check(self):
    2.26 +    def snake_dead_check(self):
    2.27          """Check the number of snakes alive.
    2.28          End the game if alive snake number is less than two."""
    2.29          dead_snakes = 0
    2.30 @@ -155,7 +155,11 @@
    2.31                  elif len(snake.cells) == length:
    2.32                      winer.append(snake)    
    2.33          return winer, length
    2.34 -        
    2.35 +
    2.36 +    def snake_move_check(self):
    2.37 +        """Get possible movements of the snakes.
    2.38 +        If all anakes cant move - return False."""
    2.39 +        pass
    2.40          
    2.41      def restart(self, survived):
    2.42          """"Restarts snakes positions after the end of the game