Skip to content

Commit 99ff79e

Browse files
authored
Merge pull request #3 from procaconsul/game-over-frame
Game over frame
2 parents e58904a + 7cf772b commit 99ff79e

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

main.py

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ def increment_score():
4747
score_var.set(f"Score: {score}")
4848

4949
def render_point(point, color):
50-
coord_x, coord_y = point.x * TILE_WIDTH, point.y * TILE_WIDTH
51-
canvas.create_rectangle(coord_x, coord_y,
52-
coord_x + TILE_WIDTH,
53-
coord_y + TILE_WIDTH,
54-
fill=color,
55-
outline='white')
50+
coord_x, coord_y = point.x * TILE_WIDTH, point.y * TILE_WIDTH
51+
canvas.create_rectangle(coord_x, coord_y,
52+
coord_x + TILE_WIDTH,
53+
coord_y + TILE_WIDTH,
54+
fill=color,
55+
outline='white')
5656

5757
def render_food(food):
5858
render_point(food, 'red')
5959

6060
def render_snake(snake):
6161
render_point(snake[-1], 'blue')
62-
for point in snake[:-1]:
62+
for point in snake.tail:
6363
render_point(point, 'black')
6464

6565
def game_loop():
@@ -72,16 +72,21 @@ def game_loop():
7272
else:
7373
snake.move()
7474

75-
if snake[-1] in snake[:-1]:
76-
canvas.create_text(SCREEN_WIDTH/2, SCREEN_WIDTH/2,
77-
fill='black',font='courier 80 bold',
78-
text=GAME_OVER_MSG)
75+
if snake[-1] in snake.tail:
76+
text = canvas.create_text(SCREEN_WIDTH/2, SCREEN_WIDTH/2,
77+
fill='black',font='courier 80 bold',
78+
text=GAME_OVER_MSG)
79+
text_frame = canvas.create_rectangle(canvas.bbox(text),
80+
fill='white',
81+
outline='white')
82+
canvas.tag_lower(text_frame, text)
83+
7984
else:
80-
canvas.delete('all')
81-
render_food(food)
82-
render_snake(snake)
83-
frame_updated = False
84-
root.after(FRAME_RATE, game_loop)
85+
canvas.delete('all')
86+
render_food(food)
87+
render_snake(snake)
88+
frame_updated = False
89+
root.after(FRAME_RATE, game_loop)
8590

8691
def change_direction(event):
8792
global frame_updated

snake.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ def move(self, grow=False):
3232
d_x, d_y = DIRECTION_VECTOR[self.direction]
3333
self.body.append(Point((x + d_x) % self.env_width,
3434
(y + d_y) % self.env_width))
35+
36+
37+
@property
38+
def tail(self):
39+
return self[:-1]

0 commit comments

Comments
 (0)