1. 程式人生 > >JAVA 第一個小專案 桌球遊戲 (桌球小程式練習2)最終版本

JAVA 第一個小專案 桌球遊戲 (桌球小程式練習2)最終版本


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

public class BallGame2 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; //弧度 此處: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>500-40-30||y<40+40){//500是視窗高度,40是桌子邊框,30是球的直徑最後一個40是標題欄的高度。
degree = -degree;
}

if(x<0+40+30||x>856-40-30)
{
degree = 3.14 -degree;
}


}

//視窗載入
void lanunchFrame(){
setSize(856,500);//視窗大小
setLocation(50,50);//視窗位置
setVisible(true);


//重畫視窗,每秒畫25次
while(true){
repaint();
try{
Thread.sleep(40);//40毫秒,1秒=1000毫秒 大約一秒畫20次視窗
}catch(Exception e){
e.printStackTrace();
}

}
}


//main方法是程式執行的入口
public static void main(String[] arge)
{
System.out.println("我是林超,這是我的第一個遊戲程式");
BallGame2 game = new BallGame2();
game.lanunchFrame();
}
}