保健品現(xiàn)狀及發(fā)展趨勢分析

保健品現(xiàn)狀及發(fā)展趨勢分析

ID:18334943

大小:105.00 KB

頁數(shù):25頁

時間:2018-09-16

保健品現(xiàn)狀及發(fā)展趨勢分析_第1頁
保健品現(xiàn)狀及發(fā)展趨勢分析_第2頁
保健品現(xiàn)狀及發(fā)展趨勢分析_第3頁
保健品現(xiàn)狀及發(fā)展趨勢分析_第4頁
保健品現(xiàn)狀及發(fā)展趨勢分析_第5頁
資源描述:

《保健品現(xiàn)狀及發(fā)展趨勢分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、綜合實例——俄羅斯方塊?1.問題描述屏幕中央有一個矩形容器,程序剛開始時是空的;當(dāng)鼠標單擊“開始”菜單時,矩形容器內(nèi)從上向下隨機出現(xiàn)俄羅斯方塊的部件。通過鍵盤上的左右鍵分別左右移動部件(一個單位),向上鍵順時針旋轉(zhuǎn)90度。當(dāng)部件到達容器底部或已停止的部件上時,停止;當(dāng)容器的同一行被部件填滿時,該行消失。其他行依次向下移動。計分方法:一次消去一行100分,同時消去行、3行或4行分別為300、500和900分。在適當(dāng)位置顯示當(dāng)前累計分。當(dāng)部件總行數(shù)超過矩形容器高度時,提示“游戲失敗”信息并停止。設(shè)有三個級別的游戲難度供選擇。難度越大、下落越快。?2.編程要求(1)屏幕中央有

2、一個矩形容器,選擇“開始”菜單,俄羅斯方塊的部件隨機產(chǎn)生并在容器中從上向下下落。(2)有七種標準俄羅斯方塊部件,并隨著鍵盤上的左右鍵分別左右移動,隨著鍵盤上的向上鍵分別順時針旋轉(zhuǎn)90度。(3)當(dāng)部件到達容器底部或已停止的部件上時,停止;當(dāng)同一行部件完整拼接上時,該行消失,其他行向下移動,在適當(dāng)位置顯示當(dāng)前累計分。(4)當(dāng)部件總行數(shù)超過矩形容器高度時,提示“游戲失敗”信息并停止。?3.?要點分析本題主要涉及到的知識點有:鍵盤消息、菜單、隨機函數(shù)、定時器和序列化。同時也需要有畫筆/畫刷使用,動態(tài)存儲空間的分配與回收等工作,難度偏大。該題的部件以及已經(jīng)停止的部件均用小方格來表

3、示。整個游戲區(qū)域?qū)?yīng)一個二維數(shù)組,數(shù)組為0時,表示空白,為1時表示已有方格。該數(shù)組存儲所有已經(jīng)不能再移動的部件。部件采用一維數(shù)組來表示,這些一維數(shù)組實際是一個n×n的矩陣。如表示一個方塊使用一個2×2的矩陣,實際存儲為(1,1,1,1);則表示一個長條使用一個4×4的矩陣,實際存儲為(0,1,0,0,0,1,0,0,0,1,0,0)。實際顯示的時候,先畫出已停止的方格,然后換算出正在下落的部件的正確坐標位置并將其畫出。旋轉(zhuǎn)部件時,變換存儲部件的矩陣,使其對應(yīng)為旋轉(zhuǎn)后的形態(tài)。判斷部件是否可以下落、旋轉(zhuǎn)、左移或右移時,將表示部件的數(shù)組對應(yīng)到游戲區(qū)域的二維數(shù)組中,再判斷是否允

4、許改操作。當(dāng)部件無法再動時,將部件數(shù)組中對應(yīng)項填入游戲區(qū)域?qū)?yīng)的二維數(shù)組中。使一層消失可以通過判斷游戲區(qū)域的二維數(shù)組是否某一行全為1;如果該數(shù)組的第一行有一項為1或者已沒有空白使新的部件可以加入到游戲區(qū)域中,則游戲結(jié)束。?3.解題步驟(1)首先用AppWizard生成一個名為RusBlock的SDI程序框架,其他選項均可用缺省設(shè)置。(2)在“ResourceView”中選擇Menu資源項中的菜單ID“IDB_MAINFRAME”,雙擊,增加“游戲”菜單,并在其中增加“開始”和“結(jié)束”菜單;再增加“難度”菜單,在其中添加“容易”、“普通”和“較難”菜單,如下表1,設(shè)置了菜

5、單的屬性。利用ClassWizard自動添加菜單的Command消息處理函數(shù)。?表1菜單屬性IDCaptionPromptID_GAME_START開始游戲開始ID_GAME_END結(jié)束游戲結(jié)束ID_LEVEL_EASY容易?ID_LEVEL_NORMAL普通?ID_LEVEL_HARD較難??(3)在視圖類上單擊鼠標右鍵,打開“AddWindowMessageHandler…”對話框,添加鍵盤和定時器事件。(4)完成以上工作后,即可在生成的程序框架中添加必要的代碼。源程序清單:(1)在視圖類的頭文件中定義宏、類成員變量和自定義類成員函數(shù)。#defineMAXCOM7/

6、/部件數(shù)#defineWIDE13//游戲區(qū)域?qū)?defineHIGH26//高#defineSIZE12//組成游戲區(qū)域的方格大小#defineTOP50//游戲左上角坐標#defineLEFT50#defineEASY500//游戲難度#defineNORMAL300#defineHARD200?typedefstructtagComponet{intintComID;//部件的ID號intintDimension;//存儲該部件所需的數(shù)組維數(shù)int*pintArray;//指向存儲該部件的數(shù)組}Componet;?classCRusBlockView:public

7、CView{//此處略去若干行系統(tǒng)生成的代碼private:intm_intComID;//當(dāng)前下落的部件intm_intState[HIGH][WIDE];//當(dāng)前狀態(tài)Componetm_Componets[MAXCOM];//所有部件的內(nèi)部表示intm_intScore;//分數(shù)intm_intLevel;Componetm_CurrentCom;//當(dāng)前的部件POINTptIndex;//部件數(shù)組在全局數(shù)組中的索引voidNewComponet(void);//產(chǎn)生一個新的部件boolCanDown(void);//是否還可以下落v

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。