# 参与到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信息。