我在创造游戏蛇和梯子。我使用一个游戏模式,允许你对着电脑玩。
您建议使用什么来创建此延迟?
public void rollTheDiceAndMove() {
int diceRoll = gameBoard.rollDice();
// delay for dice roll.
new Timer().schedule(
new TimerTask() {
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {
////////////////////////////////////////////////////////////////////////////
gameGUI.indicateDiceRoll(diceRoll);
int newIndex = getPlayerIndexAfterRoll(diceRoll);
move(newIndex);
System.out.println("change turns");
swapTurns();
System.out.println(isComputerTurn());
gameGUI.updateCurrentTurnLabel();
if (newIndex == GameBoard.WIN_POINT) {
boolean restartGame = gameBoard.playAgainOrExit();
if (restartGame) {
Player winner = gameBoard.getCurrentPlayer();
gameGUI.updateScore(winner);
gameGUI.playAgain();
} else {
System.exit(0);
}
}
////////////////////////////////////////////////////////////////////////////
}
});
}
}, GameBoard.DICE_ROLL_DELAY
);
// try to recursively call this method again for computer turn.
}
public void move(int currentIndex) {
int[] newCoordinates = gameBoard.getBoardCoordinates(GameBoard.NUMBER_OF_TILES - currentIndex);
gameBoard.getCurrentPlayer().getPlayerPiece().setPosition(currentIndex);
gameGUI.movePieceImages(newCoordinates[0], newCoordinates[1]);
if (gameBoard.getTile(currentIndex).containsLadderOrSnake()) {
// delay for moving to second tile.
new Timer().schedule(
new TimerTask() {
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {
int updatedIndex = gameBoard.getUpdatedPosition(currentIndex);
move(updatedIndex);
}
});
}
}, GameBoard.SECOND_MOVE_DELAY *2
);
return; // we need to return 'cause of recursion. Swap turns will be executed twice, one time for the initial call and the other time on above line.
}
}
创建项目的副本,并尝试使用PauseTransition
。
public void rollTheDiceAndMove()
{
int diceRoll = gameBoard.rollDice();
System.out.println("Player: rolling the dice");
PauseTransition pause = new PauseTransition(Duration.seconds(1));
pause.setOnFinished(event ->{
System.out.println("1 second after rolling the dice");
gameGUI.indicateDiceRoll(diceRoll);
int newIndex = getPlayerIndexAfterRoll(diceRoll);
playerMove(newIndex);
if(checkWin(Player))
{
System.out.println("Player won!");
}
else
{
System.out.println("change turns");
swapTurns();
System.out.println(isComputerTurn());
gameGUI.updateCurrentTurnLabel();
computerRollDiceAndMove();
}
});
pause.play();
}
public void computerRollDiceAndMove()
{
int diceRoll = gameBoard.rollDice();
System.out.println("Computer: rolling the dice");
PauseTransition pause = new PauseTransition(Duration.seconds(1));
pause.setOnFinished(event ->{
System.out.println("1 second after rolling the dice");
gameGUI.indicateDiceRoll(diceRoll);
int newIndex = getComputerIndexAfterRoll(diceRoll);
computerMove(newIndex);
if(checkWin(computer))
{
System.out.println("Computer won!");
}
else{
System.out.println(isComputerTurn());
gameGUI.updateCurrentTurnLabel();
}
});
pause.play();
}
我正试图用python做一个掷骰子程序,给定用户在边、骰子和掷骰子上的输入来掷骰子。目前这段代码或多或少是有效的,但是我遇到的问题是,假设我让< code>3个骰子滚动< code>3次,骰子有< code>6个面。 我的代码显示如下: 当我需要它显示为: 这是我目前为止的代码。我的猜测是,它与我的参数和参数为空有关?我不完全确定。以下是我的代码:
问题内容: 我正在尝试编写一个rollDice(int number,int nSides)方法,该方法返回滚动带有nSides边的数字骰子的总结果。 因此,例如rollDice(3,6)应该返回滚动3个六边骰子的结果(加上3到18之间的数字)。 当我输入1 来解决此问题时,下面的方法返回负数? 问题答案: 你只需要初始化和各一次,所以我已经从循环中去除它们。nextInt(int)方法选择一个从
我正在制作一个骰子滚动工具,用户可以调整骰子的边数和骰子滚动的次数。 为此,我让用户在单元格B2中指示骰子的边数,以及在B3中掷骰子的骰子数。 那我用 在E列中创建一系列与掷出的骰子数相等的数字。在我用的这个栏目旁边 以获得随机数的选择。 这很管用。但是,我想知道是否有人能告诉我如何使用Array公式完成同样的任务。 当我尝试将ARRAYFORMULA应用于公式时,我只得到一列相同的数字。 我的任
问题内容: 我有一个利用Laravel和Angular的微型网站。这是一个具有响应能力的一页微型网站,分为5个部分。我想延迟加载它们以减少一次加载。 我希望在页面加载时加载1和2,然后在您向下滚动页面时加载带有很好的淡入度的另一个视图,然后加载其交互项。 问题答案: 在这种情况下,可能没有必要(或没有效率)延迟加载控制器,但是可以做到这一点。 这里有很多事情要解决,所以我将分节处理。 现场演示在这
问题内容: 我有一个div“框”,当用户滚动到下一页时,它会逐渐使用“ .fp-viewing”作为锚点淡入淡出以开始过渡效果。问题是,当触发.fp- viewing时,页面开始滚动,并且在动画结束之前将框滚动出视图。 触发.fp-viewing时,如何延迟滚动开始,直到box在4s内完成动画播放? 问题答案: 您可以使用fullpage.js提供的选项来取消运动。
假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd