java基础02

桌球小游戏 

运用eclipse进行编写

在创建好项目后要在项目中添加一个imagme文件,用于存放游戏所用的两张图片。

 

 注意图片的后缀名是png还是jpg

在src中导包,导类

 进行编写

 

  • 第一阶段:

测试一下,运行后会有一个窗口

import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame{
	
	//窗口加载
	void launchFrame(){
		setSize(300,300);
		setLocation(400,400);
		setVisible(true);
		
	}
	
	//main方法是程序执行的入口
	public static void main(String[] args){
		System.out.println("一个窗口");
		BallGame game= new BallGame();
		game.launchFrame();
	}

}

运行结果:

第一阶段测试
  •  第二阶段

 这是最终代码

package day2;

import java.awt.*;
import javax.swing.*;
public class BallGame2 extends JFrame{
	
	Image ball=Toolkit.getDefaultToolkit().getImage("imagme/ball.png");
	Image desk=Toolkit.getDefaultToolkit().getImage("imagme/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<40||x>856-40-30){
			degree=3.14-degree;
		} else {

		}
	}
	
	//窗口加载
	void launchFrame(){
		setSize(856,500);
		setLocation(50,50);
		setVisible(true);	
	
	//重画窗口  
	while(true){
		repaint();
		try {
			Thread.sleep(40); //40ms,大约一秒画20次窗口
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
		
		
	}
	
	//main方法是程序执行的入口
	public static void main(String[] args){
		System.out.println("一个窗口");
		BallGame2 game= new BallGame2();
		game.launchFrame();
	}

}

运行结果:

会进行撞击并反弹 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值