diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..2d3b2f9f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# 参与到FreeKill的开发 + +___ + +如果您正在阅读这篇文档的话,那么首先要感谢您愿意为FreeKill出一份力! + +FreeKill使用Lua编写游戏逻辑,QML+JS编写UI界面和UI逻辑,Qt C++提供一些底层设施的支持。 + +由于FreeKill的目标在于构建一个适合DIY的框架,因此在Git仓库里面的内容会比较少,只包含标准包和标准卡牌!(以及军争卡牌)如若您想为FreeKill编写拓展包,请查看[DIY文档](./doc/diy/index.md)。 + +如果您想要为FreeKill编写三国杀官方武将,那么请前往以下几个仓库: + +* 神话再临: gitee.com/notify-ctrl/shzl +* 一将成名: gitee.com/notify-ctrl/yj + +以及更多... + +因为官方武将是其他想要涉足FK DIY的作者们经常参考的内容,因此其代码最好也让我来审查一下。具体的协作流程与下文相同,不进行赘述。 + +___ + +## 快速上手 + +为了更好的阅读代码,请先阅读README文件,以及doc/下面的相关文档。至于阅读代码本身,可以考虑从main.cpp入手,或者从lua/freekill.lua入手,或者从lua/server/room.lua入手,这些文件都是某种意义上程序的入口点。 + +如果您对UI的实现和修改有兴趣的话,那么可以查看qml/main.qml,那里定义了整个UI逻辑、窗口绘制等。 + +如果您已经准备好了提交一些修改,那么: + +1. Fork本仓库,然后在fork的仓库里面进行自己的修改、提交。 +2. 从fork的仓库向本仓库发起pull request。 + +___ + +## 代码规范 + +在为Fk核心仓库(以及官方武将仓库)做贡献时,请遵循一下几点: + +1. 不要使用Tab键作为缩进。在FreeKill的代码中,所有代码文件的缩进应该都是两个空格。 +2. 不要定义全局变量,除非非这么做不可。 +3. 在提交时应有清晰的commit信息。