gpt4 book ai didi

java - 交通拥堵 Java 作业

转载 作者:行者123 更新时间:2023-11-30 07:44:23 27 4
gpt4 key购买 nike

我需要创建一个 Java 程序,按照以下规则玩游戏;

  • 有两支球队。
  • “董事会”是这样开始的:即每队 2 人; X X 空 Y Y。
  • 同一团队的成员不能互相跳跃。
  • 只有当对方队伍成员身后有空白区域时,对方队伍的成员才能互相跳跃。
  • 任一团队的成员只能向前移动到空白处,而不能向后移动。
  • 目标是让他们交换位置。即 Y Y null X X。

这是我对上面示例的解决方案;

X X O Y Y - 移动 X
X O X Y Y - Y 跳跃 X
X Y X O Y - 移动 Y
X Y O Y X - X 跳跃 Y

反向重复..

O Y X Y X - X 跳跃 Y
Y O X Y X - 移动 Y
Y Y X O X - Y 跳跃 X
Y Y O X X - 移动 X

我不确定如何使其可扩展以处理更大的团队规模,或者我是否走在正确的轨道上。对此的任何帮助将不胜感激。

这是我到目前为止所拥有的;

    public static void main(String[] args) {

Scanner keyboard = new Scanner(System.in);

int teamSize = 0, i = 0;

System.out.print("How many members on each team?");
teamSize = keyboard.nextInt();

//set board and it's size
String[] board = new String[(teamSize*2) + 1];

//set team positions
int x = 1, y = 1;
for (i = 0; i < teamSize; i++) {
board[i] = "X";
board[i + teamSize + 1] = "Y";
}
System.out.print("\nBoard: " + Arrays.toString(board));

// firstMove - MOVE X
String pre1move = board[teamSize]; // original center value
board[i] = board[i-1];
board[i-1] = pre1move;
System.out.print("\nX moved up: " + Arrays.toString(board));
// secondMove - Y JUMP X
// thirdMove - MOVE Y
// fourthMove - X JUMP Y

// repeat pattern in reverse
}

最佳答案

如果不直接给你代码,就很难回答你的问题......所以,让我看看我是否可以解释你应该采取的一般策略。

目前,在 main 最底部的注释掉的代码中方法,你实际上是在指定“好吧,这个特定的人应该专门移动到这个空间。”现在,这可行,但仅限于 2 对 2 的情况。当您尝试玩 3 对 3、4 对 4 等游戏时,您之前所说的是正确的;这不会扩展。

您需要做的是设置您的代码,以便您可以询问 Player它与另一个 Player 的关系s 和 Board本身。您应该创建Player Java 类,并给它们实例变量,如 DirectionName这样您就可以确定他们行驶的方向。

然后,利用这些信息,您可以在游戏中的特定时刻向任何个人提出更一般性的问题 Player :

  • 我是 Player X. 我正在旅行Right 。我可以吗:

  • 向右进一步?

--还有另一个Player X 挡住了我的路?

-- 我是否即将离开棋盘的末端(因此处于我的最终位置)?

--等等

因此,如果您可以根据 Player 提出更通用的问题目前的情况,游戏规模。

我知道这很模糊,但就像我说的,如果没有确切的解决方案,这就是最好的结果。祝你好运。

关于java - 交通拥堵 Java 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125176/

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