Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击图像旁边时降低分数,但在0处停止_Java - Fatal编程技术网

Java 单击图像旁边时降低分数,但在0处停止

Java 单击图像旁边时降低分数,但在0处停止,java,Java,我正在构建一个Java游戏,它以我想要的方式工作。唯一的问题是,当我单击对象旁边时。分数减少为1。但它一直在继续。 我想让这个分数停在0而不是-1、-2、-3等等。 如果单击对象,我将获得1分数,当我单击对象旁边时,我将获得-1分数 问题: 当分数达到0后,我如何停止降低分数 这是我的分数代码: scoreLabel.setFont(new Font("Open Sans", Font.PLAIN, 30)); scoreLabel.setForeground(Color.WHI

我正在构建一个Java游戏,它以我想要的方式工作。唯一的问题是,当我单击对象旁边时。分数减少为1。但它一直在继续。 我想让这个分数停在
0
而不是
-1、-2、-3等等。

如果单击对象,我将获得
1
分数,当我单击对象旁边时,我将获得
-1
分数

问题: 当分数达到0后,我如何停止降低分数

这是我的分数代码:

    scoreLabel.setFont(new Font("Open Sans", Font.PLAIN, 30));
    scoreLabel.setForeground(Color.WHITE);
    scoreLabel.setBounds(20, 455, 200, 100);
    add(scoreLabel);

    addMouseListener(new MouseAdapter(){
        @Override
        public void mouseClicked(MouseEvent e) {
            Point p = e.getPoint();
            int clickX = (int)p.getX();
            int clickY = (int)p.getY();

            if(clickX > x && clickX < x + 100 && clickY > y && clickY  < y + 100) {
                score++;
                scoreLabel.setText("SCORE: " + score);
            }else{
                score = score -1;
                scoreLabel.setText("SCORE: " + score);
            }

        }
    });
scoreLabel.setFont(新字体(“开放式Sans”,Font.PLAIN,30));
scoreLabel.setForeground(颜色:白色);
分数标签。挫折(20455200100);
添加(分数标签);
addMouseListener(新的MouseAdapter(){
@凌驾
公共无效mouseClicked(MouseEvent e){
点p=e.getPoint();
int clickX=(int)p.getX();
int clickY=(int)p.getY();
如果(单击x>x&&clickXy&&clickY

我希望它是清楚的。

只要在
else
块中添加
if

}else{
    if (score > 0){
        score = score -1;
        scoreLabel.setText("SCORE: " + score);
    }
}

只需在
else
块中添加
if

}else{
    if (score > 0){
        score = score -1;
        scoreLabel.setText("SCORE: " + score);
    }
}

将代码更改为在降低前检查分数:

if(clickX > x && clickX < x + 100 && clickY > y && clickY  < y + 100) {
  score++;
  scoreLabel.setText("SCORE: " + score);
} else if(score != 0) {
  score = score -1;
  scoreLabel.setText("SCORE: " + score);
}
if(点击x>x&&clickXy&&clickY
在降低之前,将代码更改为检查分数:

if(clickX > x && clickX < x + 100 && clickY > y && clickY  < y + 100) {
  score++;
  scoreLabel.setText("SCORE: " + score);
} else if(score != 0) {
  score = score -1;
  scoreLabel.setText("SCORE: " + score);
}
if(点击x>x&&clickXy&&clickY
使用Math.max(0,分数-1)

if(点击x>x&&clickXy&&clickY
使用Math.max(0,分数-1)

if(点击x>x&&clickXy&&clickY
我真蠢。哈哈,这很简单。我也非常了解javascript和php,所以这是相同的东西。谢谢,我太笨了。哈哈,这很简单。我也非常了解javascript和php,所以这是相同的东西。谢谢你,谢谢你。我只能接受一个答案,所以我会投你的一票。谢谢你的帮助。我只能接受一个答案,所以我会投你的一票。谢谢你的帮助。我只能接受一个答案,所以我会投你的一票。谢谢你的帮助。我只能接受1个答案,所以我会投票给你。这是一个比如果(分数>0){更好的选项吗?这只是另一个选项。对我来说,它的代码在数学上看起来更干净。max(..)这是一个比如果(分数>0){更好的选项吗?这只是另一个选项。对我来说,它的代码在数学上看起来更干净。max(..)请注意,标签是独立的,每个标签都有一个特定的定义。标签不是关键字。在标签列表中填入与问题相同的单词无助于分类。请务必阅读输入标签时出现的有用说明。感谢您为我指出:)请注意,标签是独立的,一个d每个标记都有一个特定的定义。标记不是关键字。在标记列表中填入与问题相同的单词无助于对其进行分类。请务必阅读输入标记时出现的有用说明。感谢您为我指点:)