~snakes-game/snakes-game/pkg

« back to all changes in this revision

Viewing changes to snakes

  • Committer: Josh Brown
  • Date: 2010-09-05 18:38:02 UTC
  • Revision ID: joshbrown15@gmail.com-20100905183802-awtcpdozpn6zcsm0
Revert commit #13 - removing `game` variable was a bad idea

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 
7
7
GAME_OVER_MESSAGE="Game over. Press 'q' to quit."
8
8
FOOD_AMOUNT=5
 
9
game = True
9
10
UP=(-1,0)
10
11
RIGHT=(0,1)
11
12
DOWN=(1,0)
12
13
LEFT=(0,-1)
13
14
 
14
15
def game_over(screen):
 
16
    global game
 
17
    game = False
15
18
    (screen_height, screen_width) = screen.getmaxyx()
16
19
    x_padding = ( (screen_width-len(GAME_OVER_MESSAGE)) / 2 )
17
20
    y_padding = screen_height / 2
29
32
    def update(self, position):
30
33
        self.old_pos = tuple(self.pos)
31
34
        self.pos = position
 
35
        if not game: return
32
36
        self._draw()
33
37
 
34
38
    def _draw(self):
69
73
 
70
74
        if self.pos[1] > screen_width-1 or self.pos[1] < 0 \
71
75
            or self.pos[0] > screen_height-1 or self.pos[0] < 0:
72
 
                self.pos = self.old_pos
73
76
                game_over(self.screen)
74
77
 
75
78
        for i in range(1, len(self.body)):
108
111
    while True:
109
112
        char = screen.getch()
110
113
        if char == 113: exit()  # q
111
 
        elif char == curses.KEY_RIGHT: snake.update(RIGHT)
112
 
        elif char == curses.KEY_LEFT: snake.update(LEFT)
113
 
        elif char == curses.KEY_UP: snake.update(UP)
114
 
        elif char == curses.KEY_DOWN: snake.update(DOWN)
115
 
        else: snake.update(None)
 
114
        elif game == True:
 
115
            if char == curses.KEY_RIGHT: snake.update(RIGHT)
 
116
            elif char == curses.KEY_LEFT: snake.update(LEFT)
 
117
            elif char == curses.KEY_UP: snake.update(UP)
 
118
            elif char == curses.KEY_DOWN: snake.update(DOWN)
 
119
            else: snake.update(None)
116
120
        for food in foods:
117
121
            if food.pos == snake.pos:
118
122
                snake.grow()