One 许增宝

Java 实现简单台球
代码: import java.awt.*; import javax.swing.*; public clas...
扫描右侧二维码阅读全文
25
2019/04

Java 实现简单台球

代码:


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

public class BallGame extends JFrame{
    
    Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
    
    // 小球的横纵坐标
    double x = 100;
    double y = 100;
    // 弧度
    double degree = 3.14/3;
    
    // 画窗口方法,每调用一次,窗口就被画一次
    public void paint(Graphics g){
        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);
        
        // 控制小球回弹
        // 500 是窗口高度,40 是桌子边框,30是直径,最后一个40是标题栏高度
        if(y>500-40-30||y<40+40){
            degree = -degree;
        }
        
        if(x<40||x>856-40-30){
            degree = 3.14 - degree;
        }
    }
    
    void launchFrame(){
        // 宽和高 300,300
        setSize(856,500);
        // 窗口坐标
        setLocation(50,50);
        setVisible(true);
        
        // 重画窗口,每秒画 25 次
        while(true){
            repaint();
            try{
                Thread.sleep(40);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
    // 程序入口
    public static void main(String[] args){
        BallGame game = new BallGame();
        game.launchFrame();
    }
}
最后修改:2019 年 04 月 25 日 11 : 20 PM

发表评论