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%