Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Handling Collisions | Snake Game
Building a Classic Snake Game

book
Handling Collisions

Calling game over

We did all the hard work before when created is_body_collision() method, so now we just have to use it. First of all let's ensure that there is a game_over() when the snake head collides with its body.

py
if is_collision(game.snake):
game_over(game)

Collision with fruit

Let's consider what should occur when the snake's head collides with a fruit. Naturally, when this happens, the fruit needs to appear in a different location, and the snake's length should increase. This concept is straightforward to understand and also implement:

py
if is_collision(game.snake, game.fruit.position):
spawn(game.fruit, game.snake.positions)
add_length(game.snake)

The code snippet above detects if the snake collides with a fruit. Upon collision, the fruit moves to a new position, the snake grows longer.

Oppgave

Swipe to start coding

  • Add and implement handle_collision method.
    • Add collision detection for Game Over.
    • Add collision detection with Fruit.

Løsning

def handle_collisions(game):
if is_collision(game.snake):
game_over(game)

if is_collision(game.snake, game.fruit.position):
spawn(game.fruit, game.snake.positions)
add_length(game.snake)

Mark tasks as Completed
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 10

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

We use cookies to make your experience better!
some-alt