老实说,我不确定标题是否完全适合这个问题,但无论如何它都在这里.我在java中制作了一个简单的游戏,其中外星人的宇宙飞船从屏幕顶部掉下来,如果你不杀死它们并且它们到达屏幕的底部,那么空间站会受到伤害.但是每当空间站被摧毁时,应该告诉玩家他们已经死亡的消息框不会停止出现,它会一直反复出现.在控制台中,我收到一条不会停止变大的错误消息!这是我对空间站健康的代码:
public class SpaceStation extends Entity {
public static int stationHealth = 100;
public SpaceStation(int x, int y) {
super(x, y);
}
public void update() {
}
public void draw(Graphics2D g2d) {
g2d.drawImage(ImageLocator.getSpaceStation(), 0, 595, null);
// HEALTH BAR
g2d.fillRect(5, 25, stationHealth, 10);
if(stationHealth <= 0) {
try{
JOptionPane.showMessageDialog(null, "You died on level "
+ GameFrame.level + ". Better luck next time!");
GameFrame.mainTimer.stop();
System.exit(0);
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e.getMessage());
System.exit(0);
}
}
}
public Rectangle getBounds() {
return new Rectangle(x, …Run Code Online (Sandbox Code Playgroud) 在我正在阅读的书中,我注意到这样的代码行:
namespace sf
{
class RenderWindow;
}
class StateStack;
class Player;
class State
{
// Code for the class
};
Run Code Online (Sandbox Code Playgroud)
只有类,类名和分号的行是什么意思?
所以我正在创建一个名为Person的结构,其中包含几个getter函数,它返回在getter函数中使用后声明的变量.当我在一个单独的结构中执行此操作时没有错误,但现在使用此代码:
struct Person
{
std::string name() const { return name; }
std::string address() const { return address; }
std::string name;
std::string address;
};
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
IntelliSense: no suitable constructor exists to convert from "std::string () const" to "std::basic_string<char, std::char_traits<char>, std::allocator<char>>"
Run Code Online (Sandbox Code Playgroud)
在另一个结构中我有这个......
struct Sales_data
{
std::string isbn() const { return book_number; }
std::string book_number;
};
Run Code Online (Sandbox Code Playgroud)
我没有任何错误.我哪里出错了,以后如何避免这个问题呢?