MCBE指令模擬二次函數(shù)
效果圖例







前方4個命令方塊,從右往左的效果分別是
在-5到5的范圍內(nèi)隨機設(shè)置a
在-5到5的范圍內(nèi)隨機設(shè)置b
在-5到5的范圍內(nèi)隨機設(shè)置c
在-5到5的范圍內(nèi)隨機設(shè)置x
然后自動開始運算y,并把解析式與函數(shù)值用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":")x2+("},{"score":{"name":"@s","objective":"b"}},{"text":")x+("},{"score":{"name":"@s","objective":"c"}},{"text":")的值為"},{"score":{"name":"@s","objective":"y"}}]}
t顯顯示二次函數(shù)解析式及x有值時的運算結(jié)果

/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
前置計分板指令
二次函數(shù)的前置
三個系數(shù)abc 兩個變量xy
function是為了使xxx獲得特殊類型并讓它變成一個小計算機計算二次函數(shù)
a bsave是為了保存a b值讓a b值能夠在不受外界的干擾下繼續(xù)保持到下一次運算當中

計算過程
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的結(jié)果
?
把a乘以x
??
把a乘以x
把a加到y(tǒng)里,因為此時的a乘以了x和x,所以此時y加的a是一開始的a乘以了x與x的最終結(jié)果
?
把asave里的值復(fù)制還給a
?
把bsave里的值復(fù)制還給b
??
計算完畢
?
在save計分板復(fù)制完分值后,a和b會變成一開始的值,以帶入下一次運算