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

MCBE指令模拟二次函数

2022-04-21 21:54 作者:-Amiya-Amiya-  | 我要投稿

效果图例

前方4个命令方块,从右往左的效果分别是

在-5到5的范围内随机设置a

在-5到5的范围内随机设置b

在-5到5的范围内随机设置c

在-5到5的范围内随机设置x

然后自动开始运算y,并把解析式与函数值用t显显示出来

execute @e[scores={function=0}] ~ ~ ~ titleraw @a actionbar {"rawtext":[{"text":"当x="},{"score":{"name":"@s","objective":"x"}},{"text":"时\n("},{"score":{"name":"@s","objective":"a"}},{"text":")x²+("},{"score":{"name":"@s","objective":"b"}},{"text":")x+("},{"score":{"name":"@s","objective":"c"}},{"text":")的值为"},{"score":{"name":"@s","objective":"y"}}]}

t显显示二次函数解析式及x有值时的运算结果

/scoreboard objectives add a dummy a

/scoreboard objectives add b dummy b

/scoreboard objectives add c dummy c

/scoreboard objectives add x dummy x

/scoreboard objectives add y dummy y

/scoreboard objectives add a_save dummy a_save

/scoreboard objectives add b_save dummy b_save

/scoreboard objectives add function dummy function

前置计分板指令

二次函数的前置

三个系数abc 两个变量xy

function是为了使xxx获得特殊类型并让它变成一个小计算机计算二次函数

a bsave是为了保存a b值让a b值能够在不受外界的干扰下继续保持到下一次运算当中

计算过程

scoreboard players operation @e[scores={function=0}] y = @e[scores={function=0},c=1] c

 

scoreboard players operation @e[scores={function=0}] a_save = @e[scores={function=0},c=1] a

 

scoreboard players operation @e[scores={function=0}] b_save = @e[scores={function=0},c=1] b

 

scoreboard players operation @e[scores={function=0}] b *= @e[scores={function=0},c=1] x

 

scoreboard players operation @e[scores={function=0}] y += @e[scores={function=0},c=1] b

 

scoreboard players operation @e[scores={function=0}] a *= @e[scores={function=0},c=1] x

 

scoreboard players operation @e[scores={function=0}] a *= @e[scores={function=0},c=1] x

 

scoreboard players operation @e[scores={function=0}] y += @e[scores={function=0},c=1] a

 

scoreboard players operation @e[scores={function=0}] a = @e[scores={function=0},c=1] a_save

 

scoreboard players operation @e[scores={function=0}] b = @e[scores={function=0},c=1] b_save


开始使y值等于c值

 

把a值存到asave

 

把b值存到bsave

 

将b 乘以 x

 

因为b乘以x等于bx,所以此时y加的b,是一开始的b乘以了x的结果

 

把a乘以x

  

把a乘以x


把a加到y里,因为此时的a乘以了x和x,所以此时y加的a是一开始的a乘以了x与x的最终结果

 

把asave里的值复制还给a

 

把bsave里的值复制还给b

  

计算完毕

 

在save计分板复制完分值后,a和b会变成一开始的值,以带入下一次运算


MCBE指令模拟二次函数的评论 (共 条)

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