Как создать двумерный массив выходов из комнаты (-1 = нет выхода) для метода движения?

int[][] exits = {
                {-1, -1, -1, -1},
                {-1, -1, -1, -1},
                {-1, -1, -1, -1},
                {-1, -1, -1, -1}
             }

У меня есть постоянные переменные, определенные для NUMBER_OF_ROOMS как общее количество комнат в моем подземелье (8 элементов в String[] array). Я создал таблицы для своего массива String[] rmDescription и моего массива int[][] exits. Константы для final int NORTH = 0;final int EAST = 1;final int WEST = 2; и final int SOUTH = 3;

Я правильно говорю это?

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

Привет, добро пожаловать! Вы уже изучили Объектно-ориентированное программирование?

Gaspar 09.04.2019 21:19

Я изучаю ООП в школе... В частности, Java. Мы рассмотрели объекты, но слова в этом упражнении сбивают с толку.

Ns1De0UT 09.04.2019 21:24

Это потому, что лучший способ сделать это — поместить этот атрибут в объект. Но если ваше упражнение связано с массивами, вы можете увидеть, что сказал ваш профессор на прошлом уроке, чтобы увидеть, какой метод заставить его работать, вы можете сделать это с матрицей, картами, объектами и т. д.

Gaspar 09.04.2019 21:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
76
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Добро пожаловать, как сказал Гаспар, ООП был бы отличным способом выполнить эту задачу. Как вы сказали, вы не хотите иметь много вещей в своей основной, поскольку она у вас есть сейчас, вы должны продолжать копировать данные комнаты в свою основную, чтобы обеспечить движение. Кроме того, метод, который отслеживает ваше текущее положение, может уменьшить некоторые параметры, которые могут быть представлены пользователю, т. е. если вы находитесь в блоке ячеек B, вы должны хотеть, чтобы пользователь получал запрос о том, что вы находитесь в южной ячейке, и т. д.

Я ценю обратную связь. Я только что зарегистрировал учетную запись на StackOverflow, поэтому привыкаю к ​​форматированию и правилам. Я добавил методы и классы, которые начинают выполнять работу, но я не уверен, считается ли это использованием массивов. Если программа работает, это моя главная цель. Есть два профессора, у которых разные взгляды на то, как должны выполняться домашние задания, и с ними чрезвычайно трудно связаться.

Ns1De0UT 09.04.2019 22:28
Ответ принят как подходящий

Мне пришлось создать переменную tempRoom и запустить цикл while, который позволял игроку выйти, если он этого хотел. Массив заменит номер комнаты массива «столбцов» в массиве 2d, используя направление пользовательского ввода, чтобы изменить «столбец, к которому они хотели переместиться. Если они действительны, они переместятся, и currentRoom будет roomExits [i] [newRoom ], что на самом деле было бы новыми координатами i и j.

Другие вопросы по теме