欢迎光临散文网 会员登陆 & 注册

无名杀代码教程 00.4

2021-06-08 10:38 作者:玩大师4的醒醒  | 我要投稿

经过上篇专栏的魔改,闭月这个技能太强了,只能设置成ai禁选。那么,有没有办法削弱呢?

这篇专栏叫你给技能加限制条件。


1。不能发动这个技能

答:加上

filter:function(event,player){

    return false;

},


这里,我们学到了一个新的属性,filter

这是技能的限制条件,如果return false,那么这个技能不能发动。


2。你手牌数小于5才能发动

答:

filter:function(event,player){

    if(player.countCards("h")<5)return true;

    return false;

},


这里学到了一个非常常见的函数,countCards


countCards的作用是获取牌数,括号里面第1个参数填位置,第2个参数填限制条件


位置:

"h"    //手牌

"e"    //装备区

"j"     //判定区

"s"    //木牛流马的区域(最近游戏更新加的)

"hs"   //手牌和木牛流马区域

"he"  //你的牌

"hej"  //你区域里的牌

"ej"   //你场上的牌


限制条件:

1.牌名

player.countCards("h","sha");

//你手牌里的杀数量

2.多个牌名

player.countCards("h",["sha","shan"]);

//你手牌里的杀和闪的数量

3.对象

player.countCards("h",{color:"red"});

//你手牌里的红色牌的数量

player.countCards("h",{name:"sha",suit:["spade","heart"]});

//你手牌里的黑桃和红桃杀的数量

‍4.函数(遇事不决)

player.countCards("h",function(card){

    return card.name=="sha"&&card.number>8;

});

//你手牌里的点数大于8的杀的数量


3。每回合最多发动3次

答:加上

usable:3,


ps:如果次数限制不是定值,比如"最多发动你的体力数量次",就得老老实实用filter了


3。每轮发动一次

答:加上

round:1,


ps:两轮发动一次是round:2,

ps:一轮发动两次或者不是定值,老老实实用filter


4。改成限定技

答:限定技的框架比较复杂,但可以通过移除这个技能达到只发动一次的效果


content:function(){

    //闭月的content的内容

    player.removeSkill("biyue");

},


removeSkill这个函数是用来移除技能的,biyue是闭月这个技能的英文名,官方的技能都是拼音,具体英文名是什么,还是需要看代码确认


如果括号里面填数组,可以移除数组里面的所有技能

player.removeSkill(["yingzi","biyue"]);

//移除技能英姿和闭月


与之相应的是addSkill,添加技能


水够一千字了,这篇专栏就到这里吧。



无名杀代码教程 00.4的评论 (共 条)

分享到微博请遵守国家法律