java实现桌球游戏
本文实例为大家分享了java实现桌球游戏的具体代码,供大家参考,具体内容如下
思维
1窗口加载即创建一个窗口
2在窗口内显示图片,先后顺序(桌面,球)否者会被覆盖掉。
3.更改球的x,y,刷新窗口
ecipse
1.建立于src同级的newfolder
new—>folder---->image(文件名)
图片直接从外部cpoy,在文件名上复制
2.下面直接完整代码注释都在里边
packageday01; importjava.awt.*;//导包 importjavax.swing.*;//导包 publicclassBallGameextendsJFrame{/*继承JFrame*/ Imageball=Toolkit.getDefaultToolkit().getImage("image/ball.png"); Imagedesk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg"); doublex=100; doubley=100; booleanright=true; //画桌面球窗口的方法 publicvoidpaint(Graphicsg){ //System.out.println("一次"); g.drawImage(desk,0,0,null); g.drawImage(ball,(int)x,(int)y,null); //x=x+1; if(right) x=x+10; else x=x-10; if(x>856-40-30)//座框和球的直径 right=false; if(x<40)//座框 right=true; } //窗口加载 voidlaunchFrame(){ setSize(856,500); setLocation(50,50); setVisible(true); //重画窗口一秒25次 while(true) { repaint();//重复paint这个函数 //异常处理trycatch try{ Thread.sleep(40);//40ms刷新 }catch(Exceptione){ e.printStackTrace(); } } } //程序入口 publicstaticvoidmain(String[]args){ System.out.println("桌球游戏"); BallGamegame=newBallGame(); game.launchFrame(); } }
3.上下弹的代码
packageday01; importjava.awt.*; importjavax.swing.*; publicclassBallGame2extendsJFrame{ Imageball=Toolkit.getDefaultToolkit().getImage("image/ball.png"); Imagedesk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg"); doublex=100; doubley=100; doubledegree=3.14/3; //画窗口的方法 publicvoidpaint(Graphicsg){ //System.out.println("一次"); g.drawImage(desk,0,0,null); g.drawImage(ball,(int)x,(int)y,null); x=x+10*Math.cos(degree); y=y+10*Math.sin(degree); if(y>500-40-30||y<40+40)//框+座框直径 degree=-degree; if(x<40||x>856-40-30) degree=3.14-degree; } //窗口加载 voidlaunchFrame(){ setSize(856,500); setLocation(50,50); setVisible(true); //重画窗口一秒25次 while(true) { repaint(); try{ Thread.sleep(40);//40ms刷新 }catch(Exceptione){ e.printStackTrace(); } } } //程序入口 publicstaticvoidmain(String[]args){ System.out.println("桌球游戏"); BallGame2game=newBallGame2(); game.launchFrame(); } }
不懂的大家可以交流,数学公式不用纠结。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。