Как создать комнаты в текстовой игре (для начинающих) - PullRequest
3 голосов
/ 25 ноября 2011

Я очень новичок в Java и не уверен, что мне даже позволено задавать вопросы такого рода здесь, но я попробую. Я хочу / мне нужно попрактиковаться в программировании на Java, поэтому я решил для довольно большого проекта, что должен соответствовать моим возможностям, я начал его строить и создал объект player с некоторыми свойствами, такими как level, name, xp , здоровье и предметы. Предметы и массив из 5 объектных объектов (несите с собой XD), теперь я хотел бы знать, следует ли мне создавать комнаты как объекты или как отдельные классы или функции?

Комнаты будут только комнатами в абстрактном смысле, игра полностью текстовая, они должны будут содержать головоломки и объекты, которые пользователь может подобрать или исследовать, а также врагов, и такой рассказ будет также содержаться в каждой из них. , Игрок сможет «подбирать» предметы в комнате и добавлять их в свой инвентарь. А также участвуйте в текстовом сражении с такими врагами, как: вы наносите урон монстру за 2 урона, монстр наносит ответный удар за 3 и т. Д.

Помните, что это не будет красиво, это для практики, и мне нужно сделать это в Java. Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 25 ноября 2011

Ваша проблема связана с концепциями ООП, а не с тем, чтобы быть новичком в Java, вам следует больше узнать о ООП, чтобы правильно подумать, прежде чем начинать писать код, чтобы создать правильный дизайн ООП для вашей программы.Поскольку вы создаете эту программу в Java, вы можете запустить здесь .

Для того, что я понял из вашего вопроса, вы можете захотеть иметь класс комнаты, содержащий свойства и функции комнаты.

1 голос
/ 25 ноября 2011

На высоком уровне хорошей идеей будет наличие класса "Комната", который будет содержать название комнаты, описание и любую другую информацию, относящуюся к комнате (например, тип местности и т. Д.).

Затем вы можете создать многомерный массив объектов Room. Одно измерение является вашей координатой X, а другое - вашей координатой Y.

Этот способ "передвигаться" вокруг всего, что вам нужно сделать, это отслеживать ваше местоположение и увеличивать / уменьшать ваш X или Y в зависимости от направления, в котором вы двигались.

Вы можете расширить его, сделав что-то вроде создания карты вашего окружения. Каждый тип местности может отображаться в виде отдельного символа (@ для леса, ~ для воды и т. Д.). Было бы просто добавить что-то вроде этого, потому что все, что вам нужно сделать, - это получить верхнюю правую / нижнюю левую координату и пройтись по этим координатам, строя вашу карту.

...