這是有點難以對我解釋,但看:執行只有在一定的時間已經過去了的東西
我做了一個MMORPG服務器啓動至極有一個啓動按鈕,磨片,你點擊一個小窗口彈出,詢問你投票服務器,然後你可以再次點擊開始啓動遊戲(有一個10秒倒計時,纔可以真正開始遊戲)
唯一的是,投票網站只接受投票從一個用戶每12小時(基於IP和cookie),並且有人投了一次後,有一點點窗口彈出並等待每次你想開始遊戲時都有點煩人。
我的想法是: 當有人點擊打開投票窗口時,他的系統日期和準確時間將寫入文件。
之後,每次點擊開始發射器讀取日期和時間,並計算自上次投票以來是否已經過了12小時,如果是,它會再次要求您投票,如果不是,它將跳過那部分並直接開始遊戲。
我不是很有經驗,我不知道從哪裏開始,如何使這項工作,你的幫助是高度讚賞。
謝謝!
這是我的事件,如果它可以幫助。
private void btnStart_Click(object sender, EventArgs e)
{
var voteForm = new VoteWindow();
voteForm.Show();
voteForm.BringToFront();
this.Enabled = false;
}
這裏是我真正開始遊戲的代碼。
private void btnStart2_Click(object sender, EventArgs e)
{
string error1 = "Deleted because it was too long...";
string title1 = "Deleted because it was too long...";
if (File.Exists("engine.exe"))
{
Process.Start("engine.exe", "/load /config debug");
Application.Exit();
}
else
{
MessageBox.Show(error1, title1, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
在一個不相關的筆記上,爲什麼要這麼做: voteForm.Show(); voteForm.BringToFront(); this.Enabled = false; ??爲什麼不使用ShowDialog()呢? – Star
我沒有使用ShowDialog,因爲我試過了,並且遇到了一些問題,現在我正在使用的那個完成同樣的功能,並且BringToFront將確保它位於主窗體的頂部。另外禁用是禁用和凍結主表格,而投票人開放 – Dan