c1b9543c4719a6d386b03c73e0bce4d55e998f60
Tail now uses the same approach as head: interpolated in the body path from its previous position, with ease-in (mirror of head's ease-out). Ghost circle removed — no longer needed since tail is naturally smooth. Added EaseInCubic to AnimationHelper. InterpolatePosition now uses string easing mode instead of bool.
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%