Heller 4446bd778f fix: interpolate only head, pin all other segments to grid
Tail interpolation caused diagonal shortcuts at corners because
the interpolated tail position would drift while the adjacent
segment was already at its new grid position. By keeping only
the head interpolated, L-shaped bends render correctly.
2026-06-19 10:14:51 +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%