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

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

2023-01-13 09:06 作者:萌鲨无敌  | 我要投稿

就比如说有一个平面直角坐标系,要求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轴了

简易动画演示二分法求坐标的评论 (共 条)

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