Java 桌球游戏开发

**

Java 桌球游戏 开发

**
步骤:

  1. 在项目下面创建images包,将两张图片复制在images包中
  2. 在src中创建Java类(BallGame.java)
  3. 复制代码
  4. 运行

1、创建images包
在这里插入图片描述

2、将两张图片复制在images包里中
desk.jpg 长宽:856×501(像素)
桌子图片
ball.png
在这里插入图片描述

3、 复制代码

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

/**
 * @author 南巷春风
 * @version 1.0
 * @data 2023/3/29 18:09
 */
public class BallGame extends JFrame {

    //导入图片
    Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");

    double x = 200;
    double y = 200;

    double degree = 3.14 / 3; //弧度。 3.14=180度 。 60度

    //绘制窗口
    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 > 501 - 40 - 30 || y < 40 + 40) {
            degree = -degree;
        }
        //碰到左右边界
        if (x > 856 - 40 - 30 || x < 40) {
            degree = 3.14 - degree;
        }

    }

    //创建窗口
    void launchFrame() {
        setSize(856, 501);//窗口的长宽
        setLocation(100, 100);//窗口出现的位置 x=100,y=100.原点在屏幕左上角
        setVisible(true);//开始运行模型

        //实现动画,每秒绘制窗口25次
        while (true) {
            repaint();
            try {
                Thread.sleep(40); //1s=1000,;大约每一秒绘制1000/40=25次。
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }

    }

    public static void main(String[] args) {
        System.out.println("我的小游戏开始了!");
        BallGame game = new BallGame();
        game.launchFrame();
    }
}

4、运行结果
运行结果

ps:生成的桌面出现的加载缓慢或者残缺,不用担心这是正常的。可以双击导航条最大化,再双击返回原始窗口大小。图片就可以正常加载了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值