【南开大学23C++】刘慈欣's 宇宙点状文明模拟器
注: 经过班级推优与学院专家评委打分,本作品获得2022级计算机大类大作业比赛第二名
Inspired by 刘慈欣 and Stellaris
-
文件夹后缀的说明
后缀中的WIP代表Work In Progress,表明功能并不完全、仍在开发中的项目文件,仅包含构想中的部分功能
后缀为Beta的项目是已经初步实现所有功能的项目,但仍需要对前端进行大改,并微调部分功能
后缀为Alpha的项目是准备录制视频并提交的正式程序
-
需要下载项目文件的 助教或同学 请注意!
由于一次提交仅能提交20个文件,而游戏中光是图标就已经超过了20个,故提交时我将项目文件拆分成了几个部分,分几次上传。直接从这里下载的项目文件有可能发生路径改变,进而无法通过编译。
以下是Alpha 2.0版本的成品程序和项目文件 链接:https://pan.baidu.com/s/1wBV8SHHBptr_DpLW_kOOtQ?pwd=1234 提取码:1234
生成一个小型宇宙,可以容纳包含200+恒星系及十个以上的文明
包含基本的经济、扩张、外交、军事、战争系统以及简单的内政、科技、人口、战争迷雾系统
模拟器开局可以设定此次模拟的星系总数、文明总数、科技基础发展速度、人口基础增长速度等参数
玩家可以实时查看各文明发展状况、各星系状况
由于是模拟器而不是传统意义上的游戏,并且时间有限,故暂不考虑加入玩家上手操纵一个文明的功能
Work In Progress(WIP):
WIP01 包含随机地图生成,星系与文明基础数据,基本的图形化界面。
WIP02 新增了文明的随机分配、文明占领星系后的不同颜色图标、文明的视野系统,以及文明的简单扩张功能。
WIP03 增加了debugwindow以及人口增长系统、人口核算系统,优化了经济核算方式,并且增添了一些图标。
WIP04 新增科技系统,资源分配系统,外交系统;改进了收入核算系统,并更新了debugwindow。
WIP05 新增暂停功能与文明类型;改进了外交系统,并更新了debugwindow。
WIP06 新增宣战判定机制,并用链表实现了战争的创建机制。
WIP07 新增战争状态下的目标选择与战备等级的判定;更新了经济核算系统。
WIP08 新增对外作战、星系战斗、星系占领、文明灭亡等机制;更新了目标选择的判定,并调整了其它各主要功能,使之与战斗系统兼容。
WIP09 大幅更新了作战机制与星系占领的判定机制;更新了debugwindow,调整了部分其它功能。
WIP10 新增标题画面以及设定功能,可以在开局时设定文明和星系的数量。
Beta:
Beta 1.0:新增游戏速度调整、开局战争频繁度设定;微调了一些功能,如军事系统与debugwindow;修复了一些bug,例如被灭亡的文明仍出现在外交关系中、星系自然防御力会被无视等等。
Beta 2.0:新增debugwindow视图调整,同时大改debugwindow的布局和字体,并增加了贴图;调整了部分ui,微调了一些功能。
Alpha:
Alpha 1.0:平衡了不同类型的文明,改动了debugwindow的布局和字体颜色,修复了一些bug。
Alpha 2.0:添加了写入日志的功能,美化了titlepage;增加了高速保护功能,大大提高了程序稳定性。
Just in case,还是写一下吧
-
学弟学妹们如果出于各种巧合来到了这里,在做大作业的时候欢迎参考我的代码~
但不要抄袭哦,大作业还是要自己亲自做。
-
表明一下对copyright的基本立场:
别人怎么想我管不了,别人怎么做我目前也干预不了,但我个人认为一切知识与被创作出来的作品不属于个人而属于全人类,并且坚信现行版权制度迟早被扔进历史的垃圾堆。
你有点太极端了.jpg
立场和观点有不同也没关系的,只要你支持copyleft我们就是好兄弟啦!
这个仓库的开源许可证为GPL2.0,而且如果真的有人参考过我的代码,个人希望能够被special thanks一下~
-
Special Thanks
感谢成蹊同学在录制视频方面提供的灵感和技术支持。