五子棋課程設(shè)計(jì)_第1頁(yè)
五子棋課程設(shè)計(jì)_第2頁(yè)
五子棋課程設(shè)計(jì)_第3頁(yè)
五子棋課程設(shè)計(jì)_第4頁(yè)
五子棋課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、;. C 語(yǔ) 言 課 程 設(shè) 計(jì) 學(xué)院: 班級(jí): 姓名: 學(xué)號(hào): 所在系: 指導(dǎo)教師: 2009 年 12 月 22 號(hào) 一一 題目與要求題目與要求3 . ;. 二二 問(wèn)題的提出問(wèn)題的提出4 三三 功能要求功能要求5 1、實(shí)現(xiàn)人機(jī)對(duì)弈功能;、實(shí)現(xiàn)人機(jī)對(duì)弈功能;5 2、基本的、基本的 C 作圖的方法及循環(huán)控制模塊;作圖的方法及循環(huán)控制模塊;5 3、評(píng)分規(guī)則及勝負(fù)判斷。、評(píng)分規(guī)則及勝負(fù)判斷。5 四四 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)6 1.程序中用到的庫(kù)函數(shù)所在頭文件應(yīng)用程序中用到的庫(kù)函數(shù)所在頭文件應(yīng)用 #INCLUDE 命令包含進(jìn)來(lái)命令包含進(jìn)來(lái)6 2.定義符號(hào)常量定義符號(hào)常量:6 3.定義棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)

2、構(gòu)棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)定義棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)6 4.自定義函數(shù)原型說(shuō)明自定義函數(shù)原型說(shuō)明6 5.定義全局變量定義全局變量定義全局變量定義全局變量6 6.主函數(shù)主函數(shù):6 7.界面初始化,數(shù)據(jù)初始化界面初始化,數(shù)據(jù)初始化:6 8. 畫棋盤畫棋盤7 9.交換行棋方交換行棋方7 10.獲取按鍵值獲取按鍵值, 如果用戶沒(méi)有按鍵,空循環(huán)如果用戶沒(méi)有按鍵,空循環(huán)7 11.落子錯(cuò)誤處理落子錯(cuò)誤處理7 12.贏棋處理贏棋處理贏棋處理贏棋處理7 13.走棋走棋: 判斷交叉點(diǎn)上有無(wú)棋子判斷交叉點(diǎn)上有無(wú)棋子, 若沒(méi)有棋子若沒(méi)有棋子, 則可以落子則可以落子7 14.判斷當(dāng)前行棋方落子

3、后是否贏棋即判斷在指定方向上是否有連續(xù)判斷當(dāng)前行棋方落子后是否贏棋即判斷在指定方向上是否有連續(xù) 5 個(gè)行棋方的棋子個(gè)行棋方的棋子7 15.判斷在指定方向上是否有連續(xù)判斷在指定方向上是否有連續(xù) 5 個(gè)行棋方的棋子個(gè)行棋方的棋子:7 16.移動(dòng)光標(biāo)移動(dòng)光標(biāo)8 17.游戲結(jié)束處理游戲結(jié)束處理8 18.顯示當(dāng)前行棋方顯示當(dāng)前行棋方8 19.落子正確處理落子正確處理落子正確處理落子正確處理8 20.檢查用戶的按鍵類別檢查用戶的按鍵類別:8 五、五、 總體設(shè)計(jì)結(jié)構(gòu)圖總體設(shè)計(jì)結(jié)構(gòu)圖9 六、調(diào)試與測(cè)試六、調(diào)試與測(cè)試10 七七 、下面是五子棋原程序、下面是五子棋原程序11 八八. 程序設(shè)計(jì)總結(jié)程序設(shè)計(jì)總結(jié)22

4、. ;. 一一 題目與要求題目與要求 題目:五子棋題目:五子棋 要求:利用要求:利用 C C 語(yǔ)言實(shí)現(xiàn)小型的五子棋人機(jī)對(duì)弈游戲語(yǔ)言實(shí)現(xiàn)小型的五子棋人機(jī)對(duì)弈游戲 . ;. 二二 問(wèn)題的提出問(wèn)題的提出 本人計(jì)劃編一個(gè)五子棋游戲程序,主要是實(shí)現(xiàn)人機(jī)對(duì)弈的功能。本人計(jì)劃編一個(gè)五子棋游戲程序,主要是實(shí)現(xiàn)人機(jī)對(duì)弈的功能。 . ;. 三三 功能要求功能要求 1、實(shí)現(xiàn)人機(jī)對(duì)弈功能;、實(shí)現(xiàn)人機(jī)對(duì)弈功能; 2、基本的、基本的 C 作圖的方法及循環(huán)控制模塊;作圖的方法及循環(huán)控制模塊; 3、評(píng)分規(guī)則及勝負(fù)判斷。、評(píng)分規(guī)則及勝負(fù)判斷。 . ;. 四四 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 1.程序中用到的庫(kù)函數(shù)所在頭文件應(yīng)用程序中用到的庫(kù)

5、函數(shù)所在頭文件應(yīng)用 #include 命令包命令包 含進(jìn)來(lái)含進(jìn)來(lái) 2.定義符號(hào)常量定義符號(hào)常量: (1) 定義畫棋盤所需的制表符定義畫棋盤所需的制表符 (2) 定義棋盤左上角點(diǎn)在屏幕上的位置定義棋盤左上角點(diǎn)在屏幕上的位置 (3) 定義定義 1 1 2 2 號(hào)玩家的操作鍵鍵碼號(hào)玩家的操作鍵鍵碼 (4) 定義游戲中途退出鍵定義游戲中途退出鍵 (5) 定義棋盤上交叉點(diǎn)的狀態(tài)并指出棋子歸屬定義棋盤上交叉點(diǎn)的狀態(tài)并指出棋子歸屬 (6) 定義按鍵類別定義按鍵類別 (7) 定義真假符號(hào)常量定義真假符號(hào)常量 3.定義棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)定義棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)

6、結(jié)構(gòu)結(jié)構(gòu) 4.自定義函數(shù)原型說(shuō)明自定義函數(shù)原型說(shuō)明 5.定義全局變量定義全局變量定義全局變量定義全局變量 6.主函數(shù)主函數(shù): (1) 初始化圖象,數(shù)據(jù)初始化圖象,數(shù)據(jù) (2) 獲取用戶的按鍵值獲取用戶的按鍵值 (3) 判斷按鍵類別判斷按鍵類別 (4) 定義退出鍵定義退出鍵( ( (5) 清屏清屏 (6) 定義落子鍵定義落子鍵( ( (7) 定義走棋定義走棋 落子錯(cuò)誤和正確落子錯(cuò)誤和正確 (8) 如果當(dāng)前行棋方贏棋退出循環(huán)標(biāo)志置如果當(dāng)前行棋方贏棋退出循環(huán)標(biāo)志置, , 否則交換行棋方否則交換行棋方 (9)定義光標(biāo)移動(dòng)鍵和無(wú)效鍵定義光標(biāo)移動(dòng)鍵和無(wú)效鍵 (10) 游戲結(jié)束游戲結(jié)束 7.界面初始化,數(shù)據(jù)

7、初始化界面初始化,數(shù)據(jù)初始化: (1) 先手方為先手方為 1 1 號(hào)玩家號(hào)玩家 (2) 棋盤數(shù)據(jù)清零棋盤數(shù)據(jù)清零 (3) 光標(biāo)初始位置光標(biāo)初始位置 . ;. (4) 顯示操作鍵說(shuō)明顯示操作鍵說(shuō)明 (5) 顯示當(dāng)前行棋方顯示當(dāng)前行棋方 (6) 光標(biāo)移至棋盤的左上角點(diǎn)處光標(biāo)移至棋盤的左上角點(diǎn)處 8. 畫棋盤畫棋盤 (1) 畫棋盤上的交叉點(diǎn)畫棋盤上的交叉點(diǎn) (2) 交叉點(diǎn)上是一號(hào)玩家的棋子交叉點(diǎn)上是一號(hào)玩家的棋子 (3) 交叉點(diǎn)上是二號(hào)玩家的棋子交叉點(diǎn)上是二號(hào)玩家的棋子 (4) 左上角交叉點(diǎn)左上角交叉點(diǎn) (5) 左下角交叉點(diǎn)左下角交叉點(diǎn) (6) 右上角交叉點(diǎn)右上角交叉點(diǎn) (7) 右下角交叉點(diǎn)右下角交

8、叉點(diǎn) (8) 左邊界交叉點(diǎn)左邊界交叉點(diǎn) (9) 右邊界交叉點(diǎn)右邊界交叉點(diǎn) (10) 上邊界交叉點(diǎn)上邊界交叉點(diǎn)上邊界交叉點(diǎn)上邊界交叉點(diǎn) (11) 下邊界交叉點(diǎn)下邊界交叉點(diǎn) (12)(12) 棋盤中間的交叉點(diǎn)棋盤中間的交叉點(diǎn) 9.交換行棋方交換行棋方 10.獲取按鍵值獲取按鍵值, 如果用戶沒(méi)有按鍵,空循環(huán)如果用戶沒(méi)有按鍵,空循環(huán) 11.落子錯(cuò)誤處理落子錯(cuò)誤處理 12.贏棋處理贏棋處理贏棋處理贏棋處理 13.走棋走棋: 判斷交叉點(diǎn)上有無(wú)棋子判斷交叉點(diǎn)上有無(wú)棋子, 若沒(méi)有棋子若沒(méi)有棋子, 則可以則可以 落子落子 14.判斷當(dāng)前行棋方落子后是否贏棋即判斷在指定方向判斷當(dāng)前行棋方落子后是否贏棋即判斷在指定

9、方向 上是否有連續(xù)上是否有連續(xù) 5 個(gè)行棋方的棋子個(gè)行棋方的棋子 15.判斷在指定方向上是否有連續(xù)判斷在指定方向上是否有連續(xù) 5 個(gè)行棋方的棋子個(gè)行棋方的棋子: (1) 在水平方向在水平方向 (2) 在垂直方向在垂直方向 (3) 在左下至右上的斜方向在左下至右上的斜方向 (4) 在左上至右下的斜方向在左上至右下的斜方向 . ;. 16.移動(dòng)光標(biāo)移動(dòng)光標(biāo) 17.游戲結(jié)束處理游戲結(jié)束處理 18.顯示當(dāng)前行棋方顯示當(dāng)前行棋方 19.落子正確處理落子正確處理落子正確處理落子正確處理 20.檢查用戶的按鍵類別檢查用戶的按鍵類別: (1) 退出鍵退出鍵 (2) 落子鍵落子鍵 (3) 光標(biāo)移動(dòng)鍵光標(biāo)移動(dòng)鍵

10、(4) 按鍵無(wú)效等。按鍵無(wú)效等。 . ;. 五、五、 總體設(shè)計(jì)結(jié)構(gòu)圖總體設(shè)計(jì)結(jié)構(gòu)圖 編譯預(yù)處理編譯預(yù)處理 主函數(shù)主函數(shù) 設(shè)計(jì)界面設(shè)計(jì)界面 勝負(fù)判斷勝負(fù)判斷 定義其他功能鍵定義其他功能鍵 . ;. 六、調(diào)試與測(cè)試六、調(diào)試與測(cè)試 將全部程序分塊進(jìn)行調(diào)試,將全部程序分塊進(jìn)行調(diào)試, 測(cè)試結(jié)果運(yùn)行正常測(cè)試結(jié)果運(yùn)行正常 . ;. 七七 、下面是五子棋原程序、下面是五子棋原程序 /* 程序中用到的庫(kù)函數(shù)所在頭文件應(yīng)用 #include 命令包含進(jìn)來(lái) */ #include #include #include #include #include #include #include #include #defi

11、ne pi 3.1415926 /*/ /* 定義符號(hào)常量 */ /*定義畫棋盤所需的制表符*/ #define CROSSRU 0 xbf /*右上角點(diǎn)*/ #define CROSSLU 0 xda /*左上角點(diǎn)*/ #define CROSSLD 0 xc0 /*左下角點(diǎn)*/ #define CROSSRD 0 xd9 /*右下角點(diǎn)*/ #define CROSSL 0 xc3 /*左邊*/ #define CROSSR 0 xb4 /*右邊*/ #define CROSSU 0 xc2 /*上邊*/ #define CROSSD 0 xc1 /*下邊*/ #define CROSS 0

12、 xc5 /*十字交叉點(diǎn)*/ /*定義棋盤左上角點(diǎn)在屏幕上的位置*/ #define MAPXOFT 5 #define MAPYOFT 2 /*定義 1 號(hào)玩家的操作鍵鍵碼*/ #define PLAY1UP 0 x1157/*上移-W*/ #define PLAY1DOWN 0 x1f53/*下移-S*/ #define PLAY1LEFT 0 x1e41/*左移-A*/ #define PLAY1RIGHT 0 x2044/*右移-D*/ #define PLAY1DO 0 x3920/*落子-空格鍵*/ /*定義 2 號(hào)玩家的操作鍵鍵碼*/ #define PLAY2UP 0 x480

13、0/*上移-方向鍵 up*/ #define PLAY2DOWN 0 x5000/*下移-方向鍵 down*/ #define PLAY2LEFT 0 x4b00/*左移-方向鍵 left*/ #define PLAY2RIGHT 0 x4d00/*右移-方向鍵 right*/ #define PLAY2DO 0 x1c0d/*落子-回車鍵 Enter*/ /*若想在游戲中途退出, 可按 Esc 鍵*/ #define ESCAPE 0 x011b /*定義棋盤上交叉點(diǎn)的狀態(tài), 即該點(diǎn)有無(wú)棋子 */ . ;. /*若有棋子, 還應(yīng)能指出是哪個(gè)玩家的棋子 */ #define CHESSNULL

14、 0 /*沒(méi)有棋子*/ #define CHESS1 O/*一號(hào)玩家的棋子*/ #define CHESS2 X/*二號(hào)玩家的棋子*/ /*定義按鍵類別*/ #define KEYEXIT 0/*退出鍵*/ #define KEYFALLCHESS 1/*落子鍵*/ #define KEYMOVECURSOR 2/*光標(biāo)移動(dòng)鍵*/ #define KEYINVALID 3/*無(wú)效鍵*/ /*定義符號(hào)常量: 真, 假 - 真為 1, 假為 0 */ #define TRUE 1 #define FALSE 0 /*/ /* 定義數(shù)據(jù)結(jié)構(gòu) */ /*棋盤交叉點(diǎn)坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)*/ struct po

15、int int x,y; ; /*/ /*自定義函數(shù)原型說(shuō)明 */ void Init(void); int GetKey(void); int CheckKey(int press); int ChangeOrder(void); int ChessGo(int Order,struct point Cursor); void DoError(void); void DoOK(void); void DoWin(int Order); void MoveCursor(int Order,int press); void DrawCross(int x,int y); void DrawMap

16、(void); int JudgeWin(int Order,struct point Cursor); int JudgeWinLine(int Order,struct point Cursor,int direction); void ShowOrderMsg(int Order); void EndGame(void); /*/ /*/ /* 定義全局變量 */ int gPlayOrder; /*指示當(dāng)前行棋方 */ struct point gCursor; /*光標(biāo)在棋盤上的位置 */ char gChessBoard1919;/*用于記錄棋盤上各點(diǎn)的狀態(tài)*/ /*/ /*/ .

17、 ;. /*主函數(shù)*/ void main() int press; int bOutWhile=FALSE;/*退出循環(huán)標(biāo)志*/ int i,j=0,x,y,k=1; int a=DETECT,b; initgraph( while(!kbhit() j+=10; for(i=0;i=2000;i+) x=300+100*cos(2*i*pi/1000)*sin(i*pi/1000+j*pi/1000); y=240+100*cos(2*i*pi/1000)*cos(i*pi/1000+j*pi/1000); if(j%500=0) k+; putpixel(x,y,k); delay(50

18、00); cleardevice(); getch(); closegraph(); Init();/*初始化圖象,數(shù)據(jù)*/ while(1) press=GetKey();/*獲取用戶的按鍵值*/ switch(CheckKey(press)/*判斷按鍵類別*/ /*是退出鍵*/ case KEYEXIT: clrscr();/*清屏*/ bOutWhile = TRUE; break; /*是落子鍵*/ case KEYFALLCHESS: if(ChessGo(gPlayOrder,gCursor)=FALSE)/*走棋*/ DoError();/*落子錯(cuò)誤*/ else DoOK();

19、/*落子正確*/ /*如果當(dāng)前行棋方贏棋*/ if(JudgeWin(gPlayOrder,gCursor)=TRUE) DoWin(gPlayOrder); . ;. bOutWhile = TRUE;/*退出循環(huán)標(biāo)志置為真*/ /*否則*/ else /*交換行棋方*/ ChangeOrder(); break; /*是光標(biāo)移動(dòng)鍵*/ case KEYMOVECURSOR: MoveCursor(gPlayOrder,press); break; /*是無(wú)效鍵*/ case KEYINVALID: break; if(bOutWhile=TRUE) break; /*游戲結(jié)束*/ EndG

20、ame(); /*/ /*界面初始化,數(shù)據(jù)初始化*/ void Init(void) int i,j; char *Msg= Player1 key:, UP-w, DOWN-s, LEFT-a, RIGHT-d, DO-space, , Player2 key:, UP-up, DOWN-down, LEFT-left, RIGHT-right, DO-ENTER, , exit game:, . ;. ESC, NULL, ; /*先手方為 1 號(hào)玩家*/ gPlayOrder = CHESS1; /*棋盤數(shù)據(jù)清零, 即棋盤上各點(diǎn)開始的時(shí)候都沒(méi)有棋子*/ for(i=0;i19;i+) f

21、or(j=0;j19;j+) gChessBoardij=CHESSNULL; /*光標(biāo)初始位置*/ gCursor.x=gCursor.y=0; /*畫棋盤*/ textmode(C40); DrawMap(); /*顯示操作鍵說(shuō)明*/ i=0; textcolor(GREEN); while(Msgi!=NULL) gotoxy(25,3+i); cputs(Msgi); i+; /*顯示當(dāng)前行棋方*/ ShowOrderMsg(gPlayOrder); /*光標(biāo)移至棋盤的左上角點(diǎn)處*/ gotoxy(gCursor.x+MAPXOFT,gCursor.y+MAPYOFT); /*畫棋盤*

22、/ void DrawMap(void) int i,j; clrscr(); for(i=0;i19;i+) for(j=0;j19;j+) DrawCross(i,j); /*畫棋盤上的交叉點(diǎn)*/ void DrawCross(int x,int y) gotoxy(x+MAPXOFT,y+MAPYOFT); /*交叉點(diǎn)上是一號(hào)玩家的棋子*/ if(gChessBoardxy=CHESS1) . ;. textcolor(LIGHTBLUE); putch(CHESS1); return; /*交叉點(diǎn)上是二號(hào)玩家的棋子*/ if(gChessBoardxy=CHESS2) textcolo

23、r(LIGHTBLUE); putch(CHESS2); return; textcolor(WHITE); /*左上角交叉點(diǎn)*/ if(x=0 return; /*左下角交叉點(diǎn)*/ if(x=0 return; /*右上角交叉點(diǎn)*/ if(x=18 return; /*右下角交叉點(diǎn)*/ if(x=18 return; /*左邊界交叉點(diǎn)*/ if(x=0) putch(CROSSL); return; /*右邊界交叉點(diǎn)*/ if(x=18) . ;. putch(CROSSR); return; /*上邊界交叉點(diǎn)*/ if(y=0) putch(CROSSU); return; /*下邊界交叉

24、點(diǎn)*/ if(y=18) putch(CROSSD); return; /*棋盤中間的交叉點(diǎn)*/ putch(CROSS); /*交換行棋方*/ int ChangeOrder(void) if(gPlayOrder=CHESS1) gPlayOrder=CHESS2; else gPlayOrder=CHESS1; return(gPlayOrder); /*獲取按鍵值*/ int GetKey(void) char lowbyte; int press; while (bioskey(1) = 0) ;/*如果用戶沒(méi)有按鍵,空循環(huán)*/ press=bioskey(0); lowbyte=p

25、ress press=press return(press); /*落子錯(cuò)誤處理*/ void DoError(void) sound(1200); . ;. delay(50); nosound(); /*贏棋處理*/ void DoWin(int Order) sound(1500);delay(100); sound(0); delay(50); sound(800); delay(100); sound(0); delay(50); sound(1500);delay(100); sound(0); delay(50); sound(800); delay(100); sound(0)

26、; delay(50); nosound(); textcolor(RED+BLINK); gotoxy(25,20); if(Order=CHESS1) cputs(PLAYER1 WIN!); else cputs(PLAYER2 WIN!); gotoxy(25,21); cputs( /); getch(); /*走棋*/ int ChessGo(int Order,struct point Cursor) /*判斷交叉點(diǎn)上有無(wú)棋子*/ if(gChessBoardCursor.xCursor.y=CHESSNULL) /*若沒(méi)有棋子, 則可以落子*/ gotoxy(Cursor.x+

27、MAPXOFT,Cursor.y+MAPYOFT); textcolor(LIGHTBLUE); putch(Order); gotoxy(Cursor.x+MAPXOFT,Cursor.y+MAPYOFT); gChessBoardCursor.xCursor.y=Order; return TRUE; else return FALSE; /*判斷當(dāng)前行棋方落子后是否贏棋*/ int JudgeWin(int Order,struct point Cursor) . ;. int i; for(i=0;i4;i+) /*判斷在指定方向上是否有連續(xù) 5 個(gè)行棋方的棋子*/ if(JudgeW

28、inLine(Order,Cursor,i) return TRUE; return FALSE; /*判斷在指定方向上是否有連續(xù) 5 個(gè)行棋方的棋子*/ int JudgeWinLine(int Order,struct point Cursor,int direction) int i; struct point pos,dpos; const int testnum = 5; int count; switch(direction) case 0:/*在水平方向*/ pos.x=Cursor.x-(testnum-1); pos.y=Cursor.y; dpos.x=1; dpos.y=

29、0; break; case 1:/*在垂直方向*/ pos.x=Cursor.x; pos.y=Cursor.y-(testnum-1); dpos.x=0; dpos.y=1; break; case 2:/*在左下至右上的斜方向*/ pos.x=Cursor.x-(testnum-1); pos.y=Cursor.y+(testnum-1); dpos.x=1; dpos.y=-1; break; case 3:/*在左上至右下的斜方向*/ pos.x=Cursor.x-(testnum-1); pos.y=Cursor.y-(testnum-1); dpos.x=1; dpos.y=1

30、; break; count=0; for(i=0;i=0 else count=0; pos.x+=dpos.x; pos.y+=dpos.y; return FALSE; /*移動(dòng)光標(biāo)*/ void MoveCursor(int Order,int press) switch(press) case PLAY1UP: if(Order=CHESS1 break; case PLAY1DOWN: if(Order=CHESS1 break; case PLAY1RIGHT: if(Order=CHESS1 break; case PLAY2DOWN: if(Order=CHESS2 break; case PLAY2RIGHT: if(Order=CHESS2 break; gotoxy(gCursor.x+M

溫馨提示

  • 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)論