Python 如何在不以增量除以Le的点停止递增移动的矩形?

Python 如何在不以增量除以Le的点停止递增移动的矩形?,python,pascal,plc,structured-text,Python,Pascal,Plc,Structured Text,我有一个以25像素为增量移动的矩形。当矩形的x位置等于740时,我需要停止它。740不能除以25,因此x位置永远不会落在740上。25的增量也是动态的,可以是25-100。问题与语言无关。鉴于有可能无法到达位置740,但仅近似于+/-增量,您必须将其考虑在内 因此,测试可以是: if (x >= 740-increment div 2) and (x <= 740+increment div 2) then... (got) 如果(x>=740增量div 2)和(x=740那么…(

我有一个以25像素为增量移动的矩形。当矩形的x位置等于740时,我需要停止它。740不能除以25,因此x位置永远不会落在740上。25的增量也是动态的,可以是25-100。问题与语言无关。

鉴于有可能无法到达位置740,但仅近似于+/-增量,您必须将其考虑在内

因此,测试可以是:

if (x >= 740-increment div 2) and (x <= 740+increment div 2) then... (got)
如果(x>=740增量div 2)和(x=740那么…(got)

如果x>740,则如果x-increment,则可能在增加位置变量之前执行检查

    IF currentXpos + increment < 740 THEN
       currentXpos = currentXpos + increment;
    END_IF
如果currentXpos+增量<740,则
currentXpos=currentXpos+增量;
结束(如有)
如果您希望职位至少为740,只需使用

    IF currentXpos < 740 THEN
       currentXpos = currentXpos + increment;
    END_IF
如果currentXpos<740,则
currentXpos=currentXpos+增量;
结束(如有)

如果25的增量是动态的,那么您肯定可以将其更改为均匀进入740的值?操作员正在使用滑块从25-100中选择增量。这有点尴尬,因为它只在某些时候起作用:)。也许我只允许740上的增量。那么
X:=Min(X+Increment,740)呢这取决于移动算法。“我需要停止矩形”是指停止移动的算法还是停止移动矩形?你说的很抽象。为什么简单
如果x<740那么x:=x+25;结束(如有)不起作用?我喜欢Toms解决方案。谢尔盖,这将在x=750时停止矩形。它将是725,然后在下一个通道将是750,然后它将停止。
    IF currentXpos < 740 THEN
       currentXpos = currentXpos + increment;
    END_IF