2015-09-26 3 views
0

Привет, я должен использовать шаблон стратегии, чтобы написать код этой игры. Я создаю класс Country и Character Interface. Но я немного смущен, я не знаю, где я должен добавлять способности?Шаблон стратегии для игры

Игрок должен выбрать страну для своей страны, которая может быть: Latveria, Ecotopia, Dinotopia. После выбора страны игрок должен назначить класс для своего персонажа, выбрав один из следующих вариантов: Король, Королева, Тролль и Рыцарь. В зависимости от своего класса персонаж может иметь разные способности: Рыцарь может обрабатывать любой вид оружия, который включает в себя стрелы, стрелы, мечи, ножи и топоры. Король не использует никакого оружия, он может сделать стратегию. Королева использует специальную магию. Тролль использует Ножи и Оси. Все типы персонажей могут сражаться, используя свои особые способности. Кроме того, все могут кататься на лошадях и плавать.

+0

какой-то пакет UML был бы хорош для разработки такого рода вещи – Rob85

+0

я создал один. Поскольку я не могу загрузить здесь, я загрузил его на imgur: http://imgur.com/KR7GDlx – dummy

ответ

0

Посмотрев на диаграмму, которую вы дали, я сделаю это по-другому. Во-первых, вам не нужен класс Country, а просто укажите его как список, и ваш класс Character имеет свойство Country, которое получает значение из этого списка в зависимости от того, что выбрал пользователь.

Создайте класс символов, который содержит все методы и свойства, которые являются одинаковыми для любого символа.

Теперь создайте четыре разных типа символов как классы, содержащие все атрибуты относительно этого типа, эти четыре класса наследуют от класса Character.

Когда пользователь создает новый символ, вы создаете новый экземпляр CharacterType и передаете конструктору тип страны и класса, а затем приступаете к созданию типа символа в соответствии с данными, указанными далее, затем продолжайте устанавливать символ по мере необходимости.

Что-то, как это должно работать нормально

+0

вместо символьного интерфейса. Я должен создать интерфейс способностей. Правильно ли я понял? – dummy

+0

нет способностей, которые я бы поместил в отдельные классы типов символов, такие как королева и король и т. Д. Способности будут атрибутами для каждого типа символа. Таким образом, на вашей диаграмме вы в значительной степени правы с классом Character, а затем просто помещаете способности как свойства отдельных типов. Надеюсь, это поможет – Rob85

+0

Я получил его, но не должен ли я использовать интерфейс в шаблоне стратегии? потому что во всех примерах есть интерфейс. – dummy

Смежные вопросы