Задать вопрос
@Maxwell012

Как лучше сделать перемещение объекта (Forms, c#)?

Мне надо сделать игру. Поле 7*7 на котором находятся 2 персонажа, которые по очереди кидают кубик и ходят по спирали, суть игры кто быстрее дойдет до центра.
Так будет понятнее:
629ff8150fe8f592845428.png

Проблема с перемещением, мне надо что бы "игроки" двигались по спирали, я начал создавать циклы и условия которые контролируют координаты "игроков", но столкнулся с многими проблемами и начал понимать насколько будет массивный код, я пытался найти решение моей проблемы, но я не имею представления даже как загуглить. В с# первый день, может быть есть какой то объект с которым можно проще работать или какой-то более рациональный выход.
  • Вопрос задан
  • 362 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
yarosroman
@yarosroman Куратор тега C#
C# the best
1. Массив 7х7, для каждого, ходим помечая посещенные клетки, проверяем перед ходом, выход за пределы или занятость, и меняем направление
2. делаем одномерный массив координат спирали, и проходим по ней, сразу зная какие будут координаты.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Popou
@Popou
Программист энтузиаст , обожаю саморефлексию
Нууу.... есть один способ, но он мне нравиться, так как он выглядит больше как спортивный стиль нежели ооп : https://habr.com/ru/post/560266/

Однако если использовать ООП, то можно создать минимум два класса:
  1. Первый класс Map, что в конструкторе принимает ширину и высоту поле, имеет свойства Players и Winner, а так же метод AddPlayer.
  2. Класс Player, имеет свойства Position, а также метод Move

Я сторонник идеи что логика должна быть максимально отделена от View, ну и в голову не приходят более элегантного решение, хотя может кто-нибудь другой подскажет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы