feat: smooth snake animation + beautiful Avalonia UI overhaul

- Two-timer architecture: game timer + 60fps render timer for smooth interpolation
- Snake body: StreamGeometry path with teal gradient, rounded joins
- Directional head with white eyes and dark pupils
- Food: pulsating glow, highlight, green leaf animation
- Modern dark theme (#0D1117), glassmorphism HUD
- Speed indicator bar, score +N popup
- High score persistence to JSON
- All keyboard shortcuts: Arrows, WASD, Space/P pause, Enter start, R restart, Esc quit
- Window resizable, 640x540 default

New files: AnimationHelper.cs, HighScoreManager.cs, SnakeRenderer.cs
This commit is contained in:
Heller
2026-06-19 10:02:07 +00:00
parent 2e89c6dca3
commit 7d55a08380
9 changed files with 1027 additions and 150 deletions

View File

@@ -1,4 +1,5 @@
using Avalonia.Controls;
using Avalonia.Input;
namespace Snake.Avalonia;
@@ -7,5 +8,15 @@ public partial class MainWindow : Window
public MainWindow()
{
InitializeComponent();
// Global Escape handler to close the window
KeyDown += (_, e) =>
{
if (e.Key == Key.Escape)
{
Close();
e.Handled = true;
}
};
}
}
}