这是错误所在。它告诉我它正在期待!=但它得到了=。当我试图看看结果是什么时候!=它说找不到敌人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);
}
}
我试图让敌舰在屏幕上随机产生,但也要确保它不会在火箭飞船顶部产生。我尝试了一些东西,但我一直收到这个错误。
答案 0 :(得分:1)
我猜你指的是当前被注释掉的'if'语句。如果是这样,你必须在java中使用两个= for boolean操作。所以==而不是=。
One =是赋值运算符。 Two =是一个比较运算符。
有关Java运算符的更多信息:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html