<火山程序 类型 = "通常" 版本 = 1 />
方法 取差值 <公开>
参数 v1 <类型 = 整数>
参数 v2 <类型 = 整数>
{
返回 (取较小值 (取整数绝对值 (v1 - v2), 12 - 取整数绝对值 (v1 - v2)))
}
b0y 发表于 2024-2-17 20:06
可以根据2个点和圆心的夹角是否小于180
这个方法是正确的 感觉想复杂了啊
不需要算法,直接用目标减当前点
结果为正,就正行,为负,就逆行
urenai 发表于 2024-2-18 01:40
我滴个天,我捣鼓出来了才发现有兄弟给弄了。
@ while (@<v1> < 0) {@<v1> += 12;}
@ while (@<v1> > 11){@<v1> -= 12;}
@ while (@<v2> < 0) {@<v2> += 12;}
@ while (@<v2> > 11){@<v2> -= 12;}
@ int v3 = min(abs(@<v1> - @<v2>), 12 - abs(@<v1> - @<v2>));
@ return @<v1> <= @<v2> ? v3 : -v3;
前面4行意思是,你输入大于或小于区间值,更正一次。
例如你输入的值是 v1=13,实际输出 v1=1,这样保证结果绝对正确。
第5句就是取出最小值,但是这个最小值是正数 肯定不为负。
依赖第6句,是否返回负 urenai 发表于 2024-2-18 12:51
@ while (@ < 0) {@ += 12;}
@ while (@ > 11){@ -= 12;}
@ while (@ < 0) {@ += 12;}
用火山直接写比较简单 你们都是玩C++的吗,咋都那么牛。
页:
1
[2]