此小游戏只为让Java初学者感受到学习Java的乐趣,不为严谨。
以下是完整代码:
package com.bjsxt.game;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
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){
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) {
degree=-degree;
} else if (y<40+40) {
degree=-degree;
}
if (x>856-40-30) {
degree=3.14-degree;
} else if(x<40){
degree=3.14-degree;
}
}
//窗口加载
void launchFrame() {
setTitle("桌球游戏-----此小游戏完全是为了让学Java感到有兴趣,只为娱乐,不为严谨!!");
setSize(856, 500);
setLocation(50, 50);
setVisible(true);
//重画窗口
while (true) {
repaint();
try {
Thread.sleep(40);//40ms 1s画25次窗口
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
System.out.println("此小游戏完全是为了让学Java感到有兴趣,只为娱乐,不为严谨!!");
BallGame2 game=new BallGame2();
game.launchFrame();
}
}