#java #arrays
#java #массивы
Вопрос:
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
массива и my int[][] exits
array. Константы для
final int NORTH = 0;
final int EAST = 1;
final int WEST = 2;
и final int SOUTH = 3;
Правильно ли я говорю это?
Выше приведен инициализированный двумерный массив для подземелья меньшего масштаба с элементами, инициализированными в null. По мере перемещения игрока значения элементов меняются в зависимости от выходов, которые можно использовать.
Комментарии:
1. Привет, добро пожаловать! Вы уже изучали объектно-ориентированное программирование ?
2. Я изучаю ООП в школе, … в частности Java. Мы рассмотрели объекты, но то, как это упражнение формулирует все, сбивает с толку
3. Это потому, что лучший способ сделать это — поместить этот attr в объект. Но если ваше упражнение касается массивов, вы могли бы посмотреть, что сказал ваш профессор на прошлом уроке, чтобы увидеть, каким методом заставить это работать, вы могли бы сделать это с матрицей, картами, объектами и т. Д
Ответ №1:
Добро пожаловать, как сказал Гаспар, ООП был бы отличным способом выполнить эту задачу. Как вы заявили, вы не хотите, чтобы в вашем main было много материала в том виде, в каком он у вас есть сейчас, вы должны продолжать копировать данные о комнате в вашем main, чтобы обеспечить перемещение. Кроме того, метод, который отслеживает ваше текущее местоположение, может уменьшить некоторые параметры, которые могут быть представлены пользователю, т. Е. Если вы находитесь в блоке ячеек B, вы должны хотеть, чтобы пользователю предлагалось указать, что вы находитесь в южной ячейке и т.д.
Комментарии:
1. Я ценю обратную связь. Я только что зарегистрировал учетную запись здесь, в StackOverflow, поэтому я привыкаю к форматированию и правилам. Я добавил методы и классы, которые начинают выполнять работу, но я не уверен, считается ли это использованием массивов. Если программа работает, это моя главная цель. Есть два профессора, которые имеют разные взгляды на то, как должны выполняться домашние задания, и их чрезвычайно трудно достать.
Ответ №2:
Мне пришлось создать переменную tempRoom и запустить цикл while, который позволял игроку выходить, если он хотел. Массив поменял бы номер комнаты массива «столбец» в 2d массиве, используя направление пользовательского ввода, чтобы изменить столбец, в который они хотели переместиться. Если они действительны, они будут перемещаться, и CurrentRoom будет roomExits[i] [newRoom], который на самом деле будет новыми координатами i и j .