- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一款战舰游戏,但在同一位置拍摄时遇到问题。我有一个用于 shot 方法的数组,保存在 shoot[0]
中的行和 shoot[1]
中的列。我正在尝试创建一个二维数组来存储行的 shoot[0]
位置和列的 shoot[1]
位置;然后使用该双数组我可以检查已经命中的位置。问题是,我不确定是否可以将信号数组存储在双数组[行][列]中的位置。
在处理这段代码一段时间后,我得到了 2D 数组来存储 Shoot[0] 和 Shoot[1] 的值。但我不知道我这样做是否正确:
public static void shoot(int[] shoot, int[][] ships){
int[][] check = new int[6][6];
Scanner input = new Scanner(System.in);
System.out.print("Enter AI Row: ");
shoot[0] = input.nextInt();
System.out.print("Enter AI Column: ");
shoot[1] = input.nextInt();
while((shoot[0] <= 0 || shoot[1] <= 0) ||(shoot[0] == 0 && shoot[1] == 0) || (shoot[0] > 5 || shoot[1] > 5)){
System.out.println("You must enter a location greater than 0 and NOT over 5! ");
System.out.print("Enter Row: ");
shoot[0] = input.nextInt();
System.out.print("Enter Column: ");
shoot[1] = input.nextInt();
}
int temp1 = 0, temp2 = 0;
for (int row = 0; row < 25; row++){
for (int col = 0; col < 25; col++){
if (row == shoot[0] && col == shoot[1])
{
check[row][0] = shoot[0];
check[row][col] = shoot[1];
temp1 = row;
temp2 = col;
}
}
}
if (check[temp1][0] == ships[temp1][0] && check[temp1][temp2] == ships[temp1][temp2])
{
System.out.print("You have already entered that location!");
}
shoot[0]--;
shoot[1]--;
}
最佳答案
我不太确定你想做什么,但是,如果 shoot[0]
和 shoot[1]
确实代表了 x 和 y拍摄地点如我所怀疑,那么也许就这么简单:
当您检查位置是否在可靠范围内时,您可以在所述位置将船舶设置为不同的状态:
船舶[射击[0]][射击[1]] = HIT;//如果这里没有船,则为 MISSED
或者你使用一个全新的阵列来记录枪击事件(我认为这就是你的意图):
hasAlreadyShot[shoot[0]][shoot[1]] = true;
取决于您的编程风格和选择。
然后,每当玩家选择新目标时,您都可以检查它是否不是之前的选择。
关于Java战舰检查命中位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550200/
所以,我必须在 10x10 的板上制作一个用户对计算机的 Battleship 游戏来上编程课。我必须让计算机随机放置五艘大小为 5、4、3、3 和 2 的船。 我所做的是,我生成了 0 到 9 之间
我正在学习创建一个java游戏,对java来说还是个新手。现在我想创建一个战舰游戏。但现在我被困在这里了。现在,当我随机放置船作为电脑板时,有时它会与之前的船重叠,因此游戏变得不平衡。其次,在我收到玩
我正在制作战舰游戏,一切正常。但是由于我加入了一个回合系统,游戏无法正常运行。游戏有两个棋盘(一个是隐藏的,另一个是“公开的”,对手可以看到(所以没有船只)。隐藏的有效,但公众每回合都会重置,所以你看
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我正在制作一款战舰游戏。我创建了一个 Ship 类来为船只提供位置。 创建类后,我必须创建所有实例,我想知道是否有一种方法可以自动化它。 大部分程序都是无关紧要的,但我将其保留,以防万一它可能会影响它
我的编译器告诉我有错误,但我已经给我的导师发了电子邮件,他说我的代码非常好。 错误是错误: 1 error C4716: 'ShipPlacement' : must return a value,
我是一个想学习Java的菜鸟。我正在阅读《Head First Java》一书,并且非常喜欢它。我在学习使用 ArrayList<> 时遇到了一个问题而不是常规的array[] 。我在尝试分配 int
我是一名优秀的程序员,十分优秀!