我試圖製作一個遊戲,每個月是28天,每年有4個月。 我似乎無法找到一種方法來修改月份和年份的長度。如何在c中爲DateTime創建一個自定義年份#
看來可以製作自己的日曆,但我不知道如何處理這個問題。
我試圖製作一個遊戲,每個月是28天,每年有4個月。 我似乎無法找到一種方法來修改月份和年份的長度。如何在c中爲DateTime創建一個自定義年份#
看來可以製作自己的日曆,但我不知道如何處理這個問題。
我不相信你可以在自定義範圍中使用DateTime。但是,除了我的頭頂上,您可以建立一個天數,月數和年數的計數器,每次計數達到28時,重置計數器並將其添加到月份計數器中,與月份計數器達到4的年份相同。
你可以使用觸發器進步的日子裏,每個玩家進入睡眠狀態或使用蜱定時器的時間,例如,讓我們說每1000 MS,每個由1
八九不離十剔增加計數器像這樣:
public void Ticker()
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 1000;
aTimer.Enabled = true;
}
void OnTimedEvent(object source, ElapsedEventArgs e)
{
if (days < 28)
days++;
else
days = 0;
if (days == 28 && months < 4)
months++;
else if (days == 28 && months == 4)
{
months = 0;
years++;
}
}
你必須實現一個自定義'DateTime'類型。您可能需要查看[參考源](https://referencesource.microsoft.com/#mscorlib/system/datetime.cs,df6b1eba7461813b)獲取靈感 –
Jessen是對的!你必須使用這個實現,並使用它,你可以輸入你每年的日子,每月的日子等等。這只是一點點工作,但你只能實現你需要的方法。例如,只有一個構造函數等等。 –