Heller 90fd0f592f fix: virtual grid-snapped tail anchor prevents corner diagonals
Body path now goes: interp_tail → grid_tail → segment[N-2] → ... → head.
The short leg from interpolated to grid-snapped tail is always straight
(same direction), and from grid_tail onward the path strictly follows
the grid — preserving sharp corners while tail stays smooth.
2026-06-19 10:27:42 +00:00
2026-06-19 10:09:12 +00:00

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
C# Snake game with CLI and Avalonia UI interfaces using .NET
Readme 48 MiB
Languages
C# 100%