Java 只要图像加载所需的时间,我的分数就会持续增加1

Java 只要图像加载所需的时间,我的分数就会持续增加1,java,applet,Java,Applet,我正在为我的电脑课做一个石头剪刀类游戏。只要生成的图像正在加载(图像为您的选择、石头、布或剪刀生成),评分就会增加1。你能检查一下我的代码并告诉我有什么问题吗?谢谢 import java.awt.*; 导入java.applet.applet; 导入java.awt.event.*; 公共类RockPaperScissors扩展小程序实现ActionListener{ 私人按钮; 私人按钮剪刀按钮; 私人按钮; private String buttonPressed=“;//按下按钮的标签

我正在为我的电脑课做一个石头剪刀类游戏。只要生成的图像正在加载(图像为您的选择、石头、布或剪刀生成),评分就会增加1。你能检查一下我的代码并告诉我有什么问题吗?谢谢

import java.awt.*;
导入java.applet.applet;
导入java.awt.event.*;
公共类RockPaperScissors扩展小程序实现ActionListener{
私人按钮;
私人按钮剪刀按钮;
私人按钮;
private String buttonPressed=“;//按下按钮的标签
私人价值;
私有int-myValue;
影像学;
影像学;
图像纸;
图像纸2img;
图像剪刀;
图像剪;
智力得分;
综合得分;
积分;
公共void init(){
rockimg=getImage(getCodeBase(),“rock.gif”);
rock2img=getImage(getCodeBase(),“rock2.gif”);
paperimg=getImage(getCodeBase(),“paper.gif”);
paper2img=getImage(getCodeBase(),“paper2.gif”);
剪刀simg=getImage(getCodeBase(),“scissors.gif”);
scissors2img=getImage(getCodeBase(),“scissors2.gif”);
paperimg=paperimg.getScaledInstance(350,-1,Image.SCALE\u平滑);
paper2img=paper2img.getScaledInstance(350,-1,Image.SCALE\u平滑);
rockimg=rockimg.getScaledInstance(200,-1,Image.SCALE\u平滑);
rock2img=rock2img.getScaledInstance(200,-1,Image.SCALE\u平滑);
剪刀剪
.getScaledInstance(200,-1,图像.SCALE\u平滑);
scissors2img=scissors2img.getScaledInstance(200,-1,
图像。缩放(平滑);
设置大小(800600);
rockButton=新按钮(“Rock”);
剪刀按钮=新按钮(“剪刀”);
paperButton=新按钮(“纸张”);
添加(rockButton);
添加(剪刀按钮);
添加(纸质按钮);
rockButton.addActionListener(此);
剪刀按钮。addActionListener(此);
paperButton.addActionListener(此);
得分=0;
compscore=0;
得分=0;
myValue=-1;
计算机值=-1;
}
图像偏移缓冲;
@抑制警告(“弃用”)
公共空间更新(图g){
图形gr;
if(offScreenBuffer==null
||(!(offScreenBuffer.getWidth(this)=this.size().width&&offScreenBuffer
.getHeight(this)=this.size().height))){
offScreenBuffer=this.createImage(size().width,size().height);
}
gr=offScreenBuffer.getGraphics();
油漆(gr);
g、 drawImage(offScreenBuffer,0,0,this);
}
已执行的公共无效操作(操作事件){
buttonPressed=((按钮)event.getSource()).getLabel();
计算机值=随机数();
翻译器(按下按钮);
重新油漆();
}
//每次按下按钮时都会调用paint
公共空间涂料(图g){
g、 fillRect(0,0,getWidth(),getHeight());
计算机选择(g);
记分牌(g);
优胜者(g);
}
//随机生成数字0、1、2中的一个。
int随机数(){
返回值(int)(Math.random()*3);
}
//在屏幕上打印“石头”、“剪刀”或“纸”字符串之一,如果
//生成的数字之一是0、1或2
无效计算机选择(图形g){
如果(myValue==-1){
g、 抽绳(“、200、150);
}
如果(myValue==0){
g、 setColor(Color.WHITE);
g、 抽绳(“你的选择:岩石”,getWidth()/2-50170);
g、 drawImage(rockimg,0,100,this);
}
如果(myValue==1){
g、 setColor(Color.WHITE);
g、 抽绳(“您的选择:剪刀”,getWidth()/2-50170);
g、 drawImage(剪刀图像,0,100,本);
}
如果(myValue==2){
g、 setColor(Color.WHITE);
g、 抽绳(“您的选择:纸张”,getWidth()/2-50170);
g、 drawImage(paperimg,0,100,this);
}
如果(计算机值==0){
g、 setColor(Color.WHITE);
g、 拉丝(“计算机的选择:岩石”,getWidth()/2-50190);
g、 drawImage(rock2img,getWidth()-240100,this);
}
如果(计算机值==1){
g、 setColor(Color.WHITE);
g、 抽绳(“电脑选择:剪刀”,getWidth()/2-50,
190);
g、 drawImage(剪刀2img,getWidth()-240,100,this);
}
如果(计算机值==2){
g、 setColor(Color.WHITE);
g、 抽绳(“计算机选择:纸张”,getWidth()/2-50190);
g、 drawImage(paper2img,getWidth()-340100,this);
}
}
//将“石头”转换为0,“剪刀”转换为1,“布”转换为2。
无效转换器(字符串s){
如果(s.等于(“岩石”)){
myValue=0;
}否则,如果(s.等于(“剪刀”)){
myValue=1;
}否则,如果(s.等于(“纸张”)){
myValue=2;
}
}
//决定胜利者。
无效赢家(图形g){
//在播放之前,什么都不会发生,所以不要打印任何内容。
如果(计算机值==-1){
g、 setColor(Color.WHITE);
g、 抽绳(“、200、100);
}
//如果机器和玩家拥有相同的东西,则为平局。
else if(computerValue==myValue){
g、 setColor(Color.WHITE);
g、 拉丝(“Draw”,getWidth()/2-50210);
总分+=1;
}
//电脑胜过if
//它有石头,你有剪刀,或者它有剪刀,你有
//纸或
//你有纸,电脑有石头。
如果(computerValue==0&&myValue==1 | | computerValue==2
&&米瓦卢
  // You win in any other case
    else {
        g.setColor(Color.WHITE);
        g.drawString("You win", getWidth() / 2 - 50, 210);
        score+=1;
    }