桌球小游戏01

 2017-6-7 10-36-30.png

项目需求:

      桌球在球桌中按照一定线路和角度移动,遇到边框会自动弹回。

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;//小球的纵坐标
	boolean right=true;//方向
	//画窗口的方法
	public void paint(Graphics g) {
		System.out.println("窗口被画了一次!");
		g.drawImage(desk,0,0,null);
		g.drawImage(ball,(int)x,(int)y,null);
		if(right) {
			x=x+10;
		}else {
			x=x-10;
		}
		if(x>856-40-30) {//856是窗口宽度,40是桌子边框的宽度,30是小球的直径
			right=false;
		}
		if(x<40) {//40是桌子边框的宽度
			right=true;
		}
			
			
	}
	

	
	//窗口加载
	void launchFrame()
	{
		setSize(856,500);
		setLocation(50,50);
		setVisible(true);
		//重画窗口,每秒画25次
		while(true) {
			repaint();
			try {
				Thread.sleep(40);//40ms.1秒=1000毫秒,大约一秒画20次窗口
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
	}
	//main方法是程序执行入口
	public static void main(String[] args)
	{
		System.out.println("我是陈赞宇,这个游戏让大家体验快感");
		BallGame game=new BallGame();
		game.launchFrame();
	}
}

猜你喜欢

转载自blog.csdn.net/chen_zan_yu_/article/details/88575564