【发布时间】:2021-10-08 01:16:39
【问题描述】:
我是编程新手,我有一个 Java 作业,要求用户导航一个 10X10X10 的立方体迷宫,其中必须随机生成 500 个怪物、499 个开放单元和 1 个宝箱。宝箱也必须随机生成,但不能与怪物出现在同一地点。我必须编写的程序要求用户输入来检查数组中的一个单元格,看看它是否是百宝箱。如果单元格是空的,我必须提示宝箱在哪里(有多少个单元格以及您是否在同一行、同一列或同一页中)。用户尝试了三次寻找宝箱。在三次尝试结束时,或者如果他们击中了怪物,则用户输了,并被告知箱子放在哪个牢房中。就分配而言,空单元格 = 0,唯一有宝箱的单元格 = 1,怪物单元格 = 2。
我无法填充只有 500 个怪物和一个箱子的单元格。我下面的代码用随机数量的 0、1 和 2 填充所有单元格。我需要将 2 限制为 500 个实例,将 1 限制为一个实例(并事先检查以确保牢房中没有怪物),其余的保持 0。我还需要确保我不是用不止一个怪物填充同一个单元格。这是据我所知:
import java.util.Random;
public class FindTheCheese
{
public static void main(String args[ ])
{
int size = 10;
int[][][] maze = new int[10][10][10];
Random gen = new Random();
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++) {
for(int k = 0; k <10; k++) {
maze[i][j][k] = gen.nextInt(3);
System.out.print(maze[i][j][k] + ", "); // this won't be part of the final code, just used to check if I'm populating correctly
}
System.out.println();
}
}
}//closing main
}//closing class FindTheCheese
【问题讨论】:
-
您需要在每次创建怪物或箱子时跟踪循环内的计数器
-
分离任务。 1) 创建一个空的 10 x 10 x 10 迷宫。创建将所有值设置为零。 2)随机放置宝箱。 3)随机放置500个怪物,检查你的随机位置是否已经包含宝箱或怪物。
-
它必须有 500 个怪物还是最多可以有 500 个怪物?随机选择数字会导致不添加怪物。
-
它必须恰好有 1 个宝箱,并且必须有 500 个怪物。
标签: java multidimensional-array random