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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。