java - 2048 Java 游戏:移动功能
问题描述
我重新创建了 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
. 由于没有其他用户输入行,程序陷入循环。
在我看来,要解决这个问题,您应该while (play == true)
在.play = false;
break;
推荐阅读
- python - psycopg2.errors.AmbiguousColumn:列引用“单词”不明确
- html - 将脚本标签添加到颤动的 webapp 小部件
- excel-formula - 一个公式组合 2 个列表 (2021)
- java - Wildfly 15 及更高版本:类名与包名冲突
- html - 由于 $(...).css 不是函数,无法删除 span 类的 css
- laravel - Laravel Cashier (Stripe) - 结帐 - invoice.paid & invoice.payment_failed 事件(webhooks)
- python - 在管道中时,RandomForestClassifier 需要更少的时间来训练?
- questdb - 如何使用嵌入式 API 在 QuestDB 中追加行?
- c# - HTTPClient:第二次成功调用 ASYNC GET 后,应用程序继续,但下一个方法使用结果,永远不会被调用
- python - 尝试显示模型结果时 Sparknlp Java 错误