切换搜索
搜索
切换菜单
通知
切换个人菜单
查看“未分类逻辑”的源代码
来自像素工厂维基百科-mindustry wiki
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
未分类逻辑
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
指令语句结构 自增运算++使值增加1 自减运算--使值减少1 案例1: a = 10 a++ 等价 set a 10 op add a a 1 运行 a = 11 前缀:先加后算;后缀先算后加 前后差异案例前: a = 10 b = 2 * ++a 等价 set a 10 op add a a 1 op mul b a 2 运行 b = 22 a = 11 前后差异案例后: a = 10 b = 2 * a++ 等价 set a 10 op mul b a 2 op add a a 1 运行 b = 20 a = 11 自减运算同理 无符号右移位>>>高位始终补零正数情况与>>同理 案例1高性能有缺陷无法正常识别>>>0: a = -1 c = a >>> 1 等价 set a -1 op and a a 9223372036854775807 op shr c a 1 运行 c = 9223372036854775807 案例2低性能无缺陷正常识别>>>0: a = -1 b = 0 c = a >>> b 等价 set a -1 set b 0 jump 4 lessThan b 1 op and a a 9223372036854775807 op shr c a b 运行 c = -1 逻辑或||任何一个为真输出为真 案例1: a = 1 b = 0 a || b 等价 set a 1 set b 0 op land c a a op land c b b 运行 c = 1 逻辑非!反转输出 案例1: a = 1 c = !a 等价 set a 1 op land a a a op mul c a -1 运行 c = 0 短路操作()&&()判定到false打断判定并输出false 案例1: a = 5 b = (a<4)&&(a++<10) 等价 set a 5 op lessThan c a 4 jump 跳出 equal c 0 op lessThan c a 10 op add a a 1 jump 跳出 equal a 0 跳出: end 运行 a = 5 c = 0 三元运算?:基于条件布尔判定赋值对象 格式:variable x = (expression) ? value if true : value if false 案例1: a = 10 b = (--a == 1) ? 20 : 30 等价 set a 10 op sub a a 1 jump true equal a 1 set b 30 jump 跳出 always 0 0 true: set b 20 跳出: end 运行 a = 9 b = 30 while 循环 结构: while( 布尔表达式 ) { //循环内容 } 案例1: a = 3 while( a>0 ) { a-- } 等价 set a 3 jump 判定循环 always 0 0 进入循环: op sub a a 1 判定循环: jump 进入循环 greaterThan a 0 运行 a = 2 a = 1 a = 0 do…while 循环 结构: do { //代码语句 }while(布尔表达式) 案例1: a = 0 do { a-- }while(a>0); 等价 set a 0 进入循环: op sub a a 1 jump 进入循环 greaterThan a 0 运行 a = -1
返回
未分类逻辑
。