zoukankan      html  css  js  c++  java
  • FlappyBird开发帮助文档

    FlappyBird开发帮助文档

    项目需求

    完成FlappyBird游戏。

    功能说明:

    游戏开始后,间歇性的点击鼠标,让小鸟向上飞,不会掉下来,并且要穿过柱子的空隙,不能碰到柱子,碰到就dead了,穿过一个柱子的一分

    界面需求:

    开始界面:

    点击鼠标后开始游戏,游戏时界面:

    游戏结束时界面:

    性能规定:

    游戏要求每点击一下鼠标,必须实时响应为小鸟向上飞指定的高度,并且小鸟一直有下降的速度,并且柱子也要一直循环的出现,最后使得小鸟能够灵活连贯的的穿梭于柱子之间。

    开发步骤:

    项目包含主程序类Game.java,自定义面板类BirdGame.java,小鸟类:Bird.java,柱子类Column.java,地面类:Ground.java,

    (1).创建柱子类Column.java

    包含属性:

    图片BufferedImage,坐标x,y,图片宽度和高度width,height

    柱子个数count(最多初始化两根柱子对象)。

    构造方法Column():

    柱子移动方法move():

    (2).创建Ground.java类

    构造方法加载图片,初始化坐标(0,500),创建move方法

    (3).创建Bird.java类

    构造方法加载图片,初始化坐标(190,220),创建up和down方法

    创建加分addScore(Column c)方法,原理当bird的横坐标等于柱子的横坐标加柱子的宽度时即加一分。

    创建地面碰撞方法hitGround方法,原理提示,bird纵坐标和ground纵坐标比较。

    创建柱子碰撞检测hitColumn方法

    (4).创建BirdGame.java面板类,继承JPanel

    state变量表示游戏状态,0表示开始状态,1表示游戏中状态,2表示游戏结束状态。

    构造方法加载bg.png,start.png,gameover.png,初始化state=0,初始化ground,bird,column1和column2对象。

    重写paint方法public void paint(Graphics g)

    利用g.drawImage方法绘制界面

    显示分数

    定义内部类MyMouseAdapter 继承MouseAdapter

    重写mousePressed方法public void mousePressed(MouseEvent e)

    根据当前游戏状态,更改鼠标点击后状态及对应对象坐标。

    创建action方法,添加鼠标监听事件

    无限循环(while(true))根据不同游戏状态调用bird,ground,column对象中的方法(利用switch case),然后利用线程延迟实现重复绘制

    (5).创建Game.java作为运行主类,原理:

    Main方法中创建JFrame对象,将BirdGame面板实例化后添加进JFrame对象中,最后调用BirdGame对象的action方法。

  • 相关阅读:
    统计中的f检验和t检验的区别
    统计中的t检验
    降维工具箱drtool
    pca主成份分析方法
    经典相关分析,典型关分析, CCA,Canonical Correlation Analysis,多元变量分析,线性组合,相关系数最大化
    博客中插入公式——之在线数学公式生成
    Mathtype常用快捷键
    下标运算符重载
    赋值运算符的重载
    算术和关系运算符重载
  • 原文地址:https://www.cnblogs.com/qfchen/p/10672184.html
Copyright © 2011-2022 走看看