设计模式java实现自动化评分_游戏设计模式 之 代码半自动化生成——码妖

882fc17ccbde

码妖.gif

痛点——

基于状态机编写代码时,我们要为每个组件编写 状态枚举 ,每个State的类 ,以及Ctrl 三部分。

多写几个就会发现,在没有编写具体逻辑的情况下,每个组件包含的类 只有命名差异。

这就导致重复性的工作存在——重复的工作就得交给程序(不带“员”)去做~

解决思路——

先要问,代码是什么?

给机器的指令?逻辑化语言?

对,但却复杂化了。简单来讲,任何可被记录的语言都是一种 字符系统,在简单讲,就是 字符串!

这样问题就简化为字符串的处理啦。

按照一定的配置生成字符串即可。

方案——

1、用json配置state枚举,CtrlName等信息

2、用Lua作为开发语言,这个只是因为自己比较熟,任选一种脚本语言都行。

3、运行Lua脚本,生成一个个 .ts 文件,放在对应的目录下。

实现——

1、配置文件

882fc17ccbde

image.png

882fc17ccbde

image.png

如图,配置一波 状态枚举,Ctrl与状态枚举的关系,即可完成配置。

2、代码

882fc17ccbde

image.png

如图,看这个run函数,即可明白我要做的事情。

882fc17ccbde

image.png

至于原理,就像图上这样,一波字符串操作,然后将其保存在以.ts为后缀保存下来。

另外三个函数同理,就不贴图了。

3、成果

882fc17ccbde

image.png

run一下,你就获得给予状态机的框架啦,往里面填填具体逻辑即可。

皮一下,我称其为 码妖 ~(✪ω✪)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值