public void mouseClicked(MouseEvent e){\x0d\x0aObject source=e.getSource() //获取事件源,即
地鼠标签\x0d\x0aif(source instanceof JLabel){ //如果事件是举尘标签组件\x0d\x0aJLabel mouse=(JLabel)source //正姿禅强制转换为JLabel标签\x0d\x0amouse.setIcon(null) //取消标签图标\x0d\x0a}\x0d\x0a}\x0d\x0a})\x0d\x0athis.getContentPane().add(mouses[i]) //添加显示地鼠的标签到窗体\x0d\x0a}\x0d\x0a\x0d\x0amouses[0].setLocation(253, 300) //设置每个标签的位置\x0d\x0amouses[1].setLocation(333, 250)\x0d\x0amouses[2].setLocation(388, 296)\x0d\x0amouses[3].setLocation(362, 364)\x0d\x0amouses[4].setLocation(189, 353)\x0d\x0amouses[5].setLocation(240, 409)\x0d\x0a\x0d\x0afinal JLabel backLabel=new JLabel() //创建显示背景的标签册差\x0d\x0abackLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight())\x0d\x0athis.setBounds(100,100,img.getIconWidth(),img.getIconHeight())\x0d\x0abackLabel.setIcon(img)//添加背景到标签\x0d\x0athis.getContentPane().add(backLabel) //添加背景标签到窗体\x0d\x0a}\x0d\x0a/**\x0d\x0a* 线程的核心方法\x0d\x0a*/\x0d\x0a\x0d\x0apublic void run(){\x0d\x0awhile(true){//使用无限循环\x0d\x0atry{\x0d\x0aThread.sleep(3000)//使线程休眠3秒\x0d\x0aint index=(int)(Math.random()*6) //生成随机的地鼠索引\x0d\x0aif(mouses[index].getIcon()==null){ //如果地鼠标签没有设置图片\x0d\x0amouses[index].setIcon(imgMouse) //为该标签添加地鼠图片\x0d\x0a}\x0d\x0a}catch(InterruptedException e){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a}只要是涉及到Map,List,Tree等等集合、列表之类的都算用到
数据结构。
所以说一般稍复杂点的程序都会用到数据结构,我想你应该问的是如何用数据结构的思想去理解打地鼠游戏吧?
如果是面向对象语言编程的话,首先你需要将每个小鼠洞看做一个对象,将全部鼠洞设计成该对象的二维数组。然后你需要有随机算法来指定哪个粗嫌森鼠洞是否出现老鼠。者轿然后还需要有触发事件来确定锤子的击打坐标。
真正要做出来要考虑还很多,希望你先理清思路然后岩亩由浅入深。
评论列表(0条)