Java实现FlappyBird游戏附源码

版权声明:蜜蜂采花酿蜂蜜,奶牛吃草产牛奶。 https://blog.csdn.net/codehxy/article/details/25268295

/*本文介绍JavaSE实现的FlappyBird游戏
1,JavaSE游戏原理
swing(绘制界面)+多线程(同步)+监听(鼠标监听+键盘监听)
2,三个主要类*/
/**主窗口*/
public class World extends JPanel {
 public World() throws IOException {}
 public void start(){ }
 public void action() throws Exception{}
 @Override
 public void paint(Graphics g) {}
 public static void main(String[] args) throws Exception {}
}
/*World类就是本游戏的主窗口,继承JPanel实现paint方法,JPanel就是绘图的面板,
paint方法里面完成真正的绘图;main方法里面启动该程序,主要是设置JPanel窗口,
以及启动action方法.action方法完成添加鼠标监听,添加键盘监听以及加载主循环
的任务.World()方法完成界面图片的加载,调用start()完成游戏的初始化.*/
/**绘制小鸟*/
public class Bird {
public Bird() throws Exception {}
 /** 飞行一步*/
 public void step(){}
 /**更换小鸟的动画帧图片*/
 public void fly(){}
 /**绘制小鸟,绘制是并发执行的,要同步避免旋转坐标系对其他绘制方法的影响*/
 public synchronized void paint(Graphics g){}
 /** 判断鸟是否通过柱子 */
 public boolean pass(Column col1, Column col2) {}
 /** 检查当前鸟是否碰到柱子 */
 public boolean hit(Column col){}
}
/**绘制云*/
public class Ground {
 public Ground() throws IOException {}
 public void step(){}
 public void paint(Graphics g) {}
}
/**绘制柱子*/
public class Column {
 public Column(int n) throws IOException { }
 public void step(){}
 /**绘制柱子*/
 public void paint(Graphics g){}
}
/**使用随机变量r来控制柱子的中心位置,如此一来,柱子便是不断变换的效果*/
4,效果图


5,完整源码

 http://download.csdn.net/detail/codehxy/7313747 

展开阅读全文

没有更多推荐了,返回首页