简介
fkparse,以后简称fkp,是一门用于编写三国杀武将技能的语言。
fkp并不是通用编程语言,而是属于DSL(Domain Specific Language,领域特定语言),因此它的功能也只能局限于三国杀拓展。但这样就够了不是吗
对读者的要求
欲阅读本系列文章,你至少达到具备以下几点要求:
- 能使用文本编辑器编辑文件
- 能正确安装软件,能辨别“高速下载器”和真正的下载链接
- 能浏览电脑中的文件,能管理文件夹和文件
- 能解压缩压缩包,不去直接双击压缩包内的exe文件
环境搭建
本系列文章假设你使用Windows 64位系统。非Windows系统用户装个wine解决问题吧。
这一系列文章提到的文件都可以去这里下载。
要下载的文件主要有两:太阳神三国杀本体,fkparse编译器。本体随便找个2015年及以后的就行,链接里面给的是20150504版。
为了使文本编辑的体验更上一层楼,不建议用记事本,最好去下载一个更NB的文本编辑器。强烈推荐用vscode进行编辑。
下载和配置太阳神三国杀
下载QSanguosha-v2-20150504整合版.7z。假设你在D盘新建了一个名为qsgs的文件夹,将这个压缩包解压缩到qsgs文件夹,如图:
双击里面的QSanguosha.exe,游戏就启动了。点击启动服务器按钮,出来的对话框的右下角,点击单机启动,这样就开了单机游戏。你可以调整里面的各种选项让自己的操作更加舒适。我建议开启作弊和点将功能,方便以后测试。
下载fkparse编译器
下载链接里面的fkparse_0929.zip,解压缩到前面说过的qsgs文件夹。这样就算完成了,先放着备用。
配置vscode(可选)
为了更好的编辑体验,我制作了一个简单的vscode插件,能给拓展文件加一层语法高亮。
首先在电脑上装好vscode,然后下载链接里面的vsix文件。之后安装它:
脑洞包(可选)
(夹杂私货了疑似)脑洞包是我做的太阳神三国杀拓展包,里面那些辣鸡DIY就不提了。我推荐的理由是它给太阳神三国杀加了不少特效,嫌原版神杀太单调的话可以把它装上。
如果想安装的话,下载那个脑洞包zip,然后解压缩到某个文件夹。然后把里面的所有文件和文件夹都复制到太阳神三国杀的文件夹里面,遇到替换文件的话一律Yes,这样就算安装完成了。
这样环境就算搭建完成了。
初步体验fkparse
下面进入到fkparse的文件夹,双击fkparse_qt.exe打开编译器主程序。你会看到一个简单的界面。
接下来简单体验一下吧。
首先点Choose File,选择要编译的文件。压缩包里面已经附送了一个例子了。然后点击compile进行编译,最后点击pack,将编译结果打包成太阳神三国杀拓展包。这之后去example文件夹下,可以看到多了个example_out文件夹,里面又有四个文件夹。将这四个文件夹复制到太阳神三国杀的文件夹就行了,然后启动太阳神三国杀吧。
以里面唯一有制图的武将“曹孟德”为例操作一把:
去武将一览看看“曹孟德”的技能描述:
奸雄: 锁定技。当你造成伤害后,若你的体力值大于3,你摸5张牌;当你受到伤害后,你对伤害来源造成一点伤害,重复此流程直到伤害来源的体力值小于你的体力值;你造成的伤害+2。
再打开fkparse里面送example.txt看看:
$ '奸雄' "锁定技。当你造成伤害后,若你的体力值大于3,你摸5张牌;当你受到伤害后,你对伤害来源造成一点伤害,重复此流程直到伤害来源的体力值小于你的体力值;你造成的伤害+2。"
锁定技 触发技
时机:造成伤害后
效果:若你的属性"体力值"大于3,则你摸5张牌,以上。
时机:受到伤害后
效果:重复此流程:你对'伤害来源'造成1点伤害。直到'伤害来源'的属性"体力值"小于你的属性"体力值"。
时机:造成伤害时
效果:令'伤害值'为'伤害值'+2。'自定义函数'('玩家':你,'血量':2)
令X为('test2'('b':4))
对[你, '伤害来源', '伤害目标']中每个'p'重复此流程:'p'摸1张牌。以上。
以上
# 魏 "魏武帝" '曹孟德' 4 女性
[ "奸雄" ]
(好像我堆了太多无用内容进去啊= =;;)总而言之,直接看代码本身似乎也能大概看懂。那先到此结束吧,以后再慢慢介绍具体的使用办法。