int[][] exits = {
{-1, -1, -1, -1},
{-1, -1, -1, -1},
{-1, -1, -1, -1},
{-1, -1, -1, -1}
}
我为NUMBER_OF_ROOMS
定义了常量变量,作为我的地牢中的房间总数(String[] array
中的8个元素)。我为我的String[] rmDescription
数组和我的int[][] exits
数组创建了表格。 final int NORTH = 0;
final int EAST = 1;
final int WEST = 2;
和final int SOUTH = 3;
的常量
我说的是对的吗?
以上是较小规模地牢的初始化二维数组,其元素初始化为null。当玩家移动时,元素的值根据可以采取的出口而改变。
欢迎,正如Gaspar所说,OOP将是完成这项任务的好方法。如你所说,你不想在你的主要内容中有很多东西,因为你现在拥有它,你必须继续复制你主要的房间数据以允许移动。此外,跟踪当前位置的方法可以减少可以呈现给用户的一些选项,即,如果您在单元格块B中,则应该希望用户得到您在南方单元格中的提示等。
我必须创建一个tempRoom变量并运行一个while循环,允许玩家在他们想要的时候退出。通过使用用户输入的方向更改“他们想要移动到的列”,数组将交换2d数组中的“列”数组的房间号。如果有效,它们将移动,currentRoom将是roomExits [i] [newRoom ]这真的是新的i和j坐标。