snake
changeset 90:5d7d9c19b6c2
engine.legal_moves added random shuffle + engine.move_do() added
author | Alex Martynov |
---|---|
date | Mon, 20 Dec 2010 01:49:55 +0300 |
parents | 8710bd47d223 |
children | e30120142560 |
files | engine.py |
diffstat | 1 files changed, 13 insertions(+), 17 deletions(-) [+] |
line diff
1.1 --- a/engine.py Mon Dec 20 01:39:38 2010 +0300 1.2 +++ b/engine.py Mon Dec 20 01:49:55 2010 +0300 1.3 @@ -96,28 +96,24 @@ 1.4 pass 1.5 else: 1.6 dir_cell = self.field[snake.cells[0].y + applied_dir[0], snake.cells[0].x + applied_dir[1]] 1.7 - if dir_cell.type == 'empty': 1.8 - snake.cells.insert(0,dir_cell) 1.9 - del snake.cells[-1] 1.10 - pass 1.11 - elif (dir_cell.type == 'tail' and dir_cell.snake != snake): 1.12 - snake.cells.insert(0,dir_cell) 1.13 - del dir_cell.snake.cells[-1] 1.14 - pass 1.15 + self.move_do() 1.16 break 1.17 if applied_dir == None: 1.18 applied_dir = snake.legal_dir[int(rnd.random()*len(snake.legal_dir))] 1.19 dir_cell = self.field[snake.cells[0].y + applied_dir[0], snake.cells[0].x + applied_dir[1]] 1.20 - if dir_cell.type == 'empty': 1.21 - snake.cells.insert(0,dir_cell) 1.22 - del snake.cells[-1] 1.23 - pass 1.24 - elif (dir_cell.type == 'tail' and dir_cell.snake != snake): 1.25 - snake.cells.insert(0,dir_cell) 1.26 - del dir_cell.snake.cells[-1] 1.27 - pass 1.28 + self.move_do() 1.29 pass 1.30 return 1.31 + def move_do(self, snake, dir_cell): 1.32 + if dir_cell.type == 'empty': 1.33 + snake.cells.insert(0,dir_cell) 1.34 + del snake.cells[-1] 1.35 + pass 1.36 + elif (dir_cell.type == 'tail' and dir_cell.snake != snake): 1.37 + snake.cells.insert(0,dir_cell) 1.38 + del dir_cell.snake.cells[-1] 1.39 + pass 1.40 + 1.41 def create_snake(self, snake_number): 1.42 cells_id = [] 1.43 for y in range(10): 1.44 @@ -159,6 +155,6 @@ 1.45 dir_cell = self.field[snake.cells[0].y + direction[0], snake.cells[0].x + direction[1]] 1.46 if (dir_cell.type == 'empty' or (dir_cell.type == 'tail' and dir_cell.snake != snake)): 1.47 snake.legal_dir.append(direction) 1.48 - return 1.49 + rnd.shuffle(snake.legal_dir) 1.50 return 1.51