java 台球_Java实现简单台球游戏

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

需求:

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

素材:

小球照片

a888c2e1b48d32a9eb76845e700fc522.png

桌球照片

23682ab1cee004a2898ed0c9bc5437a1.png

程序源代码:

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();

}

}

运行效果

a5fb2f4e4e68a12f444560edaeb083c4.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持谷谷点程序。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部