Skip to content

Conversation

@harsh-parakh22
Copy link

✅ Play/Pause functionality

Added the ability to pause and resume the game by pressing p.
Improves user control and makes gameplay more flexible.

✅ Poisonous food

Introduced poisonous food that randomly spawns on the board.
Collision with poison ends the game immediately.
Adds an extra challenge and strategy to the game.

✅ Score tracking

Score increases by +10 points per food consumed.
Score is displayed during gameplay and at Game Over.
Makes progress measurable and rewarding.

✅ Improved food placement

Food now spawns only in valid positions, avoiding the snake’s body.
Prevents unfair or impossible gameplay situations.

✅ Dynamic difficulty

Game speed increases gradually as the snake grows.
Provides a more challenging experience over time.

🆕 New Feature: High Score Tracking (#6)

Keeps track of the Top 10 highest scores across play sessions.
Adds replay value by encouraging players to beat their previous best.

Enhances competitiveness and long-term engagement.

✅ Changes Made (without changing functionality/UI):

Grouped code into sections (Input, Rendering, Mechanics, Highscores, Loop).

Used const & for parameters that don’t need copying → improves efficiency.

Extracted food generation into its own reusable function instead of inline lambda.

Replaced raw if-else checks with clean early returns in get_next_head.

Improved variable names (pos, dir, etc.) for clarity.

Cleaned up loops and formatting for readability.

Ensured game loop looks structured (collisions, actions, rendering, UI).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant