java - 检查我是否在迷宫中越界
问题描述
我现在有一个 4x4 的 2D 数组,我已经有一个方法来检查是否有墙,现在我正在尝试编写检查玩家是否超出迷宫范围的方法。基本上我需要的是一个布尔方法,它只检查玩家可能的新位置是否会超出二维数组的范围。这是我到目前为止所拥有的,我知道它不起作用,因为我试图将字符串与整数运算符进行比较。我需要一些东西,将可能的新位置的实际索引与二维数组的长度进行比较,如果超出范围则返回 true,如果玩家可以移动到那里则返回 false。
//check to see if youre going out of bounds
public Boolean isOutOfBounds(int x, int y, String d){
if(d.equalsIgnoreCase("N")){
y--;
if(maze[x][y] > maze.length){
//output "cannot go this way" from text class
}
}
}
参数是玩家的原始位置和他们试图去的方向
解决方案
你需要这样的东西:
public Boolean isOutOfBounds(int x, int y, String d){
if(d.equalsIgnoreCase("N")){
y--;
}
if(d.equalsIgnoreCase("S")){
y++;
}
if(d.equalsIgnoreCase("E")){
x--;
}
if(d.equalsIgnoreCase("W")){
x++;
}
return ! (x >= 0 && x < maze.length && y >= 0 && y < maze.length);
}
推荐阅读
- python - 如何可视化最近的加密交换订单
- flutter - 使用 Get.put 在 Flutter 中创建类的实例
- r - 如何将 Web of Science 高级查询变成 R 中的正则表达式?
- sass - “粗鲁。” 未被识别为内部或外部命令、可运行程序或批处理文件
- react-native - NPM 卡在理想树上:定时理想树
- html - 使用 HTML 并排创建两个表格
- api - 通过一个批处理文件运行多个soapui项目
- angular - 将复杂对象传递给 Web API 时对象值接收不正确
- java - Swagger UI - 自定义模型部分布局
- android - 第一次在真实设备上安装时我的应用程序崩溃