【发布时间】:2025-12-05 01:45:02
【问题描述】:
我目前是 Java 的第一年,在互联网上偶然发现了有关战舰游戏的这段代码。我想做的是用更简单的代码来理解这段代码。让我感到困惑的部分是第一行:“computerGameBoard = new GameBoard(true, event ->”。我熟悉按钮以及它们如何具有动作事件,但是这段代码与那个相比如何,是否有可能把这个进入一个与按钮类似的动作事件?我可以将它拆分成另一种方法吗?提前谢谢。另外请注意,下面的代码行应该附加到代码段,但不是。
computerGameBoard = new GameBoard(true, event ->
{
if (!playing)
return;
BoardSquare boardsquare = (BoardSquare) event.getSource();
if (boardsquare.wasHit)
return;
AIMove = !boardsquare.fire();
System.out.println("enemyBoard shipcount:"+computerGameBoard.shipcount);
if (computerGameBoard.shipcount == 0) {
System.out.println("Winner!");
}
if (AIMove)
AI1();
});
【问题讨论】:
-
这似乎更像是一个代码审查问题
-
这听起来主要是关于 lambda 及其工作原理的问题——它实际上与传统的动作侦听器并没有什么不同,它只是使用 lambda 来实现它们。
-
请不要破坏您的帖子。如果您不想要它,您可以使用联系我们页面要求将其与您的帐户解除关联。
标签: java events mouseevent actionevent