新元的无名杀扩展教程(一)技能(1-5)复习
一.单选题
1.以下那一种不是key:value的形式
A content:function(){}
B player.draw()
C group:["hunzi","yingzi"]
2.function是函数的意思,要使用函数必须在其后面加上(),请问哪一项未正确使用函数
A game.me.die()
B game.me.摸牌()
C 我 摸牌
3.init:function(){}中的arguments[1]是
A init所在技能的id
B 技能获得者
C 技能获得者的storage[x](x为init所在技能的id)
4.如果一项技能有trigger:{global:"dying"},那么以下哪种情况可以触发此技能
A 关索可以触发技能征南
B 角色A死亡时
C 因蔡文姬而失去所有技能
5.有限制条件
filter:function(event,player){
return player.storage["xx"]
}
触发时,以下哪种情况可以发动此技能
A player.storage为{"xx":undefined}
B player.storage为{"xx":false}
C player.storage为{"xx":true}
6.有forced:true的技能是
A 锁定技
B 限定技
C 强制力技
7.以下代码报错,问解决方案:
filter:function(player,event){
return player.hasZhuSkill("xx")
}
A 将player改成arguments[0]
B 将()中的player和event互换位置
C 检查是否有拼写错误
8.请问以下代码的效果是
init:function(player,skill){
player.draw()
return
player.recover()
}
A 获得该技能时,摸一张牌并恢复一点体力
B 获得该技能时,恢复一点体力
C 获得该技能时,摸一张牌
9.已知intro:{name:"",content:function(storage,player,skill){}}中的content:function()于你长按标记时触发那么以下代码的效果是(假设技能id为jianxiong):
intro:{
name:"新元",
content:function(storage,player,skill){
storage=skill
player.draw()
return skill
}
}
A 技能拥有者的storage["jianxiong"]为:"jianxiong",技能拥有者摸一张牌,标记内容为:奸雄
B 技能拥有者的storage["jianxiong"]为:"jianxiong",技能拥有者摸一张牌,标记内容为:jianxiong
C 技能拥有者的storage["奸雄"]为:"奸雄",技能拥有者摸一张牌,标记内容为:奸雄
10.已知
①!相当“非”,&&相当于“且”,||相当于“或”
②此时player.storage["xinyuan_1"]为false,player.storage["xinyuan_2"]为false,player恢复了体力
③有技能id为"xinyuan",技能组为:
group:["xinyuan_1","xinyuan_2","xinyuan_3","xinyuan_4"],
技能组中的所有技能的触发时机为
trigger:{player:"recover"}
技能组中的四个技能的filter分别为
filter:function(event,player){
return player.storage["xinyuan_1"]&&!player.storage["xinyuan_2"]
}
filter:function(event,player){
return !player.storage["xinyuan_1"]&&player.storage["xinyuan_2"]
}
filter:function(event,player){
return !player.storage["xinyuan_1"]||!player.storage["xinyuan_2"]
}
filter:function(event,player){
return player.storage["xinyuan_1"]||player.storage["xinyuan_2"]
}
问:此时哪项技能可以确定一定发动
A xinyuan
B xinyuan_1
C xinyuan_2
D xinyuan_3
E xinyuan_4
二.多选题
11.已知
trigger:{
global:"phaseBegin"
}
content:function(){
trigger.player["xinyuan"]="你好呀"
player.draw(2)
trigger.player.recover()
player.loseHp()
}
设X为技能拥有者,Y为技能触发者,则技能发动时,会发生
A Y的storage["xinyuan"]变为"你好呀"
B Y失去一点体力
C Y摸两张牌
D Y恢复一点体力
E X摸两张牌
F X恢复一点体力
G X的storage["xinyuan"]变为"你好呀"
H X失去一点体力
12.已知
①=为赋值符号,如player.storage["xinyuan"]为
{},则可通过赋值让里面的内容改变,如
player.storage["xinyuan"]=true
这样player.storage["xinyuan"]就为true
②lib.skill是一个存储技能数据的地方,如有技能xinyuan,则lib.skill.xinyuan(或者说lib.skill["xinyuan"],两种形式等价)为
{
trigger:{
player:"phaseBegin"
}
content:function(){
player.draw()
}
}
现在执行了以下代码,问会发生什么
(注:jianxiong为奸雄的id,hunzi为魂姿非id)
lib.skill.jianxiong={}
lib.skill.hunzi.filter=function(){
return true
}
A 标曹操受到南蛮入侵的伤害后,发动技能奸雄,获得南蛮入侵
B 标曹操受到南蛮入侵的伤害后,不会触发奸雄
C 未觉醒的孙策,准备阶段直接觉醒
D 未觉醒的孙策,永远不能觉醒
三.填空题
13.init:function(){}和intro.content:function(){}中的arguments分别有_____项,_____项
14.请写出三个trigger限定技中可能用到的key:value形式中的key(trigger,content,filter除外)_________ 、_________ 、_________
15.请写出你已知的和技能有关的函数,
player.addSkill() 、_________ 、_________
16.已知usable:num(一个数字),是用于设定一个技能一回合最多用几次的,round:num(一个数字),是用于设定隔几轮发动一次的,则代码:
usable:3,
round:1,
是隔____(2/3/6)_____(回合/轮)发动一次
四.附加题
已知
①var是用于声明变量的,比如
var a
就声明了一个变量a
②=是用于赋值的,以最后一次赋值为准,比如
var a
a=1
a=108
则a就为108
③形如key:value,如果有key:1且有以下赋值语句:
var a
a=key
则a的值就是1
④如果有key1:{},key2:{usable:1},现在用赋值语句
key1.usable=key2.usable
key1就变成了key1:{usable:1}
现在game.me因为某种原因,使得技能lib.skill.xinyuan={}(数据丢失),但是其中的数据都储存在了game.me.storage.xinyuan中
game.me.storage.xinyuan内容如下:
{
trigger:"phaseEnd"
filter:function(event,player){
return player.hp>10
}
content:function(){
player.draw(10)
}
}
求在控制台输入什么代码(限三行)可以找回lib.skill.xinyuan丢失的数据