版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、:/:=2013年7月1日20:15:03開始編寫=vc6+重新編寫俄羅斯方塊=/=2013年7月6日15:04:27完成編寫=/=已經(jīng)測試,沒有問題。=/=新建的時候,選擇Win32application。直接復制就可以=/:/:#includevwindows.h#includevstdio.h#include/=數(shù)據(jù)定義=/structCooPoint坐標結(jié)構(gòu)體intx;inty;constCooPointShape44=/7種圖形,4個方向,4個方塊的相對點位坐標121,1,2,1,2,0,0,0,1,1,1,021,121,1,2,1,2,0,0,0,1,1,1,021,1,1,1,
2、0,2,1,2,0,1,1,1,021,2,0,1,1,1,021,2,0,1,1,1,021,2,0,0,0,1,020,3,0,2,322,2,1,2,0,0,0,1,020,3,0,2,3,2,221,2,0,1,1,1,021,3,1,122,2,2,1,2,0,0,0,1,021,2,0,121,1,1,0,2,0,1,121,2,0,3,1,1,122,2,1,2,0,1,122,2,1,3,1,2,2,2,120,3,1,1,1,1,022,2,1,1,1,2,1,2,0,3,0,1,1,1,022,2,1,1,121,2,0,3,0,0,1,1,121,2,0,1,022,2,
3、1,2,0,1,1,1,020,3,0,121,1,1,0,2,2;structBruColor三色素結(jié)構(gòu)體intRed;intGreen;intBlue;constBruColorRColor10=/10種顏色的三色素值0,0,0,0,255,255,73,213,73,221,37,12,216,232,0,229,106,50,64,0,207,100,200,150,150,20,170,54,21,200;intRec922;/保存所有方格是否存在方塊,有為1intColor922;保存所有方格的顏色,沒有為0intWhich=0;/哪一個圖形intDir=0;/圖形的哪一個方向in
4、tWhichColor=1;/圖形的顏色intNextWhich=0;/下一個圖形intNextDir=0;下一個圖形的方向intNextWhichColor=1;下一個圖形的顏色intSpeed=650;記錄定時時間intScore=0;記錄分數(shù)intRank=1;/記錄等級intIsPause=0;/0為初始,1為正在游戲,2為游戲暫停CooPointPos=3,0;記錄4宮格圖形左上角的絕對坐標=函數(shù)申明=/LRESULTCALLBACKMainProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam);/消息處理函數(shù)voidShow(intx,i
5、nty,intwhich,intdir,intwhichcolor,HWNDhwnd);/顯示圖形BOOLCouldMove(intx,inty,intdir);判斷是否能夠移動intSave(intx,inty,intwhich,intdir,intwhichcolor);不能移動時,保存數(shù)據(jù),開始下一個圖形intSum(inti);計算1+2+.+i的值intWINAPIWinMain(HINSTANCEhInstance,/handletocurrentinstanceHINSTANCEhPrevInstance,/handletopreviousinstanceLPSTRlpCmdLi
6、ne,/pointertocommandlineintnCmdShow/showstateofwindow)WNDCLASSwndclass;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hbrBackground=(HBRUSH)GetStockObject(2);wndclass.hCursor=LoadCursor(NULL,IDC_APPSTARTING);wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hInstance=hInstance;wndclass.lp
7、fnWndProc=MainProc;wndclass.lpszClassName=youxi;類名wndclass.lpszMenuName=NULL;wndclass.style=NULL;/CS_HREDRAW|CS_VREDRAW;RegisterClass(&wndclass);HWNDhwnd;hwnd=CreateWindow(youxi/*類名,必須與前面的類名一樣*/,俄羅斯方塊,WS_OVERLAPPEDIWS_CAPTIONIWS_SYSMENU/*WS_THICKFRAMEI*/WS_MINIMIZEBOX/*|WS_MAXIMIZEBOX*/,500,150,320,
8、485,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);inti,j;for(j=0;j22;j+)for(i=0;i0)這里需要大于0,有可能會為-1,如不大于0,則關(guān)閉時進程會留下TranslateMessage(&msg);DispatchMessage(&msg);return0;LRESULTCALLBACKMainProc(HWNDhwnd,/handletowindowUINTuMsg,/messageidentifierWPARAMwParam,/firstmessagepa
9、rameterLPARAMlParam/secondmessageparameter)switch(uMsg)caseWM_PAINT:HDCP_hdc;PAINTSTRUCTps;P_hdc=BeginPaint(hwnd,&ps);HBRUSHhBrush;hBrush=CreateSolidBrush(RGB(0,0,0);HPENhPen;hPen=CreatePen(PS_SOLID,2,RGB(255,0,0);SelectObject(P_hdc,hPen);SelectObject(P_hdc,hBrush);Rectangle(P_hdc,7,5,193,453);Recta
10、ngle(P_hdc,205,25,295,115);DeleteObject(hPen);DeleteObject(hBrush);RECTre;inti,j,whichcolor;HBRUSHhbrush_Show;hPen=CreatePen(PS_SOLID,2,RGB(0,0,0);SelectObject(P_hdc,hPen);for(i=0;iv9;i+)for(j=0;jv22;j+)if(Recij=1)re.left=i*20+10;re.right=re.left+19;re.top=j*20+10;re.bottom=re.top+19;whichcolor=Colo
11、rij;hbrush_Show=CreateSolidBrush(RGB(RColorwhichcolor.Red,RColorwhichcolor.Green,RColorwhichcolor.Blue);SelectObject(P_hdc,hbrush_Show);/FillRect(P_hdc,&re,hBrush);Rectangle(P_hdc,re.left,re.top,re.right,re.bottom);DeleteObject(hBrush);if(IsPause0)hbrush_Show=CreateSolidBrush(RGB(RColorNextWhichColo
12、r.Red,RColorNextWhichColor.Green,RColorNextWhichColor.Blue);SelectObject(P_hdc,hbrush_Show);for(i=0;ihInstance,NULL);CreateWindow(button,重新開始,WS_CHILDIWS_VISIBLEIBS_PUSHBUTTON,215,360,80,20,hwnd,(HMENU)2,(LPCREATESTRUCT)lParam)-hInstance,NULL);CreateWindow(static,分數(shù):0,WS_CHILDIWS_VISIBLE,215,250,80,
13、20,hwnd,(HMENU)3,(LPCREATESTRUCT)lParam)-hInstance,NULL);CreateWindow(static,等級:1,WS_CHILDIWS_VISIBLE,215,280,80,20,hwnd,(HMENU)4,(LPCREATESTRUCT)lParam)-hInstance,NULL);break;caseWM_COMMAND:switch(LONG)wParam)case1:if(IsPause=0)SetWindowText(GetDlgItem(hwnd,l),暫停);SetFocus(hwnd);IsPause=1;SetTimer(
14、hwnd,O,Speed,NULL);Show(Pos.x,Pos.y,Which,Dir,WhichColor,hwnd);NextWhich=(Which+1)%7;NextDir=(Dir+1)%4;NextWhichColor=(WhichColor+1)%9+1;Show(10,1,NextWhich,NextDir,NextWhichColor,hwnd);elseif(IsPause=1)KillTimer(hwnd,O);IsPause=2;SetWindowText(GetDlgItem(hwnd,1),繼續(xù));SetFocus(hwnd);elseif(IsPause=2)
15、IsPause=1;SetTimer(hwnd,O,Speed,NULL);SetWindowText(GetDlgItem(hwnd,1),暫停);SetFocus(hwnd);break;case2:inti_Again,j_Again;RECTre_Again;HBRUSHhbrush_Again;HDChdc_Again;KillTimer(hwnd,0);EnableWindow(GetDlgItem(hwnd,1),TRUE);hdc_Again=GetDC(hwnd);hbrush_Again=CreateSolidBrush(RGB(0,0,0);SelectObject(hdc_Again,hbrush_Again);for(j_Again=0;j_Again22;j_Again+)for(i_Again=0;i_Again=pow(2,Rank-l)*100)Rank+;if(Rank8IIPos_X21IIPos_Y0)returnFALSE;if(RecPos_XPos_Y=1)returnFALSE;returnTRUE;intSave(intx,inty,intwhich,intdir,intwhichcolor)inti,j,k,t;in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年海南二手房買賣及配套設(shè)施完善合同3篇
- 西安交通大學《過程分子生物學》2023-2024學年第一學期期末試卷
- 二零二五年度鞋類批發(fā)市場購銷合同市場地位鞏固
- 二零二五年度酒店消防器材維護保養(yǎng)及更換合同3篇
- 二零二五年度水利工程安全評價技術(shù)服務(wù)合同3篇
- 二零二五年度新能源汽車電池回收利用合伙協(xié)議書3篇
- 二零二五年股東股權(quán)置換合同參考范本6篇
- 二零二五版生物科技研發(fā)技術(shù)顧問聘用協(xié)議2篇
- 二零二五版物流企業(yè)勞動安全及貨物保護協(xié)議合同3篇
- 2024汽車制造商與電池供應(yīng)商之間的汽車電池采購合同
- 2023年保安公司副總經(jīng)理年終總結(jié) 保安公司分公司經(jīng)理年終總結(jié)(5篇)
- 中國華能集團公司風力發(fā)電場運行導則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習及答案
- 2022-2023學年度六年級數(shù)學(上冊)寒假作業(yè)【每日一練】
- 法人不承擔責任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學課件
- 顧客忠誠度論文
- 實驗室安全檢查自查表
評論
0/150
提交評論