【項目】改進版桌球小遊戲1

桌球小遊戲是初學Java的同窗可能會遇到的一個趣味小項目。寓教於樂,增長了學習編程的樂趣。這裏筆者在最基本的桌球小遊戲中,改進思路是經過引入一個可輸入的變量speed來存放速度變量並設置速度變量隨着時間遞減,再採用for循環當速度變量小於0時就停止循環到達小球再也不移動的效果,改進內容以下:java

1能夠輸入桌球初始速度編程

2桌球速度隨着時間遞減,最後會停留到某處。學習

效果以下:blog

 

 

 

 

//改進版本桌球遊戲
import java.util.Scanner;
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");
	Scanner scan=new Scanner(System.in);
	//小球座標
	double x=100;
	double y=100;
	boolean right = true;
	//輸入一個大於0的小球初試速度
	
	double speed=scan.nextDouble();
	
	//畫窗口的方法
	public void paint(Graphics g) {
		System.out.println("窗口被畫了一次");
		g.drawImage(desk, 0, 0, null);
		g.drawImage(ball,(int)x,(int)y,null);
		if(speed>0) {
			if(right) {
				x=x+speed;
			}else {
				x=x-speed;
			}
			
			if(x>856-70) {
				right=false;
			}
			
			if(x<60) {
				right=true;
			}
			
		}	
		}
		
	
	//窗口加載
	void launchFrame() {
		setSize(856,500);
		setLocation(100,100);
		setVisible(true);
		//重畫窗口
		while(true) {
			repaint();
			try {
				Thread.sleep(40);
				speed=speed-0.5;
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
	
	}
	

	
	//main方法是入口
	public static void main(String[] args) {
		System.out.println("桌球小遊戲");
		System.out.println("輸入一個大於0的小球初試速度");
		BallGame2 game = new BallGame2();
		game.launchFrame();
	}
}
相關文章
相關標籤/搜索