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

正文內(nèi)容

基于mfc的貪吃蛇程序設(shè)計(課程設(shè)計報告)(編輯修改稿)

2024-09-07 12:23 本頁面
 

【文章內(nèi)容簡介】 (NULL)。 (pDocm_Bitmap)。 pDCBitBlt(0,0,pDocm_nWidth,pDocm_nHeight,amp。MemDC,0,0,SRCCOPY)。} 對OnDrawNew()添加具體代碼⑴ 在添加代碼之前,在“”中添加:class CMFCexp8_4View : public CView{protected: // create from serialization only CMFCexp8_4View()。 DECLARE_DYNCREATE(CMFCexp8_4View)// Attributespublic: CMFCexp8_4Doc* GetDocument()。 CClientDC* myDC。 CClientDC* my2DC。// Operations……}⑵ 對 “CClientDC* myDC”和“CClientDC* my2DC”建立類向?qū)nt CMFCexp8_4View::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == 1) return 1。 // TODO: Add your specialized creation code here myDC =new CClientDC(this)。 my2DC =new CClientDC(this)。 return 0。}⑶ void CMFCexp8_4View::OnDrawNew(){ RECT Rect。 ==20。 = =500。 CBrush Brush(RGB(255,255,255))。 myDCFillRect (amp。Rect,amp。Brush)。 //畫出第二層背景,一個白色正方形 my2DCSetBkColor(RGB(0,0,0))。 my2DCSetTextColor(RGB(255,255,255))。 my2DCTextOut(750,400,單擊“游戲”,選擇“開始游戲”)。 my2DCSetTextColor(RGB(255,0,255))。 my2DCTextOut(800,430,請不要咬到自己或撞到圍墻!)。 //在界面右下角分別出現(xiàn)三行背景色為黑色的彩色文本} 對OnTimer(UINT nIDEvent)添加具體代碼void CMFCexp8_4View::OnTimer(UINT nIDEvent) { CDC *pDC=GetDC()。 CString soure。 if(Snake[0].len==2)SetTimer(1,370,NULL)。 if(Snake[0].len==3)SetTimer(1,270,NULL)。 if(Snake[0].len==6)SetTimer(1,200,NULL)。 if(Snake[0].len==9)SetTimer(1,100,NULL)。 //這段代碼的作用是根據(jù)蛇的長度來進行SetTimer()函數(shù)的定義,可以根據(jù)長度來進行游戲難度的設(shè)定 //如上代碼分別370ms 270ms 200ms 100ms進行一次新的移動。 (當前得分:%d!,(Snake[0].len3)*10)。 my2DCSetTextColor(RGB(0,255,0))。 my2DCTextOut(800,460,soure)。 //撞界判斷 if(Snake[0].x*20=37||Snake[0].y*20=37||Snake[0].x*20=462||Snake[0].y*20=462) { KillTimer(1)。 AfxMessageBox(soure)。 CMFCexp8_4View::OnExit()。 } //蛇身相撞判斷 if(Snake[0].len3) for(int sn=Snake[0].len1。sn0。sn) //根據(jù)蛇長sn,進行sn次for sn1次循環(huán),判斷蛇自己是否咬到了自己 { if(Snake[0].x*20==Snake[sn].x*20amp。amp。Snake[0].y*20==Snake[sn].y*20) { KillTimer(1)。 //止計時器,和之前的SetTimer()對應(yīng) AfxMessageBox(soure)。 CMFCexp8_4View::OnExit()。 } } /////////////////////////////////////////////////////////////////////////// pDCSelectStockObject(WHITE_PEN)。 //把白色的“PEN”選入設(shè)備進行畫圖 pDCRectangle(Snake[Snake[0].len1].x*20,Snake[Snake[0].len1].y*20,(Snake[Snake[0].len1].x+1)*20,(Snake[Snake[0].len1].y+1)*20)。 //讓它去畫最后一個節(jié)點 for(int i=Snake[0].len1。i0。i) //貪吃蛇的蛇身移動 { Snake[i].x=Snake[i1].x。 Snake[i].y=Snake[i1].y。 } //行走方向判斷 if(Snake[0].direct==1)Snake[0].y。 if(Snake[0].direct==2)Snake[0].y++。 if(Snake[0].direct==3)Snake[0].x。 if(Snake[0].direct==4)Snake[0].x++。 //“1234”本別代表“上下左右” x++,y++進行移動 //然后用選定畫刷畫出一個新節(jié)點的矩形作為頭結(jié)點 pDCSelectStockObject(BLACK_PEN)。 CBrush DrawBrush=(RGB(255,0,0))。//控制蛇和食物的顏色 CBrush *Drawbrush=pDCSelectObject(amp。DrawBrush)。 pDCRectangle(Snake[0].x*20,Snake[0].y*20,(Snake[0].x+1)*20,(Snake[0].y+1)*20)。 pDCSelectObject(DrawBrush)。 //判斷吃豆的條件,撞到就吃 if(Snake[0].x*20==*20amp。amp。Snake[0].y*20==*20) { Snake[0].len++。 =1。 Snake[Snake[0].len1].x=Snake[Snake[0].len2].x。 Snake[Snake[0].len1].y=Snake[Snake[0].len2].y。 } //如果食物被吃了 就生成 if(==1) { srand((unsigned)time(NULL))。//當食物被吃了,指定食物在小于70 和大于430的矩形區(qū)域內(nèi)出現(xiàn) do { for(int isfo=Snake[0].len1。isfo=0。isfo) if(Snake[0].x*20==Snake[isfo].x*20amp。amp。Snake[0].y*20==Snake[isfo].y*20) { =rand()%25。 =rand()%25。 } } while(*2070||*2070||*20430||*20430)。 pDCRectangle(*20,*20,(+1)*20,(+1)*20)。 =0。//把食物的屬性更改為“存在” } CView::OnTimer(nIDEvent)。}10 運行界面1 運行程序后⑵開始游戲時11 總結(jié)這次課程設(shè)計,我選擇用MFC編寫一個貪食蛇的程序。在編寫程序之前,我只有很少的關(guān)于MFC的程序設(shè)計知識,因此,在剛開始,我遇到了很多困難。為此,我查閱了許多關(guān)于貪食蛇的資料,也在網(wǎng)上看了許多關(guān)于貪食蛇的算法。做好了準備之后,才開始寫我的貪食蛇,并且加了很多附加功能。這次課程設(shè)計鍛煉了我的動手能力。通過完成貪食蛇游戲的程序設(shè)計,累積了
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1