0

我想找到 4 个变量之间的最小值。

这在几乎任何编程语言中都很容易做到,但我正在尝试在 YOLOL(Starbase 游戏编程语言)中这样做

这引入了约束:

  • 没有循环
  • 没有方法(我唯一的方法是 ABS 方法,在这种情况下我不需要它)
  • 每行只能有 70 个字符(再多的话就会被忽略)
  • 每行需要 0.2 秒才能执行,因此到目前为止首选一个衬里

您可以在此处找到更多信息:https ://wiki.starbasegame.com/index.php/YOLOL

问题如下:我有 4 个测距仪,每个测距仪都有一个单独的名称,给我一个从 0 到 1000 的值(INT 值,没有浮点数,没有负数)。它们用于测量到地面的距离。我不想显示 4 个值并让飞行员猜测,而是希望显示最小/最接近的值。

最简单的解决方案显然是单独比较所有 4 个值,但这需要在几行上进行,这会引入很长的执行时间,从而延迟使信息不太可靠。如果可能的话,我正在寻找的是一个可能的在线或双线

编辑:目前这是我最好的(运行 4 行/0.8 秒):

:tmp = 1000
IF :GFL<:tmp THEN :tmp=:GFL END IF :GFR<:tmp THEN :tmp=:GFR END
IF :GBL<:tmp THEN :tmp=:GBL END IF :GBR<:tmp THEN :tmp=:GBR END
:GroundDistance = :tmp GOTO01

我使用一个值:tmp来防止输出:GroudDistance(向飞行员显示女巫)在值更新时闪烁

:GFL= 地面前左
:GFR= 地面前右
:GBL= 地面后左
:GBR= 地面后右
:GroundDistance= 显示给飞行员的值

4

0 回答 0