//1层 全局事件,管理行动规则 { "ID": 2010203, "Specials": { //static "staticTopY_offset":3, "staticDownY_offset":3, "max_X":9, //从上向下走 //TopY_Dir_2010203 //从下向上走 //DownY_Dir_2010203 //上次位置 "X":0, "Y":0, //移动距离 "dist_X":0, "dist_Y":0, //Y移动时的临时变量,方便缩减文本 "Y_ite":0, "X_ite":0, "loop":0, "cur":0, "numbers":0 }, "Events": { //起始坐标 "OnCreate":{ "Actions": [ { "$type":"Share.CConfigSetSpecial", "SpecialName":"X", "SpecialValue":"playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"Y", "SpecialValue":"playerpos(Y)" }, { //Y向上距离 "$type": "Share.CConfigSetHollowVariable", "Key": "TopY_Dir_2010203", "Value": "specials(staticTopY_offset)" }, { //Y向下距离 "$type": "Share.CConfigSetHollowVariable", "Key": "DownY_Dir_2010203", "Value": "specials(staticDownY_offset)" } ] }, "OnPlayerMove": { //每次行动都会摧毁旁边格子 左或下 "Actions": [ //预处理 - 是否跳过逻辑 { "$type": "Share.CConfigJump", "Jump": "OnEnd", "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "TriggerSkip_2010201", "CompareType": "Equal", "Count": 1 } ] }, //重置ite { "$type":"Share.CConfigSetSpecial", "SpecialName":"Y_ite", "SpecialValue":0 }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"X_ite", "SpecialValue":0 }, //计算本次位移距离 { "$type":"Share.CConfigSetSpecial", "SpecialName":"dist_X", "SpecialValue":"playerpos(X)-specials(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"dist_Y", "SpecialValue":"playerpos(Y)-specials(Y)", "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"Y", "Param":"playerpos(Y)", "CompareType":"LessEqual" } ] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"dist_Y", "SpecialValue":"specials(Y)-playerpos(Y)", "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"Y", "Param":"playerpos(Y)", "CompareType":"Greater" } ] }, //逻辑执行 { //左侧 "$type": "Share.CConfigJump", "ID":101, "Jump": "Func_LeftRight", "Predicates": [ { "$type":"Share.CConfigEventBySpecials", "ParamName":"dist_X", "Param":0, "CompareType":"Greater" } ] }, { //上下 "$type": "Share.CConfigJump", "ID":102, "Jump": "Func_UpDown", "Predicates": [ { "$type":"Share.CConfigEventBySpecials", "ParamName":"dist_Y", "Param":0, "CompareType":"Greater" } ] }, { //左侧 "$type": "Share.CConfigJump", "Jump": "OnEnd" } ] }, "OnEnd":{ "Actions": [ { "$type":"Share.CConfigSetSpecial", "SpecialName":"X", "SpecialValue":"playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"Y", "SpecialValue":"playerpos(Y)" } ] }, "Func_UpDown":{ //上下移动带有左右移动 "Actions": [ { //上-->下 "$type": "Share.CConfigJump", "Jump": "SubFunc_UpToDown", "Predicates": [ { "$type":"Share.CConfigEventBySpecials", "ParamName":"Y", "Param":"playerpos(Y)", "CompareType":"Less" } ] }, { //下-->上 "$type": "Share.CConfigJump", "Jump": "SubFunc_DownToUp", "Predicates": [ { "$type":"Share.CConfigEventBySpecials", "ParamName":"Y", "Param":"playerpos(Y)", "CompareType":"Greater" } ] }, { "$type":"Share.CConfigSetSpecial", "ID":103, "SpecialName":"dist_Y", "SpecialValue":"specials(dist_Y)-1" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"Y_ite", "SpecialValue":"specials(Y_ite)+1" }, { "$type":"Share.CConfigGoto", "GotoID":102 } ] }, "Func_LeftRight":{ "Actions": [ //左侧所有 { "$type": "Share.CConfigSetMapState", "NodeType":"All", "X":"playerpos(X)-1-specials(X_ite)", "Y":0, "Position":"Absolute", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type": "Share.CConfigSetMapState", "NodeType":"All", "X":"playerpos(X)-1-specials(X_ite)", "Y":1, "Position":"Absolute", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type": "Share.CConfigSetMapState", "NodeType":"All", "X":"playerpos(X)-1-specials(X_ite)", "Y":2, "Position":"Absolute", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type": "Share.CConfigSetMapState", "NodeType":"All", "X":"playerpos(X)-1-specials(X_ite)", "Y":3, "Position":"Absolute", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type": "Share.CConfigSetMapState", "NodeType":"All", "X":"playerpos(X)-1-specials(X_ite)", "Y":4, "Position":"Absolute", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"dist_X", "SpecialValue":"specials(dist_X)-1" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"X_ite", "SpecialValue":"specials(X_ite)+1" }, { "$type":"Share.CConfigGoto", "GotoID":101 } ] }, "SubFunc_UpToDown":{ "Actions":[ //初始化循环 { "$type":"Share.CConfigSetSpecial", "SpecialName":"loop", "SpecialValue":"specials(max_X)-playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":0 }, //============================================== //-----------------do--------------- { "$type": "Share.CConfigSetMapState", "ID":201, "NodeType":"All", "X":"specials(cur)", "Y":"-scenevar(TopY_Dir_2010203)-specials(Y_ite)", "Position":"Relative", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":"specials(cur)+1" }, //-----------------while()--------------- { "$type":"Share.CConfigGoto", "GotoID":201, "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"cur", "Param":"specials(loop)", "CompareType":"LessEqual" } ] }, //============================================== //距离 { "$type": "Share.CConfigSetHollowVariable", "Key": "DownY_Dir_2010203", "Value": "scenevar(DownY_Dir_2010203)-1" }, //return { "$type":"Share.CConfigGoto", "GotoID":103 } ] }, "SubFunc_DownToUp":{ "Actions":[ //初始化循环 { "$type":"Share.CConfigSetSpecial", "SpecialName":"loop", "SpecialValue":"specials(max_X)-playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":0 }, //============================================== //-----------------do--------------- { "$type": "Share.CConfigSetMapState", "ID":202, "NodeType":"All", "X":"specials(cur)", "Y":"scenevar(DownY_Dir_2010203)+specials(Y_ite)", "Position":"Relative", "Radius":0, "Count":1, "FromVisibleState":["Visible"], "ToVisibleState":["VisibleByTriggerEvent"] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":"specials(cur)+1" }, //-----------------while()--------------- { "$type":"Share.CConfigGoto", "GotoID":202, "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"cur", "Param":"specials(loop)", "CompareType":"LessEqual" } ] }, //============================================== //距离 { "$type": "Share.CConfigSetHollowVariable", "Key": "TopY_Dir_2010203", "Value": "scenevar(TopY_Dir_2010203)-1" }, //return { "$type":"Share.CConfigGoto", "GotoID":103 } ] }, "OnTurnEnd":{ "Actions": [ { //全局事件OnTurn执行标识 "$type": "Share.CConfigSetHollowVariable", "Key": "ShowGrid_2010201", "Value": 0 } ] }, "OnTurn":{ "Actions":[ { "$type":"Share.CConfigLog", "Message":"===========OnTurn断点1===========" }, { "$type": "Share.CConfigJump", "Jump": "OnTurnEnd", "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "ShowGrid_2010201", "CompareType": "Equal", "Count": 0 } ] }, { "$type":"Share.CConfigLog", "Message":"===========OnTurn断点2===========" }, { //全局事件OnTurn执行标识 "$type": "Share.CConfigSetHollowVariable", "Key": "ShowGrid_2010201", "Value": 0 }, { "$type": "Share.CConfigJump", "Jump": "SubFunc_ShowDown", "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "TopY_Dir_2010203", "CompareType": "Less", "Count": "specials(staticTopY_offset)" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "DownY_Dir_2010203", "CompareType": "Equal", "Count": "specials(staticDownY_offset)" } ] }, { "$type": "Share.CConfigJump", "Jump": "SubFunc_ShowTop", "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "DownY_Dir_2010203", "CompareType": "Less", "Count": "specials(staticDownY_offset)" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "TopY_Dir_2010203", "CompareType": "Equal", "Count": "specials(staticTopY_offset)" } ] }, { "$type": "Share.CConfigJump", "Jump": "Func_ShowRandom", "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "DownY_Dir_2010203", "CompareType": "Less", "Count": "specials(staticDownY_offset)" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "TopY_Dir_2010203", "CompareType": "Less", "Count": "specials(staticTopY_offset)" } ] } ] }, "Func_ShowRandom":{ "Actions":[ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigJump", "Jump": "SubFunc_ShowDown" } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigJump", "Jump": "SubFunc_ShowTop" } ] } ] } ] }, "SubFunc_ShowDown":{ "Actions":[ { "$type":"Share.CConfigSetSpecial", "SpecialName":"staticDownY_offset", "SpecialValue":"specials(staticDownY_offset)+1" }, //初始化循环 { "$type":"Share.CConfigSetSpecial", "SpecialName":"loop", "SpecialValue":"specials(max_X)-playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":0 }, //============================================== //-----------------do--------------- { "$type": "Share.CConfigSetMapState", "ID":301, "NodeType":"All", "X":"specials(cur)", "Y":"scenevar(DownY_Dir_2010203)", "Position":"Relative", "Radius":0, "Count":1, "FromVisibleState":["VisibleByTriggerEvent"], "ToVisibleState":["Visible"] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":"specials(cur)+1" }, //-----------------while()--------------- { "$type":"Share.CConfigGoto", "GotoID":301, "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"cur", "Param":"specials(loop)", "CompareType":"LessEqual" } ] }, //============================================== //距离 { "$type": "Share.CConfigSetHollowVariable", "Key": "DownY_Dir_2010203", "Value": "scenevar(DownY_Dir_2010203)+1" } ] }, "SubFunc_ShowTop":{ "Actions":[ { "$type":"Share.CConfigSetSpecial", "SpecialName":"staticTopY_offset", "SpecialValue":"specials(staticTopY_offset)+1" }, //初始化循环 { "$type":"Share.CConfigSetSpecial", "SpecialName":"loop", "SpecialValue":"specials(max_X)-playerpos(X)" }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":0 }, //============================================== //-----------------do--------------- { "$type": "Share.CConfigSetMapState", "ID":302, "NodeType":"All", "X":"specials(cur)", "Y":"-scenevar(TopY_Dir_2010203)", "Position":"Relative", "Radius":0, "Count":1, "FromVisibleState":["VisibleByTriggerEvent"], "ToVisibleState":["Visible"] }, { "$type":"Share.CConfigSetSpecial", "SpecialName":"cur", "SpecialValue":"specials(cur)+1" }, //-----------------while()--------------- { "$type":"Share.CConfigGoto", "GotoID":302, "Predicates":[ { "$type":"Share.CConfigEventBySpecials", "ParamName":"cur", "Param":"specials(loop)", "CompareType":"LessEqual" } ] }, //============================================== //距离 { "$type": "Share.CConfigSetHollowVariable", "Key": "TopY_Dir_2010203", "Value": "scenevar(TopY_Dir_2010203)+1" } ] } } }