Previous topicNext topic
Help > BLUE引擎2021更新 >
新增算术运算NPC命令

功能:

;==========================================
增加算术运算NPC命令:Calc "算术表达式" 返回结果的变量(默认是整数/后缀+1是四舍五入整数/后缀+2是浮点数),
支持:+加、-减、*乘、/除、%取模,()将优先计算、此命令可用于投资炒货币、装备交易、等框架设计!
;==========================================
举例:
;==========================================
#IF
TRUE
#ACT
;如果表达式错误将会在引擎提示,并返回空内容,下面运算的浮点数结果是:2899.82636363636
Calc "(0.3 + (0.4 + 88 * 77) / 1.5 / 3.3 + 11.6 % 1000) * 2.1" S_结果
SendMsg7默认整数:<$STR(S_结果)>,四舍五入整数:<$STR(S_结果1)>,浮点数:<$STR(S_结果2)>

;==========================================
举例:结合CHECKINTS 判断  赋予: MOV S64 0.1~10000 //10000代表浮点的参数,尾数+0将获得乘法  * <$STR(S64)>" S_结果 内:浮点数:<$STR(S_结果2)>
;==========================================

[@main]

<算术运算/@算术运算>\

整数:<$INTS2> 当前RMB:<$STR(S_结果2)>

[@算术运算]
#IF
CHECKINTS 2 < 1000000
CHECKINTS 2 ? 99999
#act
INTS 2 + 1
MOV S63 .<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 10000
GOTO @结果
BREAK

#IF
CHECKINTS 2 < 100000
CHECKINTS 2 ? 9999
#act
INTS 2 + 1
MOV S63 .<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 1000
GOTO @结果
BREAK

#IF
CHECKINTS 2 < 10000
CHECKINTS 2 ? 999
#act
INTS 2 + 1
MOV S63 .<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 100
GOTO @结果
BREAK

#IF
CHECKINTS 2 < 999
CHECKINTS 2 ? 99
#act
INTS 2 + 1
MOV S63 .<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 10
GOTO @结果
BREAK

#IF
CHECKINTS 2 < 99
CHECKINTS 2 ? 9
#act
INTS 2 + 1
MOV S63 0.<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 1
GOTO @结果
BREAK

#IF
CHECKINTS 2 < 10
#act
INTS 2 + 1
MOV S63 0.<$INTS2>
MOV S62 0.
MOV S2 0.1
MOV S64 0.1
GOTO @结果
BREAK

#IF
CHECKINTS 2 > 0
#ACT
GOTO @结果
BREAK

[@结果]
#IF
CHECKINTS 2 > 0
#act
Calc "(<$STR(S62)> + (<$STR(S63)>) /<$STR(S2)>) * <$STR(S64)>" S_结果
SendMsg 7 默认整数:<$STR(S_结果)>,四舍五入整数:<$STR(S_结果1)>,浮点数:<$STR(S_结果2)>
GOTO @MAIN