分别基于WIN32 API界面编程和Cocos2d-x实现的两个版本FlappyBird游戏

news/2024/7/8 3:31:20

1 开发背景

游戏程序设计涉及了学科中的各个方面,鉴于目的在于学习与进步,本游戏《Flappy Bird 》采用了两个不同的开发方式来开发本款游戏,一类直接采用win32底层API来实现,另一类采用当前火热的cocos2d-x游戏引擎来开发本游戏。

2 需求分析

2.1 数据分析

本项目要开发的是一款游戏,游戏是幻想与现实之间的桥梁,设计一款精美的游戏,既能娱乐,又能提升自我实力,是一次不错的实践。

开发的系统要求界面友好,方便直观,功能易懂。

2.2 可行性分析

  • 经济可行性分析:从支出、收益以及两者之间的关系来分析,还需要进行投资回收期分析、敏感性分析

  • 技术可行性分析:对提出的主要技术路线进行分析

  • 社会可行性分析:从组织内外部的社会环境入手来分析,如系统在法律方面和使用方面的可行性

2.3 设计模式分析

在底层win32设计下,程序实体类采用抽象工厂模式,每个实例工厂生产一个产品族内的所有类,包括实体本身与对应实体的画笔等,而游戏中的各个状态可采用状态模式设计,但考虑到游戏状态的拓展性较低以及,游戏的状态较少,故暂不采用状态模式。

在cocos2d-x引擎下,引擎已经帮我们实现了大部分的功能,其中较为突出的有导演类的单例模式,有限自动机的状态模式,通知中心的观察者模式等等。

3 项目设计

3.1 项目主要设计

  • 运行可执行文件,即可进入本游戏,点击开始按钮,游戏开始

  • 在win32下,小鸟通过响应空格按钮进行飞翔,cocos2d-x平台下,通过响应鼠标点击进行飞翔

  • 小鸟通过飞过每一根柱子实现分数加成

  • 小鸟碰撞柱子或碰撞陆地或离开屏幕区域死亡,记录死亡分数,游戏结束

  • 通过分数榜更新每次游戏的分数以及最高分数

  • 通过点击重新开始按钮开始新一轮的游戏,并且恢复游戏中各个实体的状态

  • 其中,各个实体的信息会随每次游戏的开始于结束展现不同的表现形式,如小鸟的颜色,背景的切换等等

  • 点击此处下载文档和源码

http://www.niftyadmin.cn/n/3102296.html

相关文章

基于WIN32 API界面编程实现的贪吃蛇游戏

1 设计目的和任务 本次期末大作业采用课程设计的形式进行,作为《Windows编程》课程的期末考核。要求综合运用Windows编程的相关知识,完成大作业的相关内容,并撰写设计报告。其目的和任务是: 巩固和加深学生对本课 程基本知识的理…

定制调试诊断工具和实用程序

定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(一)原著:Christophe Nasarre编译:NorthTibet 下载源代码:Debugsrc0206.exe (583KB)原文出处:Windows XP&a…

产品经理需要的技能,我有吗?

经常被问产品经理需要哪些技能?或许能说出二三,但是更多时候我在思忖,我是否有这些技能? 一.逻辑能力 产品经理需要把用户所有的操作情况都考虑到,尽可能多的考虑使用场景,这需要严谨的逻辑分析能力。而我作…

远程音视频(摄像头、麦克风)监控(amccap)/mms流媒体直播服务器编程实现

转自:http://hi.baidu.com/it_security/blog/item/315f36d0f382eadb562c8474.html 远程音视频(摄像头、麦克风)监控(amccap)/mms流媒体直播服务器编程实现2009-03-10 00:41使用windows media encoder sdk V9.0 (wMencsdk/wm encoder/wmencoder)。 稍作改进可以1&…

SharePoint 2010 工作流解决方案:将 SharePoint Designer 可重用工作流导入 Visual Studio(1)...

将 SharePoint Designer 可重用工作流导入 Visual Studio 在 SharePoint Designer 中创建的工作流(即,声明性工作流)由 XML 语句组成,而非由代码组成。 SharePoint Designer 2010 引入了可重用工作流,它们是可由 Share…

C++实现的基于链表的通讯录管理系统

摘 要 随着计算机应用技术的快速发展和日益普及,网络也遍及到我们生活的每个角落,为我们的学习和工作带来极大的方便。很多人都使用过传统的纸质通讯录,与之不同的另外一种管理方式——程序通讯录管理。程序通讯录管理系统面向全部用户&…

配置一个编码进程

转自:http://www.host01.com/Print.Html?90651 配置一个编码进程 要想完全地配置一个编码程序,下面的接口必须被正确地设置。注意可选择的接口。 1. The IWMEncAttributes interface (optional).(可选择的,随意的&…

HearthBuddy卡牌无法识别

界面上无法识别,提示是 [Unidentified card ID :DAL_010][Unidentified card ID :DAL_415] 搜索getcardid,在所有的相关函数处设置断点,看会进入哪里的断点 发现是进入了namespace Triton.Game.Mapping [Attribute38("EntityBase")…