如果RL天有6个游戏日,如何获得游戏时间?

时间:2017-02-14 15:19:52

标签: php time

我的问题是:我的比赛日应该是现实世界的1/6。比赛日有12个游戏时间。因此,一个游戏时间是20分钟实时。或者那就是它应该是的。然而,当我观察时间时,而不是一小时20分钟,实际上是30分钟。我无法弄清楚造成这种情况的原因。我的功能出了什么问题?

public function getGameTime() {

  $t = time();
  $d = $t/60/60/6 - 68646;//the number taken off makes the current time day 200 instead of a really big number
  $fraction = $d - floor($d);
  if ($fraction<(1/12)) $hour = 0;
  else if ($fraction<(1/12)*2) $hour = 1;
  else if ($fraction<(1/12)*3) $hour = 2;
  else if ($fraction<(1/12)*4) $hour = 3;
  else if ($fraction<(1/12)*5) $hour = 4;
  else if ($fraction<(1/12)*6) $hour = 5;
  else if ($fraction<(1/12)*7) $hour = 6;
  else if ($fraction<(1/12)*8) $hour = 7;
  else if ($fraction<(1/12)*9) $hour = 8;
  else if ($fraction<(1/12)*10) $hour = 9;
  else if ($fraction<(1/12)*11) $hour = 10;
  else $hour = 11;
  for ($minute = 59; $minute>=0; $minute--) {
    if ((($hour*60+$minute)/720)<$fraction) {
      $min = $minute;
      break;
    }
  }
  return array(
  "day" => floor($d),
  "hour" => $hour,
  "minute" => $min
  );
}

1 个答案:

答案 0 :(得分:0)

所以是的,如果我想要一天中有6个四小时的时间段,我需要除以4.除以6会给我四个6小时的时间段。因为除数是游戏日的实际生命小时数,而不是24小时内的游戏天数。问题解决了。