简易动画演示二分法求坐标

就比如说有一个平面直角坐标系,要求A(0,0)B(0,100)中间的任意一个x轴为整数字母的坐标,比如C(0,50),就等于32+16+2,D(0,99)=64+32+2+1
所以只要依次检查,是否在64格之外,如果是,就将a向b移动64格,不是就跳过,之后再用同样方法检测32,16,8,4,2,1,最终就能得出100格內的坐标
以下是求y轴的指令
初始化
summon armor_stand o ~~~
summon armor_stand y ~~~
scoreboard objectives add 二分 dummy 二分
scoreboard objectives setdisplay sidebar 二分 ascending
tag @s add 二分
execute @s ~~~ structure load start ~ ~ ~
循环执行
execute @a[tag=二分] ~~~ tp @e[name=o] 0 ~ 0
scoreboard players set @a[tag=二分] 二分 -64
tp @e[name=y] 0 -64 0
execute @e[name=o] ~~~ execute @e[name=y,rm=256] ~~~ /scoreboard players add @a[tag=二分] 二分 256
execute @e[name=o] ~~~ execute @e[name=y,rm=256] ~~~ tp ~~256~
execute @e[name=o] ~~~ execute @e[name=y,rm=128] ~~~ /scoreboard players add @a[tag=二分] 二分 128
execute @e[name=o] ~~~ execute @e[name=y,rm=128] ~~~ tp ~~128~
execute @e[name=o] ~~~ execute @e[name=y,rm=64] ~~~ /scoreboard players add @a[tag=二分] 二分 64
execute @e[name=o] ~~~ execute @e[name=y,rm=64] ~~~ tp ~~64~
execute @e[name=o] ~~~ execute @e[name=y,rm=32] ~~~ /scoreboard players add @a[tag=二分] 二分 32
execute @e[name=o] ~~~ execute @e[name=y,rm=32] ~~~ tp ~~32~
execute @e[name=o] ~~~ execute @e[name=y,rm=16] ~~~ /scoreboard players add @a[tag=二分] 二分 16
execute @e[name=o] ~~~ execute @e[name=y,rm=16] ~~~ tp ~~16~
execute @e[name=o] ~~~ execute @e[name=y,rm=8] ~~~ /scoreboard players add @a[tag=二分] 二分 8
execute @e[name=o] ~~~ execute @e[name=y,rm=8] ~~~ tp ~~8~
execute @e[name=o] ~~~ execute @e[name=y,rm=4] ~~~ /scoreboard players add @a[tag=二分] 二分 4
execute @e[name=o] ~~~ execute @e[name=y,rm=4] ~~~ tp ~~4~
execute @e[name=o] ~~~ execute @e[name=y,rm=2] ~~~ /scoreboard players add @a[tag=二分] 二分 2
execute @e[name=o] ~~~ execute @e[name=y,rm=2] ~~~ tp ~~2~
execute @e[name=o] ~~~ execute @e[name=y,rm=1] ~~~ /scoreboard players add @a[tag=二分] 二分 1
execute @e[name=o] ~~~ execute @e[name=y,rm=1] ~~~ tp ~~1~
然后就可以得出y轴了