爪哇豆掉落,只往右走

  • 本文关键字: java random stddraw
  • 更新时间 :
  • 英文 :


我有一个球落在屏幕上的游戏。问题是,球只会向右走。我认为问题在于从 LR 方法到主游戏循环的过渡。我创建了一个变量,它采用 LR 方法并在每秒刷新和清除画布的循环中运行它。这是代码:

package cats;
public class BeanDrop {
public static void main(String[] args) throws InterruptedException {
    mainGameLoop();
    }
public static void mainGameLoop() throws InterruptedException{
    double x = .5;
    double y = .9;
    while (true){
    int choice = LR();
    arena();
    ball(x , y);
    if (choice == 1){
        // right outcome
        x = x + .1;
    }
    else if(choice == 2){
        //left outcome
        x = x -.1;
    }
    y = y - .1;
    Thread.sleep(1000);
    StdDraw.clear();
    }
}
public static void arena(){
    StdDraw.picture(.5, .5, "balldrop.jpeg");
}
private static int LR(){
    int choice = ((int) Math.random() * 2 + 1);
    return choice;
}
public static void ball(double x , double y){
    StdDraw.picture(x, y, "ball.jpeg",.05,.05);
}
}

看看这个:如何在 Java 中生成特定范围内的随机整数?

它基本上所说的是使用它来获取一个随机数:

Random rand;
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
int randomNum = rand.nextInt((max - min) + 1) + min;
return randomNum;

所以对你来说,你可以使用它:

private static int LR(){
    int choice = rand.nextInt(2) + 1;
    return choice;
}

编辑:您必须创建随机的实例,并将其命名为代码顶部的rand:

private Random rand;

在初始化游戏循环之前,请准备好:

rand = new Random();

相关内容

  • 没有找到相关文章

最新更新