2。相关技术背景

2。1 Cocos2d-x简介

 Cocos2d-x中“x”有几个含义 :首先是C++的文件扩展,“X”表示程序由C++编写的,另一面表示着相互穿插编译,开源源码的目标是让一切初学者能够很快地接受源码学习。Cocos2d是用C++写的的底层引擎。因Cocos2d-x引擎编码具有跨平台的优点,另外Cocos2d源码容易掌握、能够使得最大程度的接受学习。所以Cocos2d-x能够长期驻足于初学者的手上。

 Cocos2d是一个建立在MIT协议的开源框架上,用于创建游戏、使用程序和其余UI界面交互。是一个C++编写的版本。能用Cocos2d作为编码的核心是它本身具备跨平台以及其提供的开放源码。手游可以用C++及Lua编码,利用其核心代码可以使其全部兼备。Cocos2d-X的编码可以很方便地创建、调试在苹果、安卓、黑莓等操作系统上。Cocos2d-x还支持微软、Mac和Linux等电脑端操作系统,因而程序员们编写的代码有大部分功夫都是电脑上Coding及Debug。

 Cocos2d-x的重要特性:Flow control(流程管制):容易管理差异。Scenes(场景)之间的流程切换;Sprites(精灵):容易好学的Sprites;Actions(动作):传递给精灵需要干什么。组合动作:Move(移动)、Rotate(旋转)和Scale(缩放);Effects(特效):包含Waves(波浪)、Twirl(旋转)和Lens(透镜)等;Tiled Maps(平面地图):支持矩形和多边形平面地图;Transitions(转换):从一个场景跳转到另一个页面;Menus(菜单):新建内部菜单;Text Rendering(文本渲染):支持Lable和HTML标签动作;Documents(文档):编码指导、程序编码参考还有许多教用户怎么去学的测试案例源码;OpenGL:支持硬件加速;脚本语言:支持Lua、JavaScript语言。

2。2数据结构及算法

2。2。1顺序容器vector

Vector是C++标准模板库中的部分,是一个多功能的库函数,能够完成多种数据结构和算法的模板类函数库。Vector就是一个像容器一样得,就是因为能够像杯子一样寄存不同种类的对象,通俗的讲,Vector是一个能够存放不限类型的动态数组,可以运用一些容易的方法来对数据进行增查改删操作。

2。2。2关联容器Map

Map是键值对的汇集,Map是一类型的关联容器:可使用它的下标来获取值,就和内嵌数组类型相同。而关联的本身在于元素的值与某个特定的键相联系,而不是通过某元素在数组中的排序来得到。往map容器里添加成员或取成员值时,假定成员为空就自动添加成员,在统计同样的类型牌的大小的时候,可以利用Map容器对牌来计数,最后找出牌的大小类型。

3。系统的总体设计

3。1软件的需求分析

该软件设计的是一款棋牌类斗地主游戏,用户登录之后看到人工智能自动发牌,在发牌之后可以进行选择是否叫地主,根据用户的叫分情况来判断是否为地主,进行出牌选牌。在进行玩牌过程中,要实现机器智能玩家快速的识别出牌。

软件功能模块图,如图1所示。

图1 软件功能模块图

3。2模块的构建

依照Cocos2d-x的棋牌类斗地主游戏的需求剖析来看,设计功能模块包括重玩模块、自动发牌模块、玩家叫分模块、出牌选牌模块、人工智能模块等。

3。2。1自动发牌

自动发牌可以理解为:当有3个玩家连接到服务器时,服务器自动洗牌分发给玩家,玩家收到牌数据后利用客户端的绘图函数动态的绘制牌,绘制牌的函数可以利用vector容器的一些增删查改操作结合Cocos2d-x自带的定时器,每隔一段时间Action一张牌,即可完成动态发牌的效果。文献综述

上一篇:asp.net+sqlserver班级风采网站的设计+源代码
下一篇:基于VC++打老鼠游戏的设计

Android智能手机的交互式学习系统的设计

Android智能手机的移动校园新闻平台的设计

HTML5和android的手机聊天机器人APP开发

智能手机APP的高校浴室人流量系统研究

智能手机APP的附近停车场系统方案研究

AL3003光控安卓手机解锁软件设计

E4A基于ABMicro850PLC的手机端监控软件开发

安康汉江网讯

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

张洁小说《无字》中的女性意识

ASP.net+sqlserver企业设备管理系统设计与开发

互联网教育”变革路径研究进展【7972字】

麦秸秆还田和沼液灌溉对...

新課改下小學语文洧效阅...

LiMn1-xFexPO4正极材料合成及充放电性能研究

网络语言“XX体”研究