C++《程序設(shè)計綜合課程設(shè)計》報告-貪吃蛇小游戲_第1頁
C++《程序設(shè)計綜合課程設(shè)計》報告-貪吃蛇小游戲_第2頁
C++《程序設(shè)計綜合課程設(shè)計》報告-貪吃蛇小游戲_第3頁
C++《程序設(shè)計綜合課程設(shè)計》報告-貪吃蛇小游戲_第4頁
C++《程序設(shè)計綜合課程設(shè)計》報告-貪吃蛇小游戲_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 華科學(xué)院計算機科學(xué)與技術(shù)專業(yè)程序設(shè)計綜合課程設(shè)計報告 (2011/2012學(xué)年 第一學(xué)期)學(xué)生姓名: 學(xué)生班級: 學(xué)生學(xué)號: 指導(dǎo)教師: 年 月 日貪吃蛇小游戲目 錄 TOC o 1-3 u 1.課程設(shè)計目的和要求 PAGEREF _Toc312817775 h 1課程設(shè)計目的 PAGEREF _Toc312817776 h 1課程設(shè)計要求 PAGEREF _Toc312817777 h 12. 課程設(shè)計任務(wù)內(nèi)容 PAGEREF _Toc312817778 h 13.詳細(xì)設(shè)計 PAGEREF _Toc312817779 h 1設(shè)計要求 PAGEREF _Toc312817780 h 1設(shè)計思

2、想 PAGEREF _Toc312817781 h 2界面設(shè)計: PAGEREF _Toc312817782 h 2數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc312817783 h 2函數(shù)設(shè)計 PAGEREF _Toc312817784 h 4文件及函數(shù)組成 PAGEREF _Toc312817785 h 4函數(shù)的詳細(xì)設(shè)計 PAGEREF _Toc312817786 h 5限制條件 PAGEREF _Toc312817787 h 73.5.流程圖 PAGEREF _Toc312817788 h 7系統(tǒng)流程圖 PAGEREF _Toc312817789 h 7函數(shù)流程圖 PAGEREF _Toc3128

3、17790 h 94. 測試 PAGEREF _Toc312817791 h 13運行結(jié)果及程序測試 PAGEREF _Toc312817792 h 14錯誤調(diào)試與分析 PAGEREF _Toc312817793 h 165.課程設(shè)計設(shè)計心得與體會 PAGEREF _Toc312817794 h 17參考文獻(xiàn) PAGEREF _Toc312817795 h 19附錄:程序清單 PAGEREF _Toc312817796 h 201.課程設(shè)計目的和要求本課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)重要的實踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完程序設(shè)計基礎(chǔ)(C+)課程后進(jìn)行的一次全面的綜合設(shè)計。本課程設(shè)計的目的和任務(wù):1

4、. 鞏固和加深學(xué)生對C+語言課程的基本知識的理解和掌握。2. 掌握C+語言編程和程序調(diào)試的基本技能。3. 利用C+語言進(jìn)行基本的軟件設(shè)計。4. 掌握書寫程序設(shè)計說明文檔的能力。5. 提高運用C+語言解決實際問題的能力。 基本要求:分析課程設(shè)計題目的要求。對系統(tǒng)功能模塊進(jìn)行分析,寫出詳細(xì)設(shè)計說明文檔。編寫程序代碼,代碼量要求不少于300行。調(diào)試程序使其能正確運行。設(shè)計完成的軟件要便于操作和使用。設(shè)計完成后提交課程設(shè)計報告。2. 課程設(shè)計任務(wù)內(nèi)容程序要求游戲時,一條蛇在密閉的圍墻內(nèi), 圍墻內(nèi)會隨機出現(xiàn)一個食物通過鍵盤上的4個光標(biāo)鍵控制蛇向上下左右4個方向移動,蛇頭接到食物,則表示食物被蛇吃掉,這時

5、蛇的身體加長一節(jié),同時計10分。接著又出現(xiàn)食物等待被蛇吃掉。如果蛇在移動過程中,撞到墻壁或身體交叉(蛇頭撞到自己的身體),則游戲結(jié)束。3. 詳細(xì)設(shè)計貪吃蛇算法程序要求:游戲時,一條蛇在密閉的圍墻內(nèi), 圍墻內(nèi)會隨機出現(xiàn)一個食物通過鍵盤上的4個光標(biāo)鍵控制蛇向上下左右4個方向移動,蛇頭接到食物,則表示食物被蛇吃掉,這時蛇的身體加長一節(jié),同時計10分。接著又出現(xiàn)食物等待被蛇吃掉。如果蛇在移動過程中,撞到墻壁或身體交叉(蛇頭撞到自己的身體),則游戲結(jié)束。3.2.1界面設(shè)計:這個程序的關(guān)鍵是表示蛇的圖形以及蛇的移動。用一個小表示蛇的一節(jié)身體,身體每長一節(jié),增加一個。移動時必須從蛇頭開始,如果不按任何鍵,蛇

6、自行在當(dāng)前方向右前移,當(dāng)游戲者按了有效的方向鍵后,蛇頭朝著指定的方向移動,一步移動一節(jié)身體,所以當(dāng)按了有效的方向鍵后,先確定蛇頭的位置,然后蛇身體隨著蛇頭移動,圖形的實現(xiàn)是從蛇頭的新位置開始畫出蛇,在界面中央有個靜止不動的食物,用戶通過鍵盤來控制蛇的走向,當(dāng)蛇吃到食物時,分?jǐn)?shù)增加十分,界面開始更新,蛇的身體增加一節(jié),食物的位置變化一次,當(dāng)蛇碰到界面時,游戲自動結(jié)束,顯示用戶最后的分?jǐn)?shù)。snack.h文件及類的設(shè)計如表3-1所示。表3-11 Cmp類的設(shè)計。class Cmp friend class Csnake; int rSign; /橫坐標(biāo) int lSign; /豎坐標(biāo) public:

7、 / friend bool isDead(const Cmp& cmp); Cmp(int r,int l)setPoint(r,l); Cmp() void setPoint(int r,int l)rSign=r;lSign=l; Cmp operator-(const Cmp &m)const return Cmp(rSign-m.rSign,lSign-m.lSign); Cmp operator+(const Cmp &m)const return Cmp(rSign+m.rSign,lSign+m.lSign); ; const int maxSize = 5; /初始蛇身長度

8、2 Csnake類的設(shè)計。class Csnake Cmp firstSign; /蛇頭坐標(biāo) Cmp secondSign;/蛇頸坐標(biāo) Cmp lastSign; /蛇尾坐標(biāo) Cmp nextSign; /預(yù)備蛇頭 int row; /列數(shù) int line; /行數(shù) int count; /蛇身長度 vectorvector snakeMap;/整個游戲界面 queue snakeBody; /蛇身 public: int GetDirections()const; char getSymbol(const Cmp& c)const /獲取指定坐標(biāo)點上的字符 return snakeMapc

9、.lSignc.rSign; Csnake(int n) /初始化游戲界面大小 if(n30)line=30+2; else line=n+2; row=line*3+2; bool isDead(const Cmp& cmp) return ( getSymbol(cmp)= | cmp.rSign = row-1 | cmp.rSign= 0 | cmp.lSign = line-1 | cmp.lSign = 0 ); void InitInstance(); /初始化游戲界面 bool UpdataGame(); /更新游戲界面 void ShowGame(); /顯示游戲界面 ;文件

10、及函數(shù)的組成以及函數(shù)的功能如表3-2所示。這些函數(shù)是由兩個源文件組成,main.cpp,snack.cpp。main.cpp是總控所有的函數(shù),使得整個函數(shù)得以運行,snack.cpp的內(nèi)容主要是snack.h的成員函數(shù)。 表中的s是Csnack類的對象。表3-21. InitInstance函數(shù)函數(shù)原型:void Csnake:InitInstance()。功能:初始化游戲界面,初始化蛇身,將方向上下左右分別用4個鍵表示。參數(shù):無。返回值:無。工作方式:根據(jù)命令,調(diào)用相應(yīng)函數(shù),建立內(nèi)存鏈表,將蛇身坐標(biāo)壓入隊列,并將蛇身作 為一個數(shù)組。要求:完成初始化,界面中給出蛇的相關(guān)信息。2. Updata

11、Game函數(shù)函數(shù)原型:bool Csnake:UpdataGame()。功能:獲取用戶按鍵信息,產(chǎn)生食物,并隨機產(chǎn)生食物的相關(guān)坐標(biāo),判斷在蛇沒有死亡的狀態(tài)下是否碰到食物,如果碰到則加10分,蛇身增長一節(jié),返回值定為true,如果蛇在移動過程中,撞到墻壁或身體交叉(蛇頭撞到自己的身體),返回值定為false,并且輸出用戶之前所得的分?jǐn)?shù)。參數(shù):蛇的橫坐標(biāo)r,蛇的列坐標(biāo)l,記錄用戶成績score,獲取用戶按鍵信息chioce。返回值:true或者是false。工作方式:獲取用戶輸入按鍵信息,并且根據(jù)用戶輸入按鍵信息作為關(guān)鍵字,進(jìn)行判斷。要求:自動使蛇開始運動,并且及時獲取用戶的按鍵信息,隨時判斷是否

12、在移動過程中碰到墻壁或者身體交叉,給出結(jié)束信息。函數(shù)原型:int main()功能:程序的入口點,總控函數(shù)。參數(shù):沒有死亡的信息noDead。返回值:0。工作要求:依次調(diào)用初始化界面的成員函數(shù),更新游戲界面的成員函數(shù),顯示游戲界面的 成員函數(shù)。要求:調(diào)用程序信息。4.Csnake函數(shù)函數(shù)原型:Csnake(int n)功能:初始化游戲界面大小。參數(shù):int n。返回值:無。5.getSymbol函數(shù)函數(shù)原型:char getSymbol(const Cmp& c)const。功能:獲取指定坐標(biāo)點上的字符。參數(shù): Cmp& c。返回值:snakeMapc.lSignc.rSign。6.isDea

13、d函數(shù)函數(shù)原型:bool isDead(const Cmp& cmp)。功能:判斷是否死亡。參數(shù):Cmp& cmp。返回值:getSymbol(cmp)= | cmp.rSign = row-1 | cmp.rSign= 0 | cmp.lSign = line-1 | cmp.lSign = 0。工作要求:判斷條件,從而決定返回值。限制條件 本程序由于經(jīng)常調(diào)用Invalidate()函數(shù)重繪窗口,因此在游戲過程中頻閃的非常嚴(yán)重。玩的時候可能會碰到一定的閃屏問題。不過不會影響游戲的進(jìn)行。玩家還是可以比較正常的操作此題要求的一條蛇在密閉的圍墻內(nèi), 圍墻內(nèi)會隨機出現(xiàn)一個食物通過鍵盤上的4個光標(biāo)鍵控

14、制蛇向上下左右4個方向移動,蛇頭接到食物,則表示食物被蛇吃掉,并且蛇的身體加長一節(jié)的貪吃蛇游戲。本程序經(jīng)過調(diào)試,可以在XP系統(tǒng)下編譯運行,也可以在Vista下運行,界面稍有不同,但不影響運行結(jié)果。系統(tǒng)流程圖如圖3.1所示。打開游戲時,初始化游戲界面,自動生成蛇身與食物,然后蛇開始向右走,用戶可以通過鍵盤控制蛇的走向,此時開始計分.通過判斷蛇頭與食物的座標(biāo)是否重合,可以決定是否生成新的食物,當(dāng)蛇頭與墻相撞時,輸出成績,結(jié)束游戲。InitInstance函數(shù)流程圖如圖3.2所示。打開運行結(jié)果后,自動調(diào)用InitInstance函數(shù),通過調(diào)用本函數(shù),將界面生成一個二維數(shù)組,然后通過函數(shù)的調(diào)用自動生成

15、一個蛇。 Csnack函數(shù)流程圖如圖3.3所示。首先 獲取用戶按鍵信息,通過本函數(shù)的調(diào)用,判斷用戶輸入的方向。判斷GetKeyState(VK_UP)0如果是,返回1,如果不是,如果不滿足,接著往下判斷GetKeyState(VK_DOWN)0,如果滿足返回2,如果不滿足,接著判斷GetKeyState(VK_LEFT)0,如果滿足,返回3,不滿足接著判斷GetKeyState(VK_RIGHT)0,如果滿足返回4,不滿足返回0。主函數(shù)流程圖如圖3.4所示。判斷蛇是否死亡,如果沒有死亡,調(diào)用更新游戲界面函數(shù),顯示游戲界面函數(shù)。 UpdataGame函數(shù)流程圖如圖3.5所示。首先判斷是否吃到食物

16、,如果吃到食物,然后通過do while循環(huán)再次生成一個蛇身,通過if語句判斷生成的是不是蛇,假如是蛇,則隨機生成一個食物,假如不是蛇,則再次通過do while循環(huán)生成一個蛇身。圖3.5 a(序圖3.5)根據(jù)用戶按鍵信息,判斷蛇的走向,如果用戶發(fā)出了向上的指令,則蛇改變方向,向上運動,如果用戶發(fā)出了向下的指令,則蛇改變方向,向下運動,如果用戶發(fā)出了向左的指令,則蛇改變方向,向左運動,如果用戶發(fā)出了向右的指令,則蛇改變方向,向右運動,如果用戶沒有發(fā)出方向指令,則還是按照原方向運動,以上操作均可以通過如圖3.7的switch循環(huán)來實現(xiàn)。圖3.5 b(序圖3.5)InitInstance函數(shù)()流

17、程圖如圖3.6所示。4. 測試 程序開始,初始化界面,調(diào)用函數(shù)自動生成蛇和食物之后,蛇自動向右走。通過方向鍵來控制蛇的走向。游戲結(jié)束輸出最終成績。本程序由于經(jīng)常調(diào)用Invalidate()函數(shù)重繪窗口,因此在游戲過程中頻閃的非常嚴(yán)重。查閱了很多資料,雙緩沖技術(shù)可以解決這個問題,但是如果采用雙緩沖技術(shù),暫時還不能克服背景的問題,因為在雙緩沖技術(shù)的應(yīng)用中,背景是被強制默認(rèn)為顏色,而不是圖片。我嘗試改變了一下,但是沒有成功,所以這個問題還沒有解決。希望大家多多給予意見。問題1:速度太快。解決方法:循環(huán)delay。 for(d=0;d4;d+) delay(GAME_SPEED);問題 2:食物可能出

18、現(xiàn)在蛇身上。解決方法:依次判斷,若重疊則重新生成食物。 void createFood() int i; label: food.position.x=left+10*(int)rand()%11); food.position.y=top+10*(int)rand()%11); for(i=0;i=snake.length-1;i+) if(snake.nodesi.x=food.position.x&snake.nodesi.y=food.position.y) goto label; 貪吃蛇是家喻戶曉的益智類小游戲,選擇這個題目一是為了將自己的所學(xué)知識加以運用,二是一直以來貪吃蛇這個游戲

19、就深深地吸引著我,它的制作方法對于以前的我而言都是很神秘的。這次編程我通過自己的所學(xué)知識把它剖析開來,真真正正的了解它的本質(zhì)和精髓。雖然我的編程能力不是很強,但是我有信心,在這次學(xué)習(xí)中我將從實踐和實際的項目中提高自己的編程能力。 這個題目的選定是來源我學(xué)習(xí)生活的一個例子,從程序的選定到程序的構(gòu)思,再到程序的編寫都花了我很長的時間,幾乎每天都熬夜,真得很辛苦,但完成后又有一種很踏實的感覺。編寫程序很辛苦,尤其是基礎(chǔ)不好的。不過三人行,必有我?guī)煟壕幊瘫容^好的同學(xué)、編寫其他程序的同學(xué)、老師都是我們相互學(xué)習(xí)的對象。感謝他們給了我很多意見,幫助了我很多,真正體會到合作的愉快。 通過這次的C+程序課程設(shè)計

20、,熟練地掌握C+語言的知識點,熟悉當(dāng)前常用的軟件開發(fā)環(huán)境(Visual C+),解決實際問題的能力的強化訓(xùn)練,正確理解掌握C+面向?qū)ο蟪绦蛟O(shè)計的基本特性:類、對象、繼承與派生、多態(tài)、虛函數(shù)、模板、流類庫等。但因為時間關(guān)系,只能把這次作為基點,有待改進(jìn),以后編程的話就不會產(chǎn)生恐懼心理,平時編程太少了。尤其是更熟悉文件的操作了,對C+語言也更熟悉了,也能夠自己改程序中的錯誤,真的讓我體會到編程是痛并快樂著。 下面是我的幾點收獲: 其一,進(jìn)一步掌握和全面系統(tǒng)的學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計的基本概念、基本語法和編程方法。正確理解掌握C+面向?qū)ο蟪绦蛟O(shè)計的基本特性:類、對象、繼承與派生、多態(tài)、虛函數(shù)、模板、流類

21、庫等。遵循軟件過程的各個環(huán)節(jié)進(jìn)行系統(tǒng)分析、設(shè)計、實現(xiàn)、集成、測試,并相應(yīng)給出軟件規(guī)格說明書等。了解當(dāng)前常用的軟件開發(fā)環(huán)境(Visual C+),培養(yǎng)了解決實際問題的能力。理解和運用了結(jié)構(gòu)化程設(shè)計的思想和方法。 其二,我初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法:就是:首先,按要求設(shè)計算法,寫出流程圖;接著,根據(jù)流程圖,按照C+的語法規(guī)則,編寫程序;而后,就是上機進(jìn)行調(diào)試,調(diào)試是一個必備的步驟,通過調(diào)試將程序中的錯誤排除,并看看是否能實現(xiàn)要求的所有功能;搞完這部分以后就是寫報告了,將必要的解釋寫進(jìn)去。 其三,由于這個程序較長,故在進(jìn)行調(diào)試的過程中又學(xué)會了調(diào)試一個較長程序的基本方法,真正了解到實踐可以

22、讓我們學(xué)到更多的知識。 其四,通過寫程序的流程圖,學(xué)會了利用流程圖來表示算法,自頂向下、逐步細(xì)化、模塊化設(shè)計、結(jié)構(gòu)化編碼的結(jié)構(gòu)化程序設(shè)計方法,使程序更清晰化、條理化,有助于我們在編程或者以后的軟件開發(fā)方向發(fā)展的成長。 其五,通過這次C+程序課程設(shè)計,學(xué)會了隊友之間的相互合作的精神,和體會到集體的力量,“唱獨角戲是沒有人欣賞的”,這是課程設(shè)計最大的收獲。 最后,通過寫這次C+程序課程設(shè)計報告,掌握和培養(yǎng)了書寫程設(shè)(軟件)計開發(fā)文檔的能力,雖然很累,但其中的快樂卻是以前無法想象的。參考文獻(xiàn)1譚浩強著.C+程序設(shè)計(第二版)北京:清華大學(xué)出版社,2004。2劉燕君,劉振安,張一葉著.C+程序設(shè)計綜合

23、課程設(shè)計(第二版).北京:機械工業(yè)出版社,2009。3譚浩強主編.C程序設(shè)計題解與上機指導(dǎo)(第二版).北京:清華大學(xué)出版社,1999。4張引著.C+大學(xué)教程(第五版).北京:電子工業(yè)出版社,2007。5許兆元著.VisualC+從入門到精通.北京:化學(xué)工業(yè)出版社,2011。附錄:程序清單#include #include snake.h #include using namespace std; int main() Csnake s(20); s.InitInstance(); /s.ShowGame(); int noDead; do s.ShowGame(); noDead=s.Upda

24、taGame(); while (noDead); system(pause); return 0; #include #include #include #include snake.h using namespace std; /測試成功 void Csnake:InitInstance() snakeMap.resize(line); / snakeMap豎坐標(biāo)橫坐標(biāo) for(int i=0;iline;i+) snakeMapi.resize(row); for(int j=0;jrow;j+) snakeMapij= ; 1; for(int m=1;mmaxSize+1;m+) /

25、初始蛇身 snakeMapline/2m=; /將蛇身坐標(biāo)壓入隊列 snakeBody.push(Cmp(m,(line/2); /snakeBody橫坐標(biāo)豎坐標(biāo) /鏈表頭尾 firstSign=snakeBody.back(); secondSign.setPoint(maxSize-1,line/2); /測試成功 int Csnake:GetDirections()const if(GetKeyState(VK_UP)0) return 1; /1表示按下上鍵 if(GetKeyState(VK_DOWN)0) return 2; /2表示按下下鍵 if(GetKeyState(VK_L

26、EFT)0) return 3; /3表示按下左鍵 if(GetKeyState(VK_RIGHT)0)return 4; /4表示按下右鍵 return 0; bool Csnake:UpdataGame() / /初始化得分0 static int score=0; /獲取用戶按鍵信息 int choice; choice=GetDirections(); coutTotal score: scoreendl; /隨機產(chǎn)生食物所在坐標(biāo) int r,l; /開始初始已經(jīng)吃食,產(chǎn)生一個食物 static bool eatFood=true; /如果吃了一個,才再出現(xiàn)第2個食物 if(eatFo

27、od) do /坐標(biāo)范圍限制在(1,1)到(line-2,row-2)對點矩型之間 srand(time(0); r=(rand()%(row-2)+1; /橫坐標(biāo) l=(rand()%(line-2)+1;/豎坐標(biāo) /如果隨機產(chǎn)生的坐標(biāo)不是蛇身,則可行 /否則重新產(chǎn)生坐標(biāo) if(snakeMaplr!=) snakeMaplr=*; while (snakeMaplr=); switch (choice) case 1:/向上 /如果蛇頭和社頸的橫坐標(biāo)不相同,執(zhí)行下面操作 if(firstSign.rSign!=secondSign.rSign)nextSign.setPoint(first

28、Sign.rSign,firstSign.lSign-1); /否則,如下在原本方向上繼續(xù)移動 else nextSign=firstSign+(firstSign-secondSign); break; case 2:/向下 if(firstSign.rSign!=secondSign.rSign)nextSign.setPoint(firstSign.rSign,firstSign.lSign+1); else nextSign=firstSign+(firstSign-secondSign); break; case 3:/向左 if(firstSign.lSign!=secondSig

29、n.lSign)nextSign=firstSign+(firstSign-secondSign); else nextSign=firstSign+(firstSign-secondSign); break; case 4:/向右 if(firstSign.lSign!=secondSign.lSign)nextSign.setPoint(firstSign.rSign+1,firstSign.lSign); else nextSign=firstSign+(firstSign-secondSign); break; default: nextSign=firstSign+(firstSig

30、n-secondSign); / if(getSymbol(nextSign)!=* & !isDead(nextSign) /如果沒有碰到食物(且沒有死亡的情況下),刪除蛇尾,壓入新的蛇頭 /刪除蛇尾 lastSign=snakeBody.front(); snakeMaplastSign.lSignlastSign.rSign= ; snakeBody.pop(); /更新蛇頭 secondSign=firstSign; /壓入蛇頭 snakeBody.push(nextSign); firstSign=snakeBody.back(); snakeMapfirstSign.lSignfi

31、rstSign.rSign=; /沒有吃食 eatFood=false; return true; /吃食 else if(getSymbol(nextSign)=* & !isDead(nextSign) secondSign=firstSign; snakeMapnextSign.lSignnextSign.rSign=; /只壓入蛇頭 snakeBody.push(nextSign); firstSign=snakeBody.back(); eatFood=true; /加分 score+=10; return true; /死亡 else coutDeadendl;coutYour last total score is scoreendl; return false; void Csnake:ShowGame() for(int i=0;iline;i+) for(int j=0;jrow;j+) coutsnakeMapij; coutendl; Sleep(1); syste

溫馨提示

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

評論

0/150

提交評論