注意:由于C想要正确的在控制台输出中文,必须用gbk编码,而GitHub默认用的utf-8,所以注释会乱码,在你的本地运行的时候,一定注意用gbk编码!
详细流程图:
这是一个仓促的数据结构课程设计,所以其实这个游戏的很多内容是没有做完的,但是基本的逻辑都已经完成了,接下来的添加怪物等过程,无非也就是重复劳作而已。
更为详细的介绍请进入项目文件里面的 魔塔游戏.xmind 文件即可查看!
- 使用面向对象的特性实现地图的每一个元素。最重要的是使用的C语言实现面向对象的思路,比如TBase的继承,比如函数指针的使用实现碰撞函数,实现了多态,又或者用static关键字把数据封装,然后再用get和set。
- 使用工厂模式创建地图上的每一个元素。具体来说是通过指定枚举类型便可通过一个工厂创建具体实例。
- 使用宏定义对战斗逻辑的代码进行化简。由于战斗逻辑都是相同的,除了不同类型的对象属性不同,其余没有任何差别,故通过宏定义实现泛型即可完成代码复用。
- 位运算实现武器系统和怪物系统的判断。
...更详细的解读,可以看我的xmind流程图文件。
运行环境采用windows平台的mingw构建工具。本质是cmake+makefile + gcc编译器。
所以可以实现跨平台,也就是说,win下只需要用mingw,而Linux下需要用命令安装gcc/cmake/makefile。
sudo apt-get build-dep gcc
sudo apt-get cmake
sudo apt-get makewin下的mingw下载有些过程,我在这里就不演示了。
第一步:cd到cmake-build-debug
cd cmake-build-debug第二步:运行cmake文件,生成对应的makefile
cmake ..第三步:调用make命令读取makefile进行正式编译构建
#linux下:
make
#mingw下:还需要把mingw的这个工具目录配置到环境变量
mingw32-make第四步:运行可执行程序
#根据linux和win不同的可执行程序命令的运行方式来即可
./WMOTA.exe


