Как мне организовать несколько статических объектов с похожими методами? - PullRequest
0 голосов
/ 28 января 2019

Я делаю игру на основе плиток на C # и решил, что типы треков должны быть написаны как статические классы (на мой взгляд, каждый «прямой» трек должен демонстрировать такое же поведение, как и каждый"LargeTurnLeft", "SmallTurnRight" и т. Д.)

Поезд следует по пути, передав переменную "w" в любой вид пути, по которому он движется в настоящее время.Каждый тип трека имеет функцию trackLogic, которая возвращает разные (X, Y) координаты в зависимости от формы трека.«trackLogic» всегда доступен для каждого типа дорожки, но функция отличается от типа к типу (иногда она возвращает прямую линию, иногда кривую, может быть петля).

На мой взглядлучший способ организовать это - иметь статическую виртуальную «дорожку» с функциями, которые переопределяются с помощью конкретных методов для каждого типа дорожки («LargeTurnRight.trackLogic» и т. д.).Это облегчит создание новых типов треков.Но, как я уверен, вы все уже знаете, статических виртуальных классов в C # не существует.

Поскольку эта игра в конечном итоге будет включать в себя тысячи и тысячи треков, я не хочу, чтобыкаждый.Но для нескольких типов дорожек, имеющих одинаковую структуру функций, они также не могут быть статичными.

Если я выберу отдельные классы, добавлю переключатели в исходный класс "Track" для каждого типа и обновлюфункция с каждой новой частью, или есть более элегантный способ организовать несколько функций с одним и тем же именем метода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...