7d55a08380f07cda8eddf1b8e3348eb1d20f0578
- 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
Snake (C#)
Классическая игра «Змейка» на .NET 8 с разделением логики и интерфейсов.
Структура решения
| Проект | Назначение |
|---|---|
Snake.Core |
Игровая логика: поле, змейка, еда, движение, коллизии |
Snake.CLI |
Консольный интерфейс |
Snake.Avalonia |
Графический интерфейс (Avalonia UI) |
Требования
Запуск
# Консольная версия
dotnet run --project Snake.CLI
# Avalonia UI (требуется графическая среда)
dotnet run --project Snake.Avalonia
Git Flow
Проект использует Git Flow:
| Ветка | Назначение |
|---|---|
main |
Стабильные релизы |
develop |
Интеграционная ветка для текущей разработки |
feature/* |
Новые функции (ветвление от develop) |
release/* |
Подготовка релиза (ветвление от develop) |
hotfix/* |
Срочные исправления в production (ветвление от main) |
Типичный workflow
# Начать новую функцию
git checkout develop
git checkout -b feature/my-feature
# Завершить функцию
git checkout develop
git merge --no-ff feature/my-feature
git branch -d feature/my-feature
# Релиз
git checkout -b release/1.0.0 develop
# ... финальные правки, тег версии ...
git checkout main
git merge --no-ff release/1.0.0
git tag -a v1.0.0
git checkout develop
git merge --no-ff release/1.0.0
Игровая логика (Snake.Core)
Board— размеры поля и проверка границSnake— сегменты тела, направление, движениеFood— случайное размещение еды на свободных клеткахSnakeGame— игровой цикл, счёт, коллизии со стенами и собой
Description
Languages
C#
100%