java桌球小游戏

<code>package zhuoqiu;
import java.awt.*;
import javax.swing.*;
public class BallGame2 extends JFrame {
\t//加载图片,这是两个对象
\tImage ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
\tImage desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
\t
\tdouble x=100;//小球的横坐标
\tdouble y=100;//小球的纵坐标
\tdouble degree=3.14/3;//弧度。此处就是:60度
\t
\t
\t//画窗口的方法
\tpublic void paint(Graphics g) {
\t\t//System.out.println("窗口被画了一次");
\t\tg.drawImage(desk, 0, 0, null);
\t\t//画ball对象坐标位于(100,100)
\t\tg.drawImage(ball, (int)x,(int)y, null);
\t\t
\t\tx=x+10*Math.cos(degree);//这里的10代表的是速度
\t\ty=y+10*Math.sin(degree);
\t\t
\t\tif(y>500-40-30||y<40+40) {//500是窗口高度;40是桌子边框,30是球直径;最后一个40是标题栏的高度
\t\t\tdegree=-degree;
\t\t\t
\t\t}
\t\t//碰到左右边界
\t\tif(x<40||x>856-40-30) {
\t\t\tdegree=3.14-degree;
\t\t}
\t\t
\t\t
\t\t
\t\t
\t}
\t
\t//窗口加载
\tvoid launchFrame() {
\t\tsetSize(856,500);
\t\tsetLocation(50,50);
\t\tsetVisible(true);
\t\t
\t\t//重画窗口,每秒画25次
\t\twhile(true) {
\t\t\trepaint();
\t\t\ttry {
\t\t\t\tThread.sleep(40); //40ms,1秒=1000毫秒,大约1秒画20次窗口,就和放电影一样,1秒放20帧
\t\t\t} catch (Exception e) {
\t\t\t\te.printStackTrace();
\t\t\t}
\t\t\t
\t\t\t
\t\t\t
\t\t}
\t}
\t
\t//main方法是程序执行的入口
\tpublic static void main(String[] args) {
\t\tSystem.out.println("这是一个桌球小游戏,肯定你没看懂,但是你不要放弃。");
\t\t//创建一个对象
\t\tBallGame2 game=new BallGame2();
\t\tgame.launchFrame();
\t}

}
/<code>



分享到:


相關文章: