上一篇博文我们看到了象棋的效果图,这一张我们来看象棋代码的整体概述

让我们先对整个代码框架有个了解。

主目录:

主目录包含内容如上图:

classes目录:业务代码

proj.win32:包括main.cpp和工程文件

Resorces:代码中用到的资源

剩下三个文件我们不用,不解释了

classes目录:

classes目录代码如上图

这里包含了一下代码文件,以cpp为例解释

WelCome.cpp:是欢迎页面的实现

AppDelegate.cpp:是app委托类,对cocos2dx应用程序的应用程序的简单委托包装,方便移植

ChessDefine.cpp:这个显然是象棋定义文件

ChessRule.cpp:这个是象棋规则实现文件,马走日象走田的规矩都定义在这里

MainMenu.cpp:主界面程序

classes目录包含了最主要的逻辑代码和应用程序代理,如果需要移植,那么要移植的代码就在这个目录了

proj.win32目录

proj.win32目录包含了win32平台下的相关文件,这些文件与平台相关,但是我们只要关心红线标注的内容即可

ChineseChess.win32.vcproj这个是中国象棋的工程文件,当我们使用vs2013时,就是打开该文件来打开工程的

main.cpp是平台相关部分的代码,所以也放在该目录中,这部分代码根据不同平台而不同,所以没放入classes中

Debug.win32也是个重要的目录,这个目录是中国象棋程序工程的输出目录,最后的可执行程序是生成在这里的

如果有时候编译链接有问题,可以考虑先删除Debug.win32目录下所有文件,再编译试试

Resources目录

Resource目录主要保存相关的图片资源文件,这些资源文件,在上一篇博文中大家大部分都看见了,这里不详述了。

VS视图的工程

当我们用VS2013打开proj.win32目录下的工程文件时,在VS视图下我们也能看到所有的代码文件,如上图

当我们要编辑或者查看某个文件时,双击某个文件即可。在这里主要我们要查看的代码还是在上面提到几个cpp文件

那么接下来对代码的详解部分,都是在这个工程视图中展开,大家先好好练习下吧




cocos2d-x游戏开发系列教程-中国象棋01-工程文件概述的更多相关文章

  1. cocos2d-x游戏开发系列教程-中国象棋00-前言

    象棋描述 在说代码之前,我们先让象棋效果登场,以方便大家对代码的理解 欢迎界面 中国象棋程序,运行起来的第一个界面是一个欢迎界面,该欢迎界面在停留一秒后进入游戏界面 游戏主界面 新局:所有棋子归位,状 ...

  2. cocos2d-x游戏开发系列教程-中国象棋02-main函数和欢迎页面

    之前两个博客讲述了象棋的规格和工程文件之后,我们继续深入的从代码开始学习cocos2dx 首先从程序入口main函数开始 main函数 int APIENTRY _tWinMain(HINSTANCE ...

  3. cocos2d-x游戏开发系列教程-中国象棋03-主界面

    前情回顾 上个博客说道我们象棋程序进入了欢迎界面,在欢迎界面下等待一秒进入主界面 进入主界面的关键代码如下: CCScene* pScene = CCMainMenu::scene();  创建sce ...

  4. cocos2d-x游戏开发系列教程-中国象棋06-游戏规则

    前情回顾 上一个博文我们提到象棋运动的函数dealWithChess,但是只是说该函数完成了棋子的选择和移动功能 其实在这个函数里,在移动棋子之前,是要对棋子的移动是否合法进行判断的,我们一起来看看如 ...

  5. cocos2d-x游戏开发系列教程-中国象棋05-开始游戏

    前情回顾 通过CCMainMenu的init函数,已经把所有的按钮,棋子都摆放完毕了,但是这个时候,棋子是不能走动的,只有在开始游戏之后才能移动棋子. 点击

  6. cocos2d-x游戏开发系列教程-中国象棋04-摆棋

    前情回顾 在之前的学习中,我们已经了解到,下棋主界面是由CCMainMenu类实现的,在它的init函数中,初始化了 主界面需要的各种数据,包括:创建控件,初始化32个棋子,初始化执行变量等等,在这个 ...

  7. HTML5游戏开发系列教程7(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-7/ 今天我们将完成我们第一个完整的游戏--打砖块.这次教程中,将 ...

  8. HTML5游戏开发系列教程6(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-6/ 这是我们最新一篇HTML5游戏开发系列文章.我们将继续使用c ...

  9. HTML5游戏开发系列教程5(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...

随机推荐

  1. UI界面

    http://www.uimaker.com/uimakerhtml/uidesign/uisoft/2016/0323/122862.html http://www.uimaker.com/uima ...

  2. BZOJ 1620: [Usaco2008 Nov]Time Management 时间管理( 二分答案 )

    二分一下答案就好了... --------------------------------------------------------------------------------------- ...

  3. matlab实现协同过滤之pdist、squareform

    实现协同过滤算法的第一步是:计算用户或项目之间的相似度.接下来介绍pdist和squareform 用法: D = pdist(X) D = pdist(X,distance)   D = pdist ...

  4. WebRTC Demo - getUserMedia()

    WebRTC介绍 WebRTC提供三类API: MediaStream,即getUserMedia RTCPeerConnection RTCDataChannel getUserMedia已经由Ch ...

  5. net core 静态文件

    asp.net core 之静态文件目录的操作   文章前言 之前写了一篇关于模拟登录的文章,自我感觉内容不太丰富,今天的这篇文章,希望在内容上能丰富些.本人缺少写文章的经验,技术上也是新手,但我会努 ...

  6. Android项目增加混淆

    主要介绍向Android项目中添加混淆功能 增加混淆的原因 提高安全性,增加反编译的难度 减少APK的文件大小 实践 混淆的配置 一般情况下,app module 的 build.gradle 文件默 ...

  7. mybatis通用DAO

    扫扫关注"茶爸爸"微信公众号 坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活. 回复:茶爸爸了解他这个人!! 花了几天的时间研究了一下mybatis的源代码,觉得这 ...

  8. strut2服务器与android交互数据

    libs如图: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...

  9. switch case ,while, do while,enum

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C_编辑 ...

  10. ios inHouse 公布应用

    一.明白几个概念 1.企业版IDP: 即iOS Development Enterprise Program.注意是$299/Year那种.并非$99/Year的那种 2.In House:是指企业内 ...