Use a rendering pipeline:
Implement a clear rendering pipeline that separates different stages of rendering (e.g., background, game objects, UI). This would improve code organization and make it easier to add new visual elements.
Implement a Theme system:
Move visual styles (colors, sizes, etc.) to a separate Theme object. This would make it easier to change the game's appearance and potentially support multiple themes.
Use object-oriented principles for game entities:
Implement a draw method for each game entity (Snake, Pellet, etc.). This would reduce coupling between the renderer and game objects.