软件编程
位置:首页>> 软件编程>> java编程>> Java实现简单台球游戏

Java实现简单台球游戏

作者:xujinshan361  发布时间:2022-06-28 23:55:59 

标签:java,台球,游戏

Java实现简单台球桌问题,供大家参考,具体内容如下

需求:

使小球可以在桌面上移动,移动到桌面边缘将被弹回,显示小区的移动

素材:

小球照片

Java实现简单台球游戏

桌球照片

Java实现简单台球游戏

程序源代码:


package 桌球游戏;

import java.awt.*;
import javax.swing.*;

public class BallGame extends JFrame {

Image ball=Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg");

double x=100;//小球的横坐标
double y=100;//小球的纵坐标
/*boolean right =true; //方向*/
double degree=3.14/3; //弧度表示,60°

//窗口加载
void launchFrame() {
setSize(856,500); //参数和桌面有关
setLocation(400,400);
setVisible(true); //设置窗口可见

//重画窗口,每秒画25次
while(true) {
repaint();//repaint()方法会调用paint()方法
try {
Thread.sleep(20);//40ms,
}catch(Exception e) {
e.printStackTrace();
}
}
}

//画窗口方法
public void paint(Graphics g){
System.out.println("窗口被画一次!");
g.drawImage(desk,0,0,null);
g.drawImage(ball, (int)x,(int)y, null);
/*   //注释内容为小球水平方向移动
x=x+1;
if(right) {
x+=10;
}else {
x-=10;
}
if(x>856-40-30) //30小球的直径,40球桌边框的
right=false;
if(x<40)
right=true;
//y=y+2;
* */
x=x+10*Math.cos(degree);
y=y+10*Math.sin(degree);

//当小球遇到桌面的上下界面时,发生反转,
if(y>500-40-30||y<40+40) //(40+40)一个表示标题栏,一个时球桌宽
degree=-degree;
if(x<0+40||x>856-40-30)
degree =3.14-degree;
}

//main 方法执行入口
public static void main(String []args) {
System.out.println("欢迎来到小球游戏!");
BallGame game=new BallGame();
game.launchFrame();

}
}

运行效果

Java实现简单台球游戏

来源:https://blog.csdn.net/xu_jin_shan/article/details/85237667

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com