gpt4 book ai didi

Java - 如何创建一个矩形生成方法,以生成多个具有不同坐标的矩形?

转载 作者:行者123 更新时间:2023-12-02 04:25:22 25 4
gpt4 key购买 nike

我正在使用 Java 制作一个简单的游戏,并且运行良好。但我希望屏幕上出现更多的敌人,而不仅仅是一个。您将在我的代码中看到我使用 x 和 y 变量来表示敌人的位置。我想要一种生成方法,每次调用该方法时,都会生成一个敌人(因此有多个敌人)。

代码:

import java.awt.*;

public class Enemy {
static int x = -100;
static int y = -100;

private boolean level2 = false;
private boolean level3 = false;
private boolean level4 = false;
private boolean level5 = false;
private boolean level6 = false;
private boolean level7 = false;
private boolean level8 = false;
private boolean level9 = false;
private boolean level10 = false;
Player player;

public Enemy(Player player) {this.player = player;}

public void update(){
if(player.getX() < x){
x -= 2;
}
if(player.getX() > x){
x += 2;
}
if(player.getY() > y){
y += 2;
}
if(player.getY() < y){
y -= 2;
}
}

public void scoreMethod(){
if(GameClass.score == 500){
level2 = true;
}
if(GameClass.score == 1000){
level3 = true;
}
if(GameClass.score == 1500){
level4 = true;
}
if(GameClass.score == 2000){
level5 = true;
}
if(GameClass.score == 2500){
level6 = true;
}
if(GameClass.score == 3000){
level7 = true;
}
if(GameClass.score == 3500){
level8 = true;
}
if(GameClass.score == 4000){
level9 = true;
}
if(GameClass.score == 4500){
level10 = true;
}
}

public void paint(Graphics g){
g.setColor(Color.ORANGE);
g.fillRect(x, y, 20, 20); //THE ACTUAL SPAWNING OF ONE ENEMY
if(level2)
g.fillRect(x, y, 20, 20); //HERE SHOULD SPAWN THE SECOND ONE(I TRIED)
if(level3)
g.fillRect(x, y, 20, 20);
if(level4)
g.fillRect(x, y, 20, 20);
if(level5)
g.fillRect(x, y, 20, 20);
if(level6)
g.fillRect(x, y, 20, 20);
if(level7)
g.fillRect(x, y, 20, 20);
if(level8)
g.fillRect(x, y, 20, 20);
if(level9)
g.fillRect(x, y, 20, 20);
if(level10)
g.fillRect(x, y, 20, 20);
}

}

我很抱歉英语不好或问题不清楚。请帮助我,我不知道该怎么做。提前致谢。

最佳答案

您可能想要创建一个敌人“类”,它将是一个单独的 .java 文件。在此文件中,您将给出敌人的矩形、更新方法和绘图方法以及它们自己适当的 x 和 y 位置。然后你可以用它们的构造函数生成它们。我建议研究一下java“类”(不是你上学的类,它们在java中被称为类)。这些将能够清理你的代码并让你更容易树敌。

关于Java - 如何创建一个矩形生成方法,以生成多个具有不同坐标的矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32257919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com