gpt4 book ai didi

java - 让玩家在二维数组游戏网格上 move

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:09 24 4
gpt4 key购买 nike

我正在使用 10x10 二维数组创建游戏。玩家从左上角标为“P”的位置开始,目标是让玩家避开障碍物到达位于右下角标为“T”的宝藏。

我如何使用上/下/左/右命令让玩家在网格中 move ?

我是否会使用 for 循环来计算数组中的元素以指定 move ?

这是我目前所拥有的:

import java.util.Scanner;
import java.util.Random;

public class Adventure {

public static void main(String[] args) {
char grid[][]= new char[10][10];
Scanner move = new Scanner(System.in);
System.out.println("Here is the current game board:");
System.out.println("-------------------------------");

for(int i=0; i<grid.length; i++) {
for(int j=0; j<grid.length; j++) {
double random = Math.random();
if(random <=.05) {
grid[i][j]='*';
}
else if(random > .06 && random <= .15) {
grid[i][j]='X';
}
else {
grid[i][j]='.';
}
grid[0][0]='P';
grid[9][9]='T';
System.out.print(grid[i][j]);
}
System.out.println("");
}
System.out.print("Enter your move (U/D/L/R)>");
}
}

最佳答案

您应该跟踪玩家的当前位置并更新这些变量。如您所说,初始值将是 (0,0)。

int px = 0;
int py = 0;

move 时,相应地更新变量:

grid[px][py] = <empty cell>;
switch (move) {
case 'u': py += 1; break;
case 'r': px += 1; break;
...
}
grid[px][py] = 'P';

当然你不应该只是“盲目地”更新值,你应该插入一些验证逻辑来​​遵循游戏规则:

if (grid[px][py] != <obstacle> )
// update player coordinates...

关于java - 让玩家在二维数组游戏网格上 move ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com