999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#的游戲倒計時功能的實現

2018-07-05 03:51:02
信息記錄材料 2018年8期
關鍵詞:按鈕游戲

武 岳

(河南工業貿易職業學院 河南 鄭州 451191)

1 引言

在C#中,不僅可以開發一些簡單的控制臺應用程序,還可以開發WinForm窗體應用程序。WinForm提供了一系列非常豐富的控件,用來創建Windows窗體應用程序。每一個控件模型都相當于一個類,每個類都有很多屬性和事件來提供多種功能,通過繼承和擴展這些控件類來使Windows窗體界面變得豐富多彩。在這些控件中,我們利用常用的Label、Button、Timer和ProgressBar控件,來實現簡單的游戲倒計時功能。

2 Microsoft Visual Studio 2010開發環境介紹

Visual Studio是微軟公司推出的一種程序開發環境,也是目前最流行的支持C#、C++等多語言開發的平臺環境。本文所使用的Visual Studio 2010版本于2010年4月12日上市,重新設計和組織了其集成開發環境(IDE)的界面,變得更加簡單明了。Visual Studio 2010同時帶來了NET Framework 4.0、Microsoft Visual Studio 2010 CTP(Community Technology Preview--CTP),并且支持開發面向Windows 7的應用程序。它同時支持Microsoft SQL Server、IBM DB2和Oracle數據庫,可以來創建網絡服務,智能設備應用程序,Windows平臺下的網絡應用程序和Windows應用程序。

3 需求分析

該程序是進入游戲之前的界面,主要實現在游戲加載過程中的倒計時功能。當用戶點擊“開始游戲”按鈕時,窗體上出現10秒鐘倒計時,并且進度條每秒鐘增加%10,當倒計時結束時,彈出“進入游戲?”的提示框,通過選擇消息對話框中的“是”和“否”按鈕來確定是否進入游戲。如果點擊“是”按鈕,則顯示另外一個窗體Game,即打開游戲。游戲部分的功能在本程序中不做實現。而游戲窗體關閉后則整個應用程序結束。如果點擊“否”按鈕,則整個應用程序結束。界面設計如圖1、2所示。

圖1 游戲倒計時界面

圖2 消息對話框界面

4 功能實現

該程序需要使用三個Label控件來顯示提示信息和倒計時時間,一個Button控件來開始計時,倒計時使用Timer控件實現,使用進度條ProgressBar來實現可視化的倒計時效果。

4.1 界面設計

在VS2010開發環境下,選擇【文件】-【新建】-【項目】,選擇Visual C#下的Windows窗體應用程序,命名為Time。更改默認窗體Form1的Name屬性為“FormMain”、Text屬性為“倒計時”。在項目名上右鍵,選擇添加一個新的Windows窗體,窗體名為Game,用來表示游戲界面,該窗體不做設計。

從工具箱中分別拖放三個Label控件,一個Button控件、一個Timer組件和一個ProgressBar控件。分別設置三個Label的Name屬性為“Textlabel1”、“Textlabel2”和“Timelabel”,設置它們的Text屬性為“啟動游戲倒計時:”、“游戲加載中:”和“”空字符。設置“Timelabel”的Font屬性為“宋體, 15pt, style=Bold”。其中,“Textlabel1”和“Textlabel2”用來顯示提示信息,“Timelabel”用來顯示倒計時時間。設置Button的Name屬性為“buttonStart”、Text屬性為“開始游戲”。Timer組件的作用是周期性的執行某個操作,其默認事件Tick用來執行這些操作,而Tick事件的執行周期,則由Interval屬性控制。將Timer組件的Interval屬性修改為1000,即每1000毫秒(1秒)觸發一次Tick事件。ProgressBar控件,又叫進度條控件。該控件最常用的三個屬性分別為:Value、Maximum和Minimum。Value屬性表示進度條的當前數值,取值為整數;Minimum表示進度條的最小值,默認值為0;Maximum表示進度條的最大值,默認值為100。ProgressBar控件的屬性均采用默認值,不做修改。

4.2 代碼實現

在窗體的設計視圖下,鼠標雙擊ButtonStart按鈕,則自動生成該按鈕的Click事件,代碼如下:

private int time;

//私有字段time,用來表示倒計時的剩余時間。

private void buttonStart_Click(object sender,EventArgs e)

//單擊“開始游戲”按鈕所觸發的事件

{

time = 9;

progressBar1.Value = 0;

timer1.Start();

}

定義一個int類型的字段time,用來表示倒計時的剩余時間。由于需要在多個事件中使用該值,所以定義成字段。在Click事件中,將time的初值定義為9,將進度條的初始值定義為0,然后調用Start方法啟動Timer控件,開始進入周期計時。

在窗體的設計視圖下,鼠標雙擊Timer1控件,則自動生成它的Tick事件,代碼如下:

private void timer1_Tick(object sender,EventArgs e)

{

if (time!=10)

{

progressBar1.Value += (int)(progressBar1.Maximum*0.1);

//每一個Interval周期里,進度條增加進度條最大值的百分之十。

}

Timelabel.Text = time.ToString();

if (time==0)

//當倒計時剩余時間為0時,停止計時,即Timer控

件停止使用

{

timer1.Stop();

DialogResult r=MessageBox.Show("進入游戲?",

"開 始",M e s s a g e B o x B u t t o n s.YesNo,MessageBoxIcon.Question);

//用消息對話框給出相應提示

if (r==DialogResult. Yes)

{Game g = new Game();g.ShowDialog();

Application.Exit();

}

else

{

Application.Exit();

}

}

time--;

//每一次Tick事件結束,將倒計時剩余時間減一。

}

在Tick事件中,首先通過if語句判斷剩余時間是否為10,如果不為10,則每個Interval周期里,進度條增加百分之十。將當前time的值轉換為字符串類型后,賦值給Timelabel.Text,通過Timelabel顯示剩余的時間。當剩余時間為0時,停止計時,即Timer控件停止使用,通過timer1的Stop方法將控件停用。通過調用MessageBox類的Show方法,彈出消息對話框提示,界面如圖2所示。Show方法的返回值是DialogResult枚舉值之一。枚舉值有:OK、Cancel、Yes、No和None。通過枚舉值的判斷可以確定在對話框中單擊了哪個按鈕。Show方法有多種重載,其四個參數依次表示對話框顯示的文本、標題、按鈕和圖標。最后,判斷Show方法的返回值,如果為枚舉值Yes,則調用ShowDialog方法顯示游戲窗體Game,并在Game關閉后通過調用Application類的Exit方法結束應用程序。否則,直接結束應用程序。

[1]傳智播客高教產品研發部. C#程序設計基礎入門教程.人民郵電出版社.2014年6月.

[2]馬駿.C#網絡應用編程基礎.人民郵電出版社.2006年10月.

[3]馬駿,鄭逢斌,沈夏炯.C#網絡應用高級編程.人民郵電出版社,2006年10月.

猜你喜歡
按鈕游戲
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
死循環
游戲
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
第八章 直接逃出游戲
小學科學(2015年6期)2015-07-01 14:30:14
主站蜘蛛池模板: 精品视频91| 欧美一区二区三区不卡免费| 国产乱子伦视频在线播放| 日本高清在线看免费观看| P尤物久久99国产综合精品| 亚洲精品手机在线| 99热国产这里只有精品9九 | av天堂最新版在线| 999精品色在线观看| 激情影院内射美女| 亚洲妓女综合网995久久| 9啪在线视频| 免费又爽又刺激高潮网址 | 全免费a级毛片免费看不卡| 日韩天堂视频| 色婷婷成人网| 久久青草视频| 亚洲婷婷在线视频| 欧美在线国产| 亚洲午夜福利在线| 日本不卡在线视频| 国产免费黄| 99久久精品国产麻豆婷婷| 亚洲国产精品不卡在线| 极品国产在线| 无码中字出轨中文人妻中文中| 亚洲一区二区日韩欧美gif| 国产精品自在在线午夜| 欧美性久久久久| 亚洲日韩Av中文字幕无码| 色丁丁毛片在线观看| 亚洲成A人V欧美综合| 国产成人高清精品免费软件| 久久黄色免费电影| 香蕉视频在线观看www| 免费一级全黄少妇性色生活片| 日本一本在线视频| 国内嫩模私拍精品视频| 欧美一区二区三区不卡免费| 精品欧美日韩国产日漫一区不卡| 亚洲欧美日本国产综合在线| 国产综合亚洲欧洲区精品无码| 日本免费福利视频| 91口爆吞精国产对白第三集| 一级毛片无毒不卡直接观看| 91麻豆精品国产高清在线| 国产精品自在拍首页视频8| 波多野结衣二区| 久久综合九色综合97婷婷| 性色一区| 成人午夜网址| 国产大片黄在线观看| 国产精品部在线观看| 亚洲综合片| 精品一区二区无码av| 国产一区二区影院| 欧美第二区| yjizz国产在线视频网| 国产青榴视频| 福利一区三区| 狠狠操夜夜爽| 91免费观看视频| 无码在线激情片| 综合色在线| 亚洲精品综合一二三区在线| 国产黄色片在线看| 五月天天天色| 97se亚洲综合| 亚洲一欧洲中文字幕在线| 国产迷奸在线看| 无码av免费不卡在线观看| 日本草草视频在线观看| 日韩一区二区三免费高清| 91探花国产综合在线精品| 中日无码在线观看| 国产精品白浆在线播放| 幺女国产一级毛片| 熟妇人妻无乱码中文字幕真矢织江| 国产黑丝一区| 欧美日韩va| 在线观看亚洲国产| 精品国产成人高清在线|