如何防止敌人在火箭飞船上产生或至少远离火箭飞船?

时间:2015-07-22 17:48:56

标签: java

这是错误所在。它告诉我它正在期待!=但它得到了=。当我试图看看结果是什么时候!=它说找不到敌人X.我已经注释了错误的位置:

//methods to control the ship
move();
drawRocketShip();
for (int i = 0; i < enemies.size (); i++)
{
  enemies.get(i).drawEnemyShip();
}

if (millis() > startTime + 2500)
{
  score++;
  startTime = millis();
  Enemy e = new Enemy(gen.nextInt(1860) - 20, gen.nextInt(20) + 960);
  enemies.add(e);
  //if(enemyX = x && enemyY = y)
  //{
      //Enemy e = new Enemy(gen.NextInt(20) + 1860, gen.nextInt(20) + 960);
       //enemies.add(e);
  //}
//}
for (int i = 0; i < enemies.size (); i++)
{
  Enemy e = enemies.get(i);
  e.drawEnemyShip();
}

这是敌人类:

    //draw enemy ship
    import java.util.Random;
    public class Enemy{
      public int enemyX = 0;
      public int enemyY = 0;
    public int dx = 0;
    public int dy = 0;
    Random gen = new Random();
      public Enemy(int a, int b){
        enemyX = a; 
        enemyY = b;
        dx = gen.nextInt(20) - 5;
        dy = gen.nextInt(20) - 5;
       }

      public void drawEnemyShip()
      {
      //enemy 1 body shape
      fill(128, 128, 0);
      ellipse(enemyX, enemyY, 40, 40);
      }
    }

我试图让敌舰在屏幕上随机产生,但也要确保它不会在火箭飞船顶部产生。我尝试了一些东西,但我一直收到这个错误。

1 个答案:

答案 0 :(得分:1)

我猜你指的是当前被注释掉的'if'语句。如果是这样,你必须在java中使用两个= for boolean操作。所以==而不是=。

One =是赋值运算符。 Two =是一个比较运算符。

有关Java运算符的更多信息:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html