freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的連連看游戲設(shè)計(jì)(編輯修改稿)

2024-11-28 10:29 本頁面
 

【文章內(nèi)容簡介】 個(gè)圖標(biāo)導(dǎo)入進(jìn)來,注意圖標(biāo)的截取大小最好是 32*32,另外,創(chuàng)建 1 個(gè)空圖標(biāo)以備消除時(shí)替代 , 如 圖 9 所示。 圖 9 導(dǎo)入圖標(biāo) 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 14 ( 4) 切換到 Class View 視圖,左鍵連擊兩次 CEX_lianliankanDlg,在 public 成員函數(shù)中添加如下成員變量: Class CEX_lianliankanDlg : public CDialog { // Construction public: void OnButton(UINT nID)。 UINT icon[240]。 CTime endTime。 //定義結(jié)束時(shí)間 CTime beginTime。 //定義開始時(shí)間 int count。 CButton* cb2。 //點(diǎn)擊的第一個(gè)按鈕指針變量 CButton* cb1。 //點(diǎn)擊的第二個(gè)按鈕指針變量 HICON blank。 HICON icon2。 HICON icon1。 int state。 CEX_lianliankanDlg(CWnd* pParent = NULL)。 // standard constructor // Dialog Data //{{AFX_DATA(CEX_lianliankanDlg) ( 5)修改構(gòu)造函數(shù) 展開 CEX_lianliankanDlg,點(diǎn)擊 CEX_lianliankanDlg(CWnd *pParent=NULL),然后在里面添加以下程序代碼(部分省略): //{{AFX_DATA_INIT(CEX_lianliankanDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。 state=1。 //state 的初始值為 1 blank= AfxGetApp()LoadIcon(IDI_ICON121)。 //空白圖標(biāo) // count=0。 UINT temp[]={IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON5,IDI_ICON6,IDI_ICON7,IDI_ICON8,IDI_ICON9,IDI_ICON10,IDI_ICON11,IDI_ICON12, ?? IDI_ICON107,IDI_ICON108,IDI_ICON109,IDI_ICON110,IDI_ICON111,IDI_ICON112,IDI_ICON113,IDI_ICON114,IDI_ICON115,IDI_ICON116,IDI_ICON117,IDI_ICON118,IDI_ICON119,IDI_ICON120, IDI_ICON1,IDI_ICON2,IDI_ICON3......IDI_ICON118,IDI_ICON119,IDI_ICON120}。 //共 240 個(gè)按鈕, 120 個(gè)圖標(biāo),有兩個(gè)按鈕的圖標(biāo)是相同的 // for(int i=0。i240。i++) 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 15 { icon[i]=temp[i]。//把圖標(biāo)導(dǎo)給圖標(biāo)數(shù)組 // } 程序說明: CEX_lianliankanDlg::CEX_lianliankanDlg()中的代碼是對成員函數(shù)進(jìn)行初始化:state 表示兩次 點(diǎn)擊這次點(diǎn)擊或上次點(diǎn)擊; count 表示目前已經(jīng)找出來的相同圖標(biāo)的數(shù)目,初始值為 0(即沒有找到); icon 數(shù)組存放 256 個(gè)圖標(biāo)的編號(hào)。 ( 6) 添加消息映射 在 BEGIN_MESSAGE_MAP(CEX_lianliankanDlg, CDialog)中添加 ON_ COMMAND_RANGE(IDC_BUTTON1,IDC_BUTTON240,OnButton)的消息映射,如下: BEGIN_MESSAGE_MAP(CEX_lianliankanDlg, CDialog) //{{AFX_MSG_MAP(CEX_lianliankanDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_COMMAND_RANGE(IDC_BUTTON1,IDC_BUTTON240,OnButton) //添加程序代碼 //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CEX_lianliankanDlg message handlers 添加以上程序代碼主要是在每次點(diǎn)擊按鈕時(shí),系統(tǒng)都能跳到同一個(gè)函數(shù)里面去運(yùn)行。 ( 7) 在 CGameTestDlg::OnInitDialog()函數(shù)中添加初始化代碼,中間部分省略,如下所示: BOOL CEX_lianliankanDlg::OnInitDialog() { CDialog::OnInitDialog()。 srand((unsigned)time(NULL))。 for(int i=0。i100。i++) { int m=rand()%240。 int n=rand()%240。 UINT temp=icon[m]。 icon[m]=icon[n]。 icon[n]=temp。 } HICON Icon1=AfxGetApp()LoadIcon(icon[1])。 (Icon1)。 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 16 HICON Icon2=AfxGetApp()LoadIcon(icon[2])。 (Icon2)。 HICON Icon3=AfxGetApp()LoadIcon(icon[3])。 (Icon3)。 HICON Icon4=AfxGetApp()LoadIcon(icon[4])。 (Icon4)。 HICON Icon5=AfxGetApp()LoadIcon(icon[5])。 (Icon5)。 HICON Icon6=AfxGetApp()LoadIcon(icon[6])。 (Icon6)。 HICON Icon7=AfxGetApp()LoadIcon(icon[7])。 (Icon7)。 HICON Icon8=AfxGetApp()LoadIcon(icon[8])。 (Icon8)。 HICON Icon9=AfxGetApp()LoadIcon(icon[9])。 (Icon9)。 HICON Icon10=AfxGetApp()LoadIcon(icon[10])。 (Icon10)。. HICON Icon235=AfxGetApp()LoadIcon(icon[235])。 (Icon235)。 HICON Icon236=AfxGetApp()LoadIcon(icon[236])。 (Icon236)。 HICON Icon237=AfxGetApp()LoadIcon(icon[237])。 (Icon237)。 HICON Icon238=AfxGetApp()LoadIcon(icon[238])。 (Icon238)。 HICON Icon239=AfxGetApp()LoadIcon(icon[239])。 (Icon239)。 HICON Icon240=AfxGetApp()LoadIcon(icon[0])。 (Icon240)。 beginTime=CTime::GetCurrentTime()。 // Add “ About...“ menu item to system menu. 程序說明: CEX_lianliankanDlg::OnInitDialog()中的代碼主要對游戲狀體初始化,通過調(diào)用 200 次隨機(jī)函數(shù),將圖標(biāo)順序打亂,并賦給每個(gè)按鈕,以實(shí)現(xiàn)游 戲開始圖標(biāo)隨機(jī)分布的效果。同時(shí),將當(dāng)前時(shí)間記錄在 beginTime 變量中。 ( 9) 添加一個(gè)名為 OnButton 的成員函數(shù),并為該函數(shù)編寫如下所示的代碼。右擊CEX_lianliankanDlg,選擇 Add Member Function,在對話框內(nèi)輸入 的內(nèi)容 如圖 7 所示 。 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 17 圖 10 添加 OnButton 成員函數(shù)圖 添加 OnButton 成員函數(shù),代碼如下: void CEX_lianliankanDlg::OnButton(UINT nID) { state=state。 //最初 state=1,第一次進(jìn)去 state=1 CButton* cb=(CButton*)GetDlgItem(nID)。 if(state0) { cb1=cb。 //記下按鈕的 ID 號(hào) icon1=cbGetIcon()。 //記下圖標(biāo)的 ID 號(hào) } //點(diǎn)擊第一個(gè)按鈕的時(shí)候,相應(yīng)出現(xiàn)的圖標(biāo) // else if(state0) //第二次進(jìn)去 state=1,如此,每次取反 // { cb2=cb。 icon2=cbGetIcon()。 if((icon1==icon2)amp。amp。(cb1!=cb2)amp。amp。(cb1GetIcon()!=blank)) //保證圖標(biāo)相同,按鈕不同且不能為空白圖標(biāo) // { cb1SetIcon(blank)。 cb2SetIcon(blank)。 //圖標(biāo)相 同,則給兩個(gè)按鈕賦予空白圖標(biāo) // count+=2。 //消除后,按鈕數(shù)自動(dòng)加 2// if(count==240) //當(dāng)按鈕數(shù) =240 時(shí),代表所有圖標(biāo)已經(jīng)消除,游戲完成 { endTime=CTime::GetCurrentTime()。 CTimeSpan duration=endTimebeginTime。 //記錄游戲時(shí)間 MessageBox( “ 恭 喜 ! 你 已 經(jīng) 完 成 了 游 戲 ! 用 時(shí) :“ +(“ %M“ )+“ 分 “ +(“ %S“ )+“ 秒 “ )。 } } 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 18 else { } UpdateData(FALSE)。 } } 程序說明: 游戲過程中點(diǎn)擊圖標(biāo)會(huì)調(diào)用 CEX_lianliankanDlg::OnButton(UINT nID)函數(shù),該成員函數(shù)為游戲運(yùn)行的主要函數(shù),程序中也有注釋,首先改變 state 的值,根據(jù)其等于 1還是 1 來判斷用戶是否已點(diǎn)了兩次,如果是點(diǎn)了兩次,則比較這兩點(diǎn)的圖標(biāo)是否相同,如果相同,則將 count 的值 +2, 同時(shí)消去這兩次點(diǎn)擊的圖標(biāo)。我們不斷重復(fù)上面描述的功能,直到當(dāng) count 的值 =256 時(shí),說明用戶已經(jīng)成功完成了游戲,并記錄和顯示游戲完成時(shí)間 , 其流程框圖如 圖 11 所示。 內(nèi)江師范學(xué)院本科畢業(yè)設(shè)計(jì) 19 相同 否 圖 11 游戲規(guī)則流程圖 功能選項(xiàng)模塊設(shè)計(jì) 界面設(shè)計(jì)基本完成,在上面步驟完成后,系統(tǒng)自動(dòng)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1