
JAVA打地鼠游戏求解,求高手,能解决问题可以追加分数
importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassKillMouse{publ...
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class KillMouse
{
public static void main(String[] args)
{
new Mouse();
}
};
class Mouse extends JFrame implements MouseListener ,ActionListener
{
Timer timer;
int score;
JLabel lb1;
JLabel img[] = new JLabel[4];
int m_status[] = new int[4];
public Mouse()
{
super( " -打地鼠游戏-呵呵 ");
Container c = getContentPane();
c.setLayout(null);
lb1 = new JLabel( "恭喜您得分:0 ");
lb1.setFont(new Font( "宋体 ",Font.BOLD,16));
lb1.setSize(200,30);
lb1.setLocation(5,5);
c.add(lb1);
ImageIcon icon1 = new ImageIcon( "mouse.gif "); //注意图片要和class文件在一个目录下
for(int i=0;i <4;i++)
{
img[i] = new JLabel(icon1);
img[i].setSize(90,90);
img[i].setLocation(50+i*100,150);
img[i].setVisible(false);
img[i].addMouseListener(this);
c.add(img[i]);
m_status[i] = 0;
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,400);
setVisible(true);
score = 0;
timer = new Timer(2000,this);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
int i,j,x;
int rlist[]={0,1,2,3};
if(e.getSource()==timer)
{
for(i=0;i <4;i++)
{
j=(int)(Math.random()*4);
x=rlist[i];
rlist[i]=rlist[j];
rlist[j]=x;
}
for(i=0;i <4;i++)
{
if(m_status[rlist[i]]==0)
{
m_status[rlist[i]]=1;
img[rlist[i]].setVisible(true);
}
}
img[0].setVisible(true);
}
}
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
for (int i=0;i <4 ;i++ )
{
if(e.getSource()==img[i])
{
score+=10;
lb1.setText( "恭喜您得分: "+score);
img[i].setVisible(false);
m_status[i] = 0;
}
}
}
};
以上是我从网上找到的代码,可是运行起来只会在左上角出现:恭喜您得分:0
是图片放置有什么要求吗?不是放在跟CLASS文件同一目录就行了吗?
还有那些类似
public void mousePressed(MouseEvent e) 的左面有个小三角形是什么意思?
是代码还需要完善吗?
时间比较紧迫~~求高手解决!! 展开
import javax.swing.*;
import java.awt.event.*;
public class KillMouse
{
public static void main(String[] args)
{
new Mouse();
}
};
class Mouse extends JFrame implements MouseListener ,ActionListener
{
Timer timer;
int score;
JLabel lb1;
JLabel img[] = new JLabel[4];
int m_status[] = new int[4];
public Mouse()
{
super( " -打地鼠游戏-呵呵 ");
Container c = getContentPane();
c.setLayout(null);
lb1 = new JLabel( "恭喜您得分:0 ");
lb1.setFont(new Font( "宋体 ",Font.BOLD,16));
lb1.setSize(200,30);
lb1.setLocation(5,5);
c.add(lb1);
ImageIcon icon1 = new ImageIcon( "mouse.gif "); //注意图片要和class文件在一个目录下
for(int i=0;i <4;i++)
{
img[i] = new JLabel(icon1);
img[i].setSize(90,90);
img[i].setLocation(50+i*100,150);
img[i].setVisible(false);
img[i].addMouseListener(this);
c.add(img[i]);
m_status[i] = 0;
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,400);
setVisible(true);
score = 0;
timer = new Timer(2000,this);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
int i,j,x;
int rlist[]={0,1,2,3};
if(e.getSource()==timer)
{
for(i=0;i <4;i++)
{
j=(int)(Math.random()*4);
x=rlist[i];
rlist[i]=rlist[j];
rlist[j]=x;
}
for(i=0;i <4;i++)
{
if(m_status[rlist[i]]==0)
{
m_status[rlist[i]]=1;
img[rlist[i]].setVisible(true);
}
}
img[0].setVisible(true);
}
}
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
for (int i=0;i <4 ;i++ )
{
if(e.getSource()==img[i])
{
score+=10;
lb1.setText( "恭喜您得分: "+score);
img[i].setVisible(false);
m_status[i] = 0;
}
}
}
};
以上是我从网上找到的代码,可是运行起来只会在左上角出现:恭喜您得分:0
是图片放置有什么要求吗?不是放在跟CLASS文件同一目录就行了吗?
还有那些类似
public void mousePressed(MouseEvent e) 的左面有个小三角形是什么意思?
是代码还需要完善吗?
时间比较紧迫~~求高手解决!! 展开
2个回答
展开全部
该代码可以正常运行,启动后延时2S运行(timer = new Timer(2000,this);)
.1 ImageIcon icon1 = new ImageIcon( "mouse.gif ");
意思是说将图片放在工程的根目录
2 public void mousePressed(MouseEvent e)
左面小三角形表示该方法是实现MouseListener接口中的mousePressed方法
.1 ImageIcon icon1 = new ImageIcon( "mouse.gif ");
意思是说将图片放在工程的根目录
2 public void mousePressed(MouseEvent e)
左面小三角形表示该方法是实现MouseListener接口中的mousePressed方法
追问
。。。
难道是我没等到2S?
不可能啊~
图片要放在根目录?不是跟CLASS文件放在同一目录就行了吗?
追答
目前的代码,图片和CLASS文件放在同一目录是显示不出来的.
改一下代码,也可以放在其它目录,建议你学习下JAVA基础
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询