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方法。
FlappyBird开发帮助文档的更多相关文章
- Enterprise Solution 2.2 开发帮助文档集合
首先是一个PPT文档,从宏观层面展示Enterprise Soltion的几个功能特色. Enterprise Solution解决方案安装与配置 将源代码解决方案和演示程序在电脑中进行配置,作为了解 ...
- WEB前端开发规范文档(转)
http://codeguide.bootcss.com/ 编写灵活.稳定.高质量的 HTML 和 CSS 代码的规范上面的文档 再结合下面的规范: 无论是从技术角度还是开发视角,对于web前端开发 ...
- Android APP开发需求文档范本
Android APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...
- 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事
Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...
- Web前端开发规范文档你需要知道的事
Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...
- jcseg-1.8.7版本发布 - 多配置适应+完整开发帮助文档
jcseg是使用java开发的一款开源中文分词器, 并且提供了最新版本的lucene和solr分词接口. jcseg 1.8.7版本发布了: 1. 更改了内部设计, 加入JcsegTaskConfig ...
- WEB前端开发规范文档[转]
为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益的. 本文档由本人编写, 部分意见来源于网络, 以此感谢, ...
- app开发需求文档怎么写
我们在开发app前都会做需求分析,这个app开发需求文档怎么写呢?一般可以从这几点入手:确定APP方案的目标,APP方案的受众分析,APP开发方案功能设计,APP的操作系统说明方案,APP是是否是原生 ...
- javadoc 工具生成开发API文档
=====================先来一点成就感===================== package com.springMybatis.dao; import com.springMy ...
随机推荐
- Java final类&所有构造方法均为private的类(类型说明符&访问控制符)
1. final是类型说明符,表示关闭继承,即final类不能有子类: 但final类可能可以在类外创建对象(即final类的构造方法可以不是private型): 在同一包中时,可以在任何另外一个类中 ...
- 互粉的sql查询
建立表: CREATE TABLE `tb_sns_attention` ( `id` int(11) NOT NULL AUTO_INCREMENT, `to_uid` int(11) NOT NU ...
- HTTP与HTTPS有哪些区别?
大纲 这里写图片描述一.前言: 这里写图片描述这里写图片描述先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.1230 ...
- linux 迁移项目ProtocolException
背景:服务器跟换机房,虚拟机完整迁移项目,只修改ip和主机名 1.检查/etc/hosts 中ip 和主机名映射 2.检查网络端口是否有限制以及端口开放是否全了,检查ip有没有配对.RMI注册不上.
- JVM CUP占用率过高排除方法,windows环境
jdk自带的jvisualvm可以看到程序CPU使用率,但是无法确定具体的线程,想要确定到具体的线程需要借用到微软的Process Explorer 具体排除方法: 一:打开资源管理器,找到cup占用 ...
- java + tomcat cookie 异常
Cookie cookie = new Cookie(username,value); cookie.setMaxAge(60*60*24*7,cookie); ...
- JavaScript 实时 全角转半角
//JavaScript全角字符转半角(参数str为input框输入的内容)var $fullChar2halfChar = function(str) { var result = ''; for ...
- C# 温故之.NET 异步
Bitter Coffee的温故之.NET 异步 相当经典(请允许我用经典两字),读了好几遍,留存.
- Maven中添加镜像
Maven库在天朝的下载速度实在是感人,所以添加镜像之后速度会提升很多. 在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror <mirror> ...
- http协议发送post请求
package post; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...