Java小项目(一):桌球游戏(简单移动)

本文介绍了一个使用Java Swing实现的桌球模拟动画程序。该程序通过不断更新小球的位置并检查边界碰撞来模拟桌球在桌面上的运动。通过调整角度和速度参数可以改变小球的运动轨迹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述:桌球在球桌中按照一定线路和角度移动,遇到边框会自动弹回。

 代码如下:

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

public class Myball02 extends JFrame {
    Image ball =Toolkit.getDefaultToolkit().getImage("images/ball.png");
    Image desk =Toolkit.getDefaultToolkit().getImage("images/desk.png");

    double x =200;
    double y =200;

    double degree =3.14/3;

    boolean right =true;//控制小球水平移动方向
    //绘制窗口
    public  void paint(Graphics g){
        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>320||y<70){
            degree=-degree;
        }
        //碰到左右边界
        if (x>600||x<70){
            degree =3.14-degree;
        }

    }
    
    //创建窗口
    void lanchFrame(){
        setSize(700,412);
        setLocation(100,100);
        setVisible(true);
        //实现动画每秒25次
        while (true){
            repaint();

            try {
                Thread.sleep(40);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    
    public static void main(String[] args) {
        System.out.println("小游戏第一版本");
        Myball02 a =new Myball02();
        a.lanchFrame();
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值