推箱子程序設(shè)計(jì)與報(bào)告_第1頁(yè)
推箱子程序設(shè)計(jì)與報(bào)告_第2頁(yè)
推箱子程序設(shè)計(jì)與報(bào)告_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余25頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、程序設(shè)計(jì)與實(shí)驗(yàn)報(bào)告設(shè)計(jì)內(nèi)容:推箱子姓名:黃庭班級(jí) :電信1101學(xué)號(hào):23目錄一. 引言二. 需求分析與系統(tǒng)設(shè)計(jì)三. 開(kāi)發(fā)技術(shù)四. 程序中的主要模塊五心得體會(huì)六.程序全文一. 引言在實(shí)際編寫(xiě)程序的過(guò)程中,產(chǎn)生的一些疑惑與不解,在同學(xué)和老 師的幫助下圓滿解決,對(duì)于老師和同學(xué)們的幫助,在此我表示衷心的 感謝。因?yàn)橐婚_(kāi)始構(gòu)架的問(wèn)題造成了一些功能的不能實(shí)現(xiàn)。經(jīng)多方努 力仍不能解決,留下遺憾,希望隨著日后能力的提高能解決今天留下 的問(wèn)題。二. 需求分析與系統(tǒng)設(shè)計(jì)設(shè)計(jì)目的通過(guò)本學(xué)期對(duì)游戲程序的研究,我們掌握了運(yùn)用Win32來(lái)制作游戲的技術(shù),雖然不嫻熟還有待提高,但是一些技術(shù)含量較低 的小游戲還是很容易讓我

2、們掌握的。此次游戲程序設(shè)計(jì)的目的,主要是通過(guò)Win32來(lái)制作游戲來(lái)更好的掌握編程語(yǔ)言。通過(guò)Win32這個(gè)平臺(tái),熟習(xí)在制作游戲方面所需要的技巧,將自己的游戲盡可能多的運(yùn)用所學(xué)到的技術(shù), 并且將在課程上面學(xué)到的知識(shí)付諸于實(shí)踐,并從實(shí)際操作中,找 出自己的不足之處進(jìn)行彌補(bǔ)。每一次的課程設(shè)計(jì),都是一次小小的軟件工程,所以需要我 們用百分百認(rèn)真的態(tài)度來(lái)對(duì)待。對(duì)于小一點(diǎn)的程序,我們一個(gè)人 足以應(yīng)付,但是這并不是說(shuō)我們可以單獨(dú)一個(gè)人為所欲為,其實(shí) 質(zhì)應(yīng)該是通過(guò)課程設(shè)計(jì)來(lái)培養(yǎng)自己獨(dú)立自主的能力。而對(duì)于那些相對(duì)于麻煩的程序,便需要我們的協(xié)作,這樣對(duì)我們以后進(jìn)入企業(yè)公司發(fā)展打下了更多的基礎(chǔ)。設(shè)計(jì)要求這次課程設(shè)計(jì)的

3、要求并不像以往那么緊,老師讓給了我們充 足的時(shí)間來(lái)制作游戲,雖然是計(jì)劃做一款較為大眾的經(jīng)典游戲, 并且能力有限,但還是對(duì)游戲做出了較高的期望,對(duì)于功能做出 了較多的設(shè)想。例如,背景音樂(lè)的播放,時(shí)間的顯示,自動(dòng)切換 關(guān)卡,難度的選擇等。界面設(shè)計(jì)圖進(jìn)入后的主界面19圖素材圖片集合這個(gè)程序是一個(gè)益智類的游戲,是一個(gè)單機(jī)游戲,人物通過(guò) 推動(dòng)箱子到達(dá)目的地以在游戲中取勝,同一時(shí)刻只能有一位玩家進(jìn)行游戲。j-r圖英雄榜About gameGajue Descriptioxi: use the directiqji keys to jmshtheto the deignarted place to turn

4、 to 如in.Version 1 (C) push box.Author:Li chso nianinvi/Etsity of scienceand t echnology clss1003 telecomOk |圖關(guān)于游戲圖選擇關(guān)卡截圖游戲流程系統(tǒng)流程圖:游戲開(kāi)始選擇關(guān)卡游戲開(kāi)局出現(xiàn)如圖 1,然后進(jìn)行難度的選擇,再是關(guān)卡的選擇,然后就可以游戲了,游戲完成之后會(huì)自動(dòng)切換下一關(guān),游戲者可手動(dòng)選擇結(jié)束游戲。三. 開(kāi)發(fā)技術(shù)Win32 API 簡(jiǎn)介Win32 API即為 Microsoft 32位平臺(tái)的應(yīng)用程序編程接口(Applicati on Program ming In terface )。所

5、有在 Win32 平臺(tái)上運(yùn)行 的應(yīng)用程序都可以調(diào)用這些函數(shù)。使用Win32 API ,應(yīng)用程序可以充分挖掘 Windows的32位操作系統(tǒng)的潛力。Microsoft的所有32位平臺(tái)都支持統(tǒng)一的 API,包括函數(shù)、結(jié)構(gòu)、消息、宏及接口。 使用 Win32 API不但可以開(kāi)發(fā)出在各種平臺(tái)上都能成功運(yùn)行的應(yīng)用 程序,而且也可以充分利用每個(gè)平臺(tái)特有的功能和屬性。在具體編程時(shí),程序?qū)崿F(xiàn)方式的差異依賴于相應(yīng)平臺(tái)的底層功能的不同。最顯著的差異是某些函數(shù)只能在更強(qiáng)大的平臺(tái)上實(shí)現(xiàn)其功能。例如,安全函數(shù)只能在Windows NT操作系統(tǒng)下使用。另外一些主要差別就 是系統(tǒng)限制,比如值的范圍約束,或函數(shù)可管理的項(xiàng)目個(gè)

6、數(shù)等等。Win32 API函數(shù)分類標(biāo)準(zhǔn)Win32 API函數(shù)可以分為以下幾類:1、窗口管理2、窗口通用控制3、Shell 特性4、圖形設(shè)備接口5、系統(tǒng)服務(wù)6、國(guó)際特性7、網(wǎng)絡(luò)服務(wù)四. 程序中的主要模塊函數(shù)原型的一些定義LRESULT CALLBACK Win dowProc(HWND hwnd,/ han dle to win dowUINT uMsg, / message ide ntifierWPARAM wParam, / first message parameterLPARAM IParam / sec ond message parameter);/窗口過(guò)程函數(shù)原型BOOL Ini

7、tWin dowsClass(HINSTANCE hln sta nce); 初始化窗口類BOOL InitWin dows(HINSTANCE hln sta nce,i nt n CmdShow);/ 初始化窗口BOOL CALLBACK DlgProc(HWND hdlg,UINT message,WPARAM wPara m,L PARAM lParam);/對(duì)話框過(guò)程函數(shù)void Show_Image(HBITMAP bmap, int i,i nt j); /顯示單張圖片void Draw_Map(); 作圖的函數(shù)void Show_M ap();/ 顯示地圖void Get_Po

8、isio n(Poision & poisi on);/人物在哪里的定位創(chuàng)建窗口函數(shù)void mai n()PlaySo un d("E:", NULL, SND_FILENAME | SND_ASYNC);BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)hWnd=CreateWindow("joe","推箱子",WS_OVERLAPPEDWINDOW,45O,2OO,325,372,NULL,NULL,hl nsta nce,NULL); if(!hWnd)/、return

9、 FALSE;SetTimer(hWnd, 1, 1, NULL);ShowWi ndow(hWnd, nCmdShow);UpdateWi ndow(hWnd);hln st=h In sta nee;return TRUE;地圖的輸出void Show_ Map ()int i,j;for(i=0;i<10;i+)/1 表示墻 0表示通路 2表示箱子 3表示人 4表示 目的地for(j=O;j<1O;j+)if(Mapij=1) Show_lmage(hBm_wall,32*j,32*i);else if(M apij=2) Show_lmage(hBm_box,32*j,32

10、*i);else if(M apij=3) Show_lmage(hBm_people,32*j,32*i); else if(M apij=4)Show_lmage(hBm_dirtio n,32*j,32*i); else if(Mapij=O) Show_lmage(hBm_floor,32*j,32*i);/ 一 一人物的定位void Get_Poisio n(Poisio n & poisio n)int i=O,j=O;bool flag=FALSE;=O,=O;for(i=O;i<1O;i+)for(j=O;j<1O;j+)if(Mapij=3)=i;=j;f

11、lag=TRUE; break;if(flag=TRUE)break;地圖的編寫(xiě)int Map41010=1,1,1,1,1,0,0,0,0,0,1示箱子3表示人4表示目的地1,3,0,0,1,0,0,0,0,0,1,022,1,0,0,1,1,1,1,020,1,0,0,1,4,1,1,1,1,0,1,1,1,1,4,1,0,1,1,0,0,0,0,0,4,1,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0 ;int Map51010=1,1,1,1,1,1,1,1,1,1, 1

12、箱子3表示人4表示目的地1,0,0,0,1,0,0,0,0,1,1,0,3,0,1,4,0,0,4,1,1,0,2,0,1,0,0,1,0,1,1,0,1,0,0,0,0,0,0,1,1,0,0,2,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1, 1,1,1,1,1,1,1,1,1,1 ;int Map11010=1,1,1,1,1,1,1,1,1,1, 1 箱子3表示人4表示目的地1,0,0,0,1,0,0,0,0,1,1,0,3,0,1,4,0,0,4,1,1,0,2,0,1,0,0,1,0,

13、1,1,0,1,0,0,0,0,0,0,1,1,0,0,2,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,表示墻0 表示通路2 表表示墻0表示通路 2表示表示墻0表示通路 2表示1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1 ;int Map21010=1,1,1,1,1,1,1,1,1,1, 11l 箱子3表示人4表示目的地1,0,0,0,1,0,0,0,0,1,1,0,3,0,0,0,0,0,0,1,1,0,2,0,1,1,0,0,0,1,1,0,0,0,4,1,0,0,0,1,/ 1,0,0,2,1

14、,1,0,0,0,1,/1,0,0,0,0,0,1,4,0,1,/1,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 ;int Map31010=1,1,1,1,1,1,1,1,1,1, 1 箱子3表示人4表示目的地1,0,0,0,1,0,0,0,0,1,1,030,0,0,0,2,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,2,0,0,0,0,0,0,1,1,0,0,1,0,0,1,4,0,1,1,0,1,4,0,0,0,1,0,1,1,1,0,0,0,0,0,0,1,1,

15、1,1,1,1,1,1,1,1,1,1 ;int Map1010=0,1,1,1,1,1,1,1,0,0, 1 箱子3表示人4表示目的地 0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,1,1,1, 1,1,2,1,1,1,0,0,0,1,1,030,2,0,0,2,0,1,1,0,0,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,0,4,4,1,0,2,0,1,1,1,1,4,4,1,0,0,0,1,0,0,1,1,1,1,1,1,1,1,0 ;表示墻0表示通路 2表示表示墻0表示通路 2表示表示墻0表示通路2表示通過(guò)調(diào)用playsound實(shí)現(xiàn)背

16、景音樂(lè)case IDM_TOOL:/PlaySo un d("E:", NULL, SND_FILENAME | SND_ASYNC);五心得體會(huì)通過(guò)一個(gè)學(xué)期的學(xué)習(xí)實(shí)踐,我掌握了一些比較基礎(chǔ)的編程方 法。在實(shí)際操作上有了很大程度的提高,在聽(tīng)課以及與同學(xué)交流 的過(guò)程中,受益匪淺,感悟頗多。看似簡(jiǎn)單的編程游戲背后,確實(shí)異常復(fù)雜的算法。在網(wǎng)上參考了 一些類似的邏輯算法和代碼,并在前人的基礎(chǔ)上進(jìn)行拓展與改編。 同 時(shí)也讓我更認(rèn)識(shí)到了自身學(xué)習(xí)的不足之處, 也更進(jìn)一步產(chǎn)生了對(duì)游戲 開(kāi)發(fā)的興趣。游戲開(kāi)發(fā)是一個(gè)創(chuàng)新的過(guò)程,由于能力欠缺,僅僅做了 一個(gè)眾所周知的經(jīng)典項(xiàng)目。希望日后能力提高了,

17、能做出更加復(fù)雜, 細(xì)致的好游戲。第六章程序全文#in clude<> #in clude<> #in clude<> #i nclude"" #in clude"" #in clude< >/*/#pragma comme nt(lib,"")全局變量的一些定義HMENU hme nu,haddme nu;HWND hWnd;HDC hdc,hDCMem;BITMAP bm;HBITMAP hBm_people,hBm_box,hBm_wall,hBm_dirtio n,hBm_floo

18、r;HINSTANCE hI nst;int Cou nt=0;char lpszMe nuName="Me nu"char lpszClassName="joe"typedef structint Hang;int Lie;Poisi on;Poisio n poisi on;int choose=1;/*/*數(shù)的一些定義 */LRESULT CALLBACK Win dowProc(HWND hwn d, / han dle to win dowUINT uMsg,/ message ide ntifierWPARAM wParam, / first

19、 message parameterLPARAM lParam / sec ond message parameter);/窗口過(guò)程函數(shù)原型BOOL InitWin dowsClass(HINSTANCE hln sta nce);初始化窗口類BOOL InitWin dows(HINSTANCE hln sta nce,i nt n CmdShow);/初始化窗口BOOL CALLBACK DlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam);/對(duì)話 框過(guò)程函數(shù)void Show_Image(HBITMAP bmap,i nt

20、 i,i nt j); /顯示單張圖片void Draw_M ap();/作圖的函數(shù)void Show_Map();/ 顯示地圖void Get_Poisi on (Poisio n & poisio n);人物在哪里的定位y/*/*/*WinMain 函數(shù) */*int WINAPI WinMain(HINSTANCE hln sta nee,/ han dle to curren t i nsta neeHINSTANCE hPrevI nsta nee, / handle to previous in sta neeLPSTR lpCmdLi ne,/ comma nd line

21、int n CmdShow/ show stateMSG Message;HACCEL hAccel;if(!l nitWin dowsClass(hl nsta nee) return FALSE;/if(!lnitWindows(hlnstanee,nCmdShow) return FALSE;/ / hAccel=LoadAccelerators(hl nsta nce,lpszMe nu Name);/* while(GetMessage(&Message,NULL,O,O)if(!Tra nslateAccelerator(hWnd,hAccel,&Message)

22、Tran slateMessage(&Message);/DispatchMessage(&Message);return ;初始化窗口類創(chuàng)建窗口加載加速鍵資源*/*/*初始化類函數(shù)*/*/BOOL InitWin dowsClass(HlNSTANCE hln sta nee)WNDCLASS WndClass;=0;=0;=(HBRUSH)GetStockObject(DKGRAY_BRUSH);=LoadCursor(NULL,IDC_ARROW);=LoadIco n(NULL,"boxprogram");=hl nsta nee;=Win dowP

23、roc;=lpszClassName;=lpszMenuName;/加載窗口類菜單=CS_HREDRAW | CS_VREDRAW;hBm_floor=LoadBitmap(hI nsta nce,"FLOOR"); hBm_people=LoadBitmap(hl nsta nce,"PEOPLE"); hBm_box=LoadBitmap(hl nsta nce,"BOX"); hBm_dirtio n=LoadBitm ap(hl nsta nce,"DIRTION"); hBm_wall=LoadBitma

24、p(hl nsta nce,"WALL"); if(!RegisterClass(&WndClass) MessageBeep(O); return FALSE;return TRUE;/箱子/墻地板小人目的地/*/*創(chuàng)建窗口函數(shù)*/*/void mai n()PlaySound("E:", NULL, SND_FILENAME | SND_ASYNC); BOOL InitWin dows(HINSTANCE hln sta nce,i nt n CmdShow)、hWnd=CreateWi ndow("joe","

25、;推箱子”,WS_OVERLAPPEDWINDOW,450,200,325,372,NULL,NULL,hl nsta nce,NULL);if(!hWnd)return FALSE;SetTimer(hWnd, 1, 1, NULL);ShowWi ndow(hWnd, nCmdShow);UpdateWi ndow(hWnd);hln st=h In sta nee;return TRUE;/*/*窗口過(guò)程函數(shù)*/*/LRESULT CALLBACK Win dowProc(HWND hwn d,/ han dle to win dowUINT uMsg, / message ide nt

26、ifierWPARAM wParam, / first message parameterLPARAM IParam / sec ond message parameter)int i=0,j=0;PAINTSTRUCT ps;定義指向柏涵繪圖信息的結(jié)構(gòu)體變量switch(uMsg)case WM_PAINT:/if(Cou nt=2)","YouCoun t=0;MessageBox(hw nd,"C on gratulati ons,success !wi n",MB_OK);/if(choose=1)for(j=0;j<10;j+)Mapij

27、=Map2ij;In validateRect(hWnd,NULL,1);刷新整個(gè)界面else if(choose=2)for(i=0;i<10;i+) for(j=0;j<10;j+) /Mapij=Map3ij;/*else if(choose=3)for(i=0;i<10;i+)/for(j=0;j<10;j+)7Mapij=Map4ij;*/hdc=Begi nPain t(hw nd,&ps);SetMapMode(hdc,MM_TEXT);Show_Map();En dPai nt(hw nd, &ps); return 0;case WM_

28、CREATE:hdc=GetDC(hwnd);/獲取設(shè)備環(huán)境句柄hDCMem=CreateCompatibleDC(hdc);內(nèi)存設(shè)備環(huán)境句柄/ReleaseDC(hwnd,hdc);/釋放設(shè)備環(huán)境句柄return 0;case WM_COMMAND:switch(LOWORD(wParam)case IDM_EXIT:Sen dMessage(hw nd,WM_DESTROY,0,0);break;case IDM_RESTART:switch(choose)case 1:for(i=0;i<10;i+) for(j=0;j<10;j+)Mapij=Map1ij;break;ca

29、se 2:for(i=0;i<10;i+)for(j=0;j<10;j+) Mapij=Map2ij;break;case 3:for(i=0;i<10;i+)for(j=0;j<10;j+)Mapij=Map3ij;break;case 4:for(i=0;i<10;i+)for(j=0;j<10;j+)/Mapij=Map3ij;break;case 5:for(i=0;i<10;i+)for(j=0;j<10;j+)Mapij=Map3ij;break;In validateRect(hw nd,NULL,1);刷新整個(gè)界面Show_Map

30、();break;case IDM_HELP:DialogBox(hl nst/*當(dāng) 前 窗 口 的 實(shí) 例 句 柄*/,"About",hWnd,(DLGPROC)DlgProc);break;case IDM_TOOL:PlaySo un d("E:", NULL, SND_FILENAME | SND_ASYNC);break;case WM_TIMER: if( wParam = 1 ) char buffer100;SYSTEMTIME tmp;/ char *WeekName7 = " 星期日","星期一&quo

31、t;,"星期二","星期三"," 星期四","星期五","星期六"GetLocalTime(&tmp);spri ntf(buffer,"%04d 年 02d 月 02d日 %02d:%02d:%02d %s %04d",5555,WeekName,;SetWi ndowText(hWnd, buffer );break;case IDM_RANGE:DialogBox(hl nst,"Ra nge",hWnd,(DLGPROC)DlgProc);

32、 break;case IDM_CHOOSE: /DialogBox(hI nst,"CHOOSE",hWnd,(DLGPROC)DlgProc); break;break;case WM_KEYDOWN:switch(wParam)case VK_RIGHT:Get_Poisi on( poisi on);if(Map+1=0)Map+1=3;人走過(guò)來(lái)Map=0; II 變成路else if(Map+1=2)if(Map+2=0)Map+2=2;Map+1=3;Map=0; if(Map+2=4) Map+2=2;Map+1=3;Map=0; Coun t+;In val

33、idateRect(hw nd,NULL,1);刷新整個(gè)界面Show_Map();break;case VK_LEFT:/Get_Poisi on( poisi on);if(Map=0)Map=3;箱子走過(guò)來(lái)Map=O; II人過(guò)來(lái),身后變成路else if(Map=2)if(Map=0)/Map=2;/Map=3;Map=0;/ if(Map=4)Map=2;Map=3;Map=0;Coun t+;In validateRect(hw nd,NULL,1);刷新整個(gè)界面Show_Map();break;case VK_UP:Get_Poisi on( poisi on);if(Map=0)

34、Map=3;箱子走過(guò)來(lái)Map=0; II人過(guò)來(lái),身后變成路 else if(Map=2)if(Map=0) Map=2;Map=3;Map=0; if(Map=4)Map=2;Map=3;Map=0;Coun t+;In validateRect(hw nd,NULL,1);刷新整個(gè)界面Show_Map();break;case VK_DOWN:”/Get_Poisi on( poisi on);if(Map+1=0)Map+1=3; 箱子走過(guò)來(lái)/Map=0; II 人過(guò)來(lái),身后變成路else if(Map+1=2)if(Map+2=0)Map+2=2;Map+1=3;Map=0;if(Map

35、+2=4)Map+2=2;Map+1=3;Map=0;Coun t+;In validateRect(hw nd,NULL,1);刷新整個(gè)界面Show_Map();break;break;case WM_CLOSE:/if(IDYES=MessageBox(hwnd,"Do you really want to quit?"," 退出 ”,MB_YESNO)DestroyWi ndow(hw nd);break;case WM_DESTROY:/PostQuitMessage(O);break;default:return DefWi ndowProc(hw nd

36、,uMsg,wParam,IParam);return 0;/*/*對(duì)話框過(guò)程函數(shù)*/*/BOOL CALLBACK DlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM IParam) int i=0,j=0;BOOL root;switch(message)case WMNITDIALOG:return TRUE;case WM_COMMAND:switch(LOWORD(wParam)case IDC_EDIT1:Cou nt=O;choose=GetDlglteml nt(hdlg,IDC_EDIT1, &root,TRUE);switch(choose)case 1:for(i=0;i<10;i+)for(j=0;j&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論