ゲーム用の昼夜システムをコーディングしましたが、そのうちの1つの方法で問題が発生しています。私はこれまで1つの方法を除いてそれをよくコード化しました。 )私は問題を抱えています方法はIsGettingLight(ある昼夜のシステムで、光が届かない場合でも光がチェックされていますか?
using Plus.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Plus.Roleplay.GameEnvironment
{
class GameEnvironmentHandler
{
private List<TimeSpan> _darkTimes;
private List<TimeSpan> _lightTimes;
public GameEnvironmentHandler()
{
_darkTimes = new List<TimeSpan>
{
new TimeSpan(19, 0, 0),
new TimeSpan(19, 30, 0),
new TimeSpan(20, 0, 0),
new TimeSpan(20, 30, 0),
new TimeSpan (21, 0, 0)
};
_lightTimes = new List<TimeSpan>
{
new TimeSpan(06, 0, 0),
new TimeSpan(06, 30, 0),
new TimeSpan(07, 0, 0),
new TimeSpan(07, 30, 0),
new TimeSpan (08, 0, 0)
};
}
public bool IsGettingDark()
{
return RoleplayHelper.IsTimeOfDayBetween(DateTime.Now,
_darkTimes.First(), _darkTimes.Last());
}
public bool IsGettingLight()
{
return RoleplayHelper.IsTimeOfDayBetween(DateTime.Now,
_lightTimes.First(), _lightTimes.Last())
|| RoleplayHelper.IsTimeOfDayBetween(DateTime.Now,
_lightTimes.First(), _darkTimes.Last());
}
}
}
、私は時間が最初と最後の光回わたってるしきであるかどうかを確認するために、それをコード化しているが、何その最後の後の場合:ここでは完全なコードですそれが暗くなったり、暗くなったり、明るくなったりしていないかどうかをどうすれば確認できますか?私は最初の暗い時間から少し時間を取り除くこととは何かを知っていますが、正確に何を削除するのですか?
Wouldn」 '_lightTimes.Last()'と '_darkTimes.First()'の間にあるt?私が質問を理解しているか、 '_darkTimes.Last()'と '_lightTimes.First()'の間の時間について似たような質問をしていないのかどうかわからない –
また、 'TimeSpan'が正しいオブジェクト...特定の時間ではなく時間の長さを表すはずです。特定の時間は、 'DateTime'オブジェクトを使用し、' DateTime.Now.TimeOfDay'で時間、分、秒の部分を比較する必要があります –
@RufusL深夜の後に2回重複する可能性があるため、TimeOfDayは使用できません別の日。私が言ったことは(_lightTimes.Last()と_darkTimes.First()の間に)私はそれが暗くなったり明るくなったりしていない時はいつも明るいと思いますか?私はそれが光になる日の毎分を得ようとしています。 –