2048 Java游戏:移动功能

2048 Java游戏:移动功能,java,Java,我重新创建了2048游戏。我只有一个问题。当用户输入与移动相对应的字母时,应朝该方向移动,打印游戏板并停止,直到用户再次输入字母。我使用switch语句来实现这一点,但是当用户输入例如“R”时,循环就会继续。我的意思是程序会打印游戏板,而且不会停止。我该怎么阻止它 boolean play = true; while (play == true) { boolean canMove = false; switch(answer) { case "

我重新创建了2048游戏。我只有一个问题。当用户输入与移动相对应的字母时,应朝该方向移动,打印游戏板并停止,直到用户再次输入字母。我使用switch语句来实现这一点,但是当用户输入例如“R”时,循环就会继续。我的意思是程序会打印游戏板,而且不会停止。我该怎么阻止它

boolean play = true;
while (play == true)
{
    boolean canMove = false;
    switch(answer)
    {
        case "U":
            canMove = moveUp(board,dimension);
            break;
        case "D":
            canMove = moveDown(board,dimension);
            break;
        case "R":
            canMove = moveRight(board,dimension);
            break;
        case "L":
            canMove = moveLeft(board,dimension);
            break;
        default:
            System.out.println("Invalid input. Try again.");
            printBoard(board,dimension);
            answer = in.next();
            break;
    }

语句
play
保持打开状态
true
。当用户输入字符时,语句仍保留为
true
。由于没有其他用户输入行,程序陷入循环


在我看来,要解决这个问题,您应该在
之后添加一行用户输入代码,而(play==true)
并且在每种情况下添加
play=false
中断之前

语句
play
保持打开状态
true
。当用户输入字符时,语句仍保留为
true
。由于没有其他用户输入行,程序陷入循环


在我看来,要解决这个问题,您应该在
之后添加一行用户输入代码,而(play==true)
并且在每种情况下添加
play=false
中断之前

移动棋盘后,您在哪里更改
答案
?您在哪里更改“play”变量的值?方法左移/下移/上移,它们的作用是什么?在板移动后,在哪里更改
答案
?在哪里更改“play”变量的值?方法moveLeft/movedown/moveUp,它们是做什么的?