Closed. This question needs to be more focused。它当前不接受答案。












想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。

2年前关闭。



Improve this question




在工作中,我们有其中一种讨厌的公用小便池。没有冲洗 handle 。相反,它有一个运动传感器,当您站在它前面时,它有时会触发,有时却不。当它触发时,会充满一个水箱,水箱装满后会用来冲洗小便池。

在进行这种诱捕之前的许多旅行中,我既考虑了盒子在确定何时开启的算法上又考虑了最佳算法,既节约了水,又保持了相对愉悦的小便池体验。

一旦人们有机会分享他们的想法,我将分享我的答案。

最佳答案

OnUserEnter()
{
   if (UsersDetected == 0)
   {
      FirstDetectionTime = Now();
   }
   UsersDetected++;
   CurrentlyInUse = true;
}

OnUserExit()
{
  CurrentlyInUse = false;
  if (UsersDetected >= MaxUsersBetweenFlushes ||
         Now() - FirstDetectionTime > StinkInterval)
  {
     Flush();
  }
}

OnTimer()
{
   if (!CurrentlyInUse &&
          UsersDetected > 0 &&
          Now() - FirstDetectionTime > StinkInterval)
   {
      Flush();
   }
}

Flush()
{
   FlushTheUrinal();
   UsersDetected = 0;
}

10-04 14:45