参考资料:
可编辑脚本(样例):
定位(狗,狼,妈,深月,暴击弓);
075,狗;
070,狼;
053,妈;
052,暴击弓;
047,狗;
046,深月;
036,狼;
029,狗;
021,妈;
018,暴击弓;
011,狼;
003,深月;
001,狗;
替换硬编码:
if (rz == "1:05")
{
//伊莉雅
ClickCharacter(2);
}
if (rz=="1:03")
{
//珠希
ClickCharacter(1);
}
if (rz == "0:45")
{
//镜华
ClickCharacter(5);
}
if (rz == "0:44")
{
//伊莉雅
ClickCharacter(2);
}
if (rz == "0:43")
{
//凯露
ClickCharacter(4);
}
if (rz == "0:38")
{
//茜里
ClickCharacter(3);
Thread.Sleep(1);
//珠希
ClickCharacter(1);
}
if (rz == "0:23")
{
//伊莉雅
ClickCharacter(2);
}
if (rz == "0:14")
{
//珠希
ClickCharacter(1);
}
if (rz == "0:10")
{
//镜华
ClickCharacter(5);
}
if (rz == "0:08")
{
//茜里
ClickCharacter(3);
}
if (rz == "0:07")
{
//凯露
ClickCharacter(4);
}
if (rz == "0:05")
{
//伊莉雅
ClickCharacter(2);
}
分析需求:
- 需要得到时间
- 需要得到点击的对象
那么,有一个最简单的思路,不需要反射:
- 用While语句直接将字符串一度到底,得到所有的时间和点击对象
- 返回读取成功Msg
- 点击执行
补充:
在读取的过程进行基本逻辑检测。
基本逻辑检测,主要是括号里面的5个参数与之后的参数的一致性,以及符号的使用(必须成对使用)。
思路详细:
对于第一句的处理和对接下来的句子的处理是不一样的;
单单是靠逗号分隔是最简单的,然而可读性不佳,因此采用分块处理的方式。
第一个中文分号前面的内容,进行处理,过滤掉“定位”,直接读取中文圆括号里面的内容。(但是“定位”本身是必须的)
然后给除了第一句以外的内容,新建一个类用于存储List;
接着,写一个基本数字转换时间的方法,给后面调用;
然后差不多就行了。
本次脚本都不能算是脚本,因为不是复杂逻辑,根本用不着反射。(果然,用反射还是我想多了)