编程小白自学Java开发FlyBird小游戏

大学在读学生,自学半个月Java后,利用寒假用三天时间开发出小游戏FlyBird,采用IDEA开发环境。参照B站代码帝国教程,重点学习了面向对象和构造方法。已上传游戏体验视频到B站。
摘要由CSDN通过智能技术生成

本人在读大学生一枚,在上个月自学了半个月的Java,现在寒假放假有空闲时间,用三天肝爆出一款之前爆火的小游戏,FlyBird,用的是IDEA开发环境。

参考了B站代码帝国的教学思路,在面向对象和构造方法中花费了不少功夫。废话不多说,以下是代码实现(素材和游戏演示视频在代码后面):

package Game; 
//游戏入口主类
import java.io.IOException;

public class GameBegin {
	public static void main(String[] dd) throws IOException{
		  GameFrame frame= new GameFrame();
		  frame.setVisible(true);
		  GamePanel panel=new GamePanel();
		  frame.add(panel);
		  }

}
package Game;
//小鸟类

import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

public class Bird {
	BufferedImage img;
	int x;
	int y;
	int w;
	int h;
	//小鸟飞行轨迹
	double v0;
	double t;
	double s;
	double g;
	List<BufferedImage> list;
	
	public Bird(){
		img=Tools.getImg("../img/bluebird0.png");
		w=img.getWidth();
		h=img.getHeight();
		x=50;
		y=150;
		list=new ArrayList<BufferedImage>();
		for(int i=0;i<4;i++){
			list.add(Tools.getImg("../img/bluebird"+i+".png"));
		}
	v0=4;//初始化速度
	t=0.21;//时间
	s=0;//距离
	g=0.8;//重力
	}
	//鸟的翅膀动起来
	int index=0;
	public void fly(){
		if(index>=4){
			index=0;
		}
		img=list.get(index);
		index++;
	}
	//小鸟的落体运动
	public void move(){
		s=v0*t;
		y=(int)(y-s);
		double v2=v0-g*t;
		v0=v2;
	}
	//小鸟向上运动
	public void up(){
		v0=12;	
	}
	//小鸟与顶部碰撞或地面发生碰撞
	public boolean hittop(){
		if(y<=0||y>=559)
			return true;
		return false;
	}
	//小鸟和柱子之间发生碰撞
	public boolean hit(Column column){
		if(x>=column.x-w&&x<=column.x+column.w&&y>=column.y-h+1){
			return true;
		}
		return false;
		
	}
	
	
}
package Game;

import java.awt.image.BufferedImage;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值