Skip to content

acking-you/WMOTA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

纯C实现命令行魔塔游戏

注意:由于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  make

win下的mingw下载有些过程,我在这里就不演示了。

编译并运行

第一步:cd到cmake-build-debug

cd cmake-build-debug

第二步:运行cmake文件,生成对应的makefile

cmake ..

第三步:调用make命令读取makefile进行正式编译构建

#linux下:
make

#mingw下:还需要把mingw的这个工具目录配置到环境变量
mingw32-make

第四步:运行可执行程序

#根据linux和win不同的可执行程序命令的运行方式来即可

./WMOTA.exe

项目文件结构

游戏实录

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published