Git Product home page Git Product logo

myhero's Introduction

我的勇者

这是一个用 cocosd-x 写的游戏。

现在处于游戏内核阶段,所以是一个纯c++的项目。

编码集

由于项目在windows、mac下配合开发,为了方便跨平台编辑且中文正确识别,所有源文件都是utf8带BOM的(不要纠结,就这样定了,目前来说这是最方便的方案了)。

命名习惯

1、Mgr类,都是singleton的。

一般来说,只有全局唯一的而且不依赖任何其他类生存的类才是Mgr类,对其他类有依赖关系的,特别是对其他非singleton类有依赖关系的,都不应该是Mgr类

2、生成对象的几种常用接口的差别

new 表示仅仅产生对象,但并不会管理该对象,需要自己手动管理对象

add 表示产生对象并会管理该对象,外部不需要过多的维护对象的生存周期

设计概要

下面是一个简单的设计类图,使用UMLer绘制,源文件在docs下。

![设计简图](https://github.com/zhs007/sanguo/blob/master/docs/uml001.jpg?raw=true “设计简图”)

其中,GameScene是游戏主体,一般来说,这个类是Scene的一个实例,随着游戏场景产生,并随着游戏场景而释放,不是一个全局类,所以需要保证所有的内存能被释放掉。

PersonMgr是全局的角色管理类,Singleton的实现,全局的静态表数据也是这里读取管理的。

工具

代码里面会包括一组小工具,目前的思路会是尽可能利用用户本来就很熟悉的工具,而我们通过小工具做自动转换,保证生成的最终数据文件是我们可用的。

csvtools

游戏里面需要一组配置表,我们用excel表格,配置表的原始资源在res/static里面,默认情况下,一个文件我们只使用第一个表格。

csvtools是使用nodejs写的小工具,跨平台的,mac、windows下都可以使用,貌似也不需要安装excel。

csvtools使用xlsx2csv来处理xlsx到csv的转换。

使用csvtools以前,需要在csvtools目录下,执行

npm install

由于csvtools使用了一些第三方库,如果第三方库有更新,会需要执行

npm update

执行csvtools很简单,就是

node csvtools.js

这样就会把所有的配置表,导成最终程序读取的目标文件。

所以,如果修改了配置表,需要自己执行csvtools同步一下(过程应该还是比较简单的)。

myhero's People

Contributors

zhs007 avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

atom-chen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.