java练习题——简易的桌球游戏

第一个练习题,只能观赏。

import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame{
 
 Image ball =Toolkit.getDefaultToolkit().getImage("img1/ball.png");
 Image desk =Toolkit.getDefaultToolkit().getImage("img1/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-30-40||y<40+40) {//500是窗口高度;40是桌子边框,30是球直径;最后一个40是标题栏
   degree = -degree;
  }
  //左右边界
  if(x<0||x>856-40-30) {
   degree = 3.14-degree;
  }
  
 }
 
 //窗口加载
 void launchFrame() {
  setSize(856,500);
  setLocation(50,50);
  setVisible(true);
  
  //重画窗口
  while(true){
   repaint();
   try {
    Thread.sleep(40);//40ms,1s=1000毫秒,大约一秒画25次窗口
   }catch(Exception e) {
    e.printStackTrace();
   }
  }
  
 }
 public static void main(String[] args) {
  System.out.println("你好");
  BallGame game = new BallGame();
  game.launchFrame();
 }
}

你可能感兴趣的:(java练习题——简易的桌球游戏)