基于ARM9開發(fā)板的掃雷游戲設(shè)計(jì)_第1頁
基于ARM9開發(fā)板的掃雷游戲設(shè)計(jì)_第2頁
基于ARM9開發(fā)板的掃雷游戲設(shè)計(jì)_第3頁
基于ARM9開發(fā)板的掃雷游戲設(shè)計(jì)_第4頁
基于ARM9開發(fā)板的掃雷游戲設(shè)計(jì)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢 業(yè) 論 文題 目: 基于arm9開發(fā)板的掃雷游戲設(shè)計(jì) 學(xué)院: 電氣信息學(xué)院 專業(yè): 自動(dòng)化 班級(jí): 0901 學(xué)號(hào): 200901020130 學(xué)生姓名: 段 志 勤 導(dǎo)師姓名: 萬 琴 完成日期: 2013年6月7日 畢 業(yè) 設(shè) 計(jì)題 目: 基于arm9開發(fā)板的掃雷游戲設(shè)計(jì) 學(xué)院: 電氣信息學(xué)院 專業(yè): 自動(dòng)化 班級(jí): 0901 學(xué)號(hào): 200901020130 學(xué)生姓名: 段 志 勤 導(dǎo)師姓名: 萬 琴 完成日期: 2013年6月7日 誠(chéng) 信 聲 明本人聲明:1、本人所呈交的畢業(yè)設(shè)計(jì)(論文)是在老師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果;2、據(jù)查證,除了文中特別加以標(biāo)注和致謝的地方外,

2、畢業(yè)設(shè)計(jì)(論文)中不包含其他人已經(jīng)公開發(fā)表過的研究成果,也不包含為獲得其他教育機(jī)構(gòu)的學(xué)位而使用過的材料;3、我承諾,本人提交的畢業(yè)設(shè)計(jì)(論文)中的所有內(nèi)容均真實(shí)、可信。作者簽名: 日期: 年 月 日畢業(yè)設(shè)計(jì)(論文)任務(wù)書 題目: 基于arm9開發(fā)板的掃雷游戲設(shè)計(jì) 姓名 段志勤 系別 電氣信息學(xué)院 專業(yè) 自動(dòng)化 班級(jí) 0901 學(xué)號(hào) 200901020130 指導(dǎo)老師 萬 琴 職稱 教研室主任 黃峰、汪超、劉星平 一、基本任務(wù)及要求: 以arm9為核心,設(shè)計(jì)一個(gè)移動(dòng)平臺(tái)的掃雷游戲。 1.要求實(shí)現(xiàn)pc機(jī)上掃雷的基本功能,點(diǎn)到空白是遞歸,點(diǎn)到雷時(shí)自動(dòng)爆炸,并且所有的雷自動(dòng)爆炸,點(diǎn)到其他圖片翻開圖片。

3、用c+對(duì)鼠標(biāo)事件,遞歸函數(shù)的編寫。用qt的界面完成掃雷游戲的界面。2.要求把在pc機(jī)上寫好的掃雷游戲移植到arm9開發(fā)板上,實(shí)現(xiàn)移動(dòng)設(shè)備上的掃雷游戲設(shè)計(jì)。利用linux和qt的兼容性移植到到arm9開發(fā)板。 二、進(jìn)度安排及完成時(shí)間: (1)1月14日至3月4日:查閱資料為畢業(yè)設(shè)計(jì)做準(zhǔn)備。 (2)3月5日至3月15日:撰寫文獻(xiàn)的開題報(bào)告。 (3)3月18日至4月1日:進(jìn)行畢業(yè)實(shí)習(xí),撰寫畢業(yè)實(shí)習(xí)報(bào)告。 (4)4月2日至4月7日:了解課題的基本要求。 (5)4月8日至4月14日:進(jìn)行程序的編寫。 (6)4月15日至4月21日:對(duì)程序改進(jìn)和修改。 (7)4月22日至4月28日:對(duì)arm9開發(fā)板的移植進(jìn)

4、行調(diào)式。 (8)4月29日至5月12日:程序的調(diào)試。 (9)5月13日至5月20日:qt應(yīng)用的移植。 (10)5月21日至5月24日:撰寫前言,目錄,摘要,緒論。 (11)5月25日至5月28日:撰寫系統(tǒng)軟件設(shè)計(jì)和程序調(diào)試。 (12)5月29日至6月1日:撰寫系統(tǒng)硬件部分設(shè)計(jì)和qt移植。 (13)6月2日至6月5日:撰寫參考文獻(xiàn),致謝,附錄。 目錄摘要iabstractii第一章 概述11.1 掃雷簡(jiǎn)介11.2 arm9簡(jiǎn)介11.3 linux系統(tǒng)簡(jiǎn)介11.4 qt簡(jiǎn)介21.5 c+簡(jiǎn)介21.6 課題研究的背景和意義2第二章 總體設(shè)計(jì)思路42.1 設(shè)計(jì)總體思路42.2 掃雷游戲主要功能52.3

5、 設(shè)計(jì)的軟件72.4 設(shè)計(jì)的環(huán)境82.5 設(shè)計(jì)的語言82.6 設(shè)計(jì)的平臺(tái)9第三章 軟件部分設(shè)計(jì)123.1 視圖和場(chǎng)景的設(shè)計(jì)123.1.1 視圖的設(shè)計(jì)123.1.2 場(chǎng)景的設(shè)計(jì)133.1.3 視圖中控件和動(dòng)作的設(shè)計(jì)143.2 stl數(shù)據(jù)的設(shè)計(jì)163.2.1 stl的設(shè)計(jì)163.2.2 數(shù)據(jù)的設(shè)計(jì)183.3 stl圖片的設(shè)計(jì)193.3.1 圖片的選取和加載193.3.2 圖片坐標(biāo)的設(shè)計(jì)223.4 功能程序塊的設(shè)計(jì)233.4.1 鼠標(biāo)事件233.4.2 圖片交換的設(shè)計(jì)253.4.3 爆炸和遞歸的設(shè)計(jì)253.4.4 初始化的設(shè)計(jì)26第四章 硬件部分的設(shè)計(jì)274.1 硬件介紹274.1.1 開發(fā)板簡(jiǎn)介2

6、74.1.2 cpu簡(jiǎn)介284.1.3 usb接口294.1.4 電源系統(tǒng)及接口294.1.5 復(fù)位系統(tǒng)303.1.6 flash 存儲(chǔ)系統(tǒng)304.2 開發(fā)平臺(tái)的設(shè)計(jì)314.2.1 交叉編譯環(huán)境的搭建324.2.2 linux內(nèi)核配置和編譯334.3 qt應(yīng)用的移植34第五章 調(diào)試與測(cè)試36總結(jié)39參考文獻(xiàn)41附錄 掃雷程序及注釋42基于arm9開發(fā)板的掃雷游戲設(shè)計(jì)摘要:隨著時(shí)代的進(jìn)步,現(xiàn)在已進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代,智能手機(jī),平板電腦等移動(dòng)設(shè)備越來越受到人們的歡迎。移動(dòng)設(shè)備因?yàn)槠涞姆奖阈?,移?dòng)設(shè)備將是未來通信,上網(wǎng),娛樂的主體。在人們緊張的工作學(xué)習(xí)之余,在外出旅游之余,可以隨時(shí)隨地拿出移動(dòng)設(shè)備玩一

7、盤游戲給自己帶來歡樂與放松,也可以放松自己的心情,緩解自己的工作和學(xué)習(xí)壓力。掃雷是很多操作系統(tǒng)自帶的一款小游戲,幾乎每個(gè)電腦使用者都接觸過這款游戲,并且深愛著這款小游戲。掃雷游戲是非常經(jīng)典的一款小游戲,實(shí)現(xiàn)它的方法很多,可以用c,c+,vb,java等很多語言。本設(shè)計(jì)主要是以qt作為開發(fā)軟件,在linux系統(tǒng)中用c+設(shè)計(jì)并開發(fā)的一款掃雷游戲,最后移植到arm9開發(fā)板上,以arm9開發(fā)板作為測(cè)試和運(yùn)行掃雷游戲,實(shí)現(xiàn)移動(dòng)設(shè)備上的掃雷游戲。本設(shè)計(jì)的掃雷游戲功能基本上和window系統(tǒng)上的相同。利用qt軟件的良好的圖形界面做出掃雷游戲的圖形界面,利用c+的方便和qt強(qiáng)大的類庫來實(shí)現(xiàn)掃雷的基本功能,利用

8、qt的兼容性強(qiáng)以及l(fā)inux系統(tǒng)良好的移植性能來移植到arm9開發(fā)板上來實(shí)現(xiàn)移動(dòng)設(shè)備上的掃雷游戲。論文首先介紹了c+,qt,linux系統(tǒng),arm9等本設(shè)計(jì)中用到的東西。然后介紹了總體設(shè)計(jì)思路,在linux系統(tǒng)下以及qt軟件中用c+分模塊設(shè)計(jì)出掃雷游戲的每個(gè)模塊,最后移植到arm9開發(fā)板上,實(shí)現(xiàn)本次設(shè)計(jì)。 關(guān)鍵字:掃雷、qt、linux、arm9minesweeping game design of arm9-based development boardabstract:along with the progress of the times, and now has entered the

9、 era of mobile internet, smart phones, tablets and other mobile devices more and more get the welcome of people. mobile devices because of its convenience, mobile devices will be the future communication, the internet, the main body of entertainment.in the tense work and study, travel, can take out

10、mobile devices anytime and anywhere to play a game to cheer myself and relaxation, can also relax the mood, reduce the pressure on their work and study.minesweeping is many operating system comes with a small game, almost every computer users are exposed to the game, and deeply in love with this lit

11、tle game. minesweeping game is a classic game, a lot of ways for it, you can use c, c + +, vb, java, etc. a lot of language. this design mainly is the qt as the development software, a linux system using c + + design and development of a mine clearance game, finally ported to the arm9 development bo

12、ard, with arm9 development board as a test and run the minesweeper, realize minesweeping game on a mobile device. this design of mine clearance game function and window system is basically the same. using the qt software good graphical interface made minesweeper graphical interface, convenient using

13、 c + + and qt powerful class library to realize the basic function of mine, using qt strong compatibility and good transplantation linux system performance to transplant to the arm9 development board up minesweeping game on a mobile device. paper first introduces the c + +, qt, linux system, this de

14、sign used in things such as the arm9. then introduces the overall design ideas, using c + + and qt software runs under linux system module design each module that minesweeper, finally ported to the arm9 development board, realize the design.keywords:minesweeping、qt、linux、arm9第一章 概述隨著計(jì)算機(jī)與網(wǎng)絡(luò)的普及,人們生活水平

15、的提高,移動(dòng)設(shè)備越來越成為人們生活中不可或缺的一部分,移動(dòng)設(shè)備可以隨身攜帶,在外出旅游,繁忙的工作之余,可以隨時(shí)隨地給人帶去歡樂與放松。1.1 掃雷簡(jiǎn)介掃雷最原始的版本可以追溯到1973年一款名為“方塊”的游戲,不久之后,“方塊”被改寫成了游戲“rlogic”,在“rlogic”里,玩家的任務(wù)是作為美國(guó)海軍陸戰(zhàn)隊(duì)隊(duì)員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆安德森在“rlogic”的基礎(chǔ)上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形。 1981年,微軟公司的羅伯特杜爾和卡特約翰遜兩位工程師在windows 3.1系統(tǒng)上加載了該游戲,掃雷游戲才正式在全

16、世界推廣開來。 這款游戲的玩法是在一個(gè)9*9(初級(jí)),16*16(中級(jí)),16*30(高級(jí)),或自定義大小的方塊矩陣中隨機(jī)布置一定量的地雷(初級(jí)為10個(gè),中級(jí)為40個(gè),高級(jí)為99個(gè))。由玩家逐個(gè)翻開方塊,以找出所有地雷為最終游戲目標(biāo)。如果玩家翻開的方塊有地雷,則游戲結(jié)束。 掃雷游戲是windows操作系統(tǒng)自帶的一款小游戲,在過去的幾年里,windows操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來越龐大、復(fù)雜,功能也越來越強(qiáng)大,但是這款小游戲依然保持原來的容貌,可見這款小游戲受到越來越多人的喜愛。本次的畢業(yè)設(shè)計(jì)我將利用qt作為開發(fā)工具,開發(fā)一款類似的“掃雷游戲”,并把掃雷游戲移植到arm開發(fā)板上,實(shí)現(xiàn)移動(dòng)

17、設(shè)備上的掃雷游戲。1.2 arm9簡(jiǎn)介 arm是advanced risc machines的簡(jiǎn)稱,arm9系列處理器是英國(guó)arm公司設(shè)計(jì)的主流嵌入式處理器,主要包括arm9tdmi和arm9e-s等系列, 新一代的arm9處理器,通過全新的設(shè)計(jì),采用了更多的晶體管,能夠達(dá)到兩倍以上于arm7處理器的處理能力。這種處理能力的提高是通過增加時(shí)鐘頻率和減少指令執(zhí)行周期實(shí)現(xiàn)的。1.3 linux系統(tǒng)簡(jiǎn)介 linux是一種自由和開放源代碼的類unix操作系統(tǒng)。定義linux的組件是linux內(nèi)核,該操作系統(tǒng)內(nèi)核由林納斯托瓦茲在1991年10月5日首次發(fā)布。嚴(yán)格來講,術(shù)語linux只表示操作系統(tǒng)內(nèi)核本身

18、,但通常采用linux內(nèi)核來表達(dá)該意思,linux則常用來指基于linux內(nèi)核的完整操作系統(tǒng),包括gui組件和許多其他實(shí)用工具。由于這些系統(tǒng)工具和庫主要由gnu計(jì)劃提供,自由軟件基金會(huì)提議將該組合系統(tǒng)命名為gnu/linux。linux是一個(gè)領(lǐng)先的操作系統(tǒng),可以運(yùn)行在服務(wù)器和其他大型平臺(tái)之上,如大型機(jī)和超級(jí)計(jì)算機(jī)。世界上500個(gè)最快的超級(jí)計(jì)算機(jī)90%以上運(yùn)行l(wèi)inux發(fā)行版或變種,最快的前10名超級(jí)計(jì)算機(jī)運(yùn)行的都是linux操作系統(tǒng)。 linux也廣泛應(yīng)用在嵌入式設(shè)備上,如手機(jī)、平板電腦、路由器、電視和電子游戲機(jī)等。在移動(dòng)設(shè)備上廣泛使用的android操作系統(tǒng)就是創(chuàng)建在linux內(nèi)核之上。1.

19、4 qt簡(jiǎn)介 qt以作為一個(gè)跨平臺(tái)框架而著稱,qt使用“一次編寫,隨處編譯”的方式為開發(fā)跨平臺(tái)的圖形用戶界面應(yīng)用程序提供了一個(gè)完整的c+應(yīng)用程序開發(fā)框架。qt容許程序開發(fā)人員的單一源碼樹來構(gòu)建可以運(yùn)行在不同平臺(tái)下的應(yīng)用程序的不同版本,這些平臺(tái)包括從window98到vista,mac os x、linux、solaris、hp-ux以及其他很多基于x11的unix。許多qt庫和工具也都是qt/embedded linux的組成部分。qt/embedded linux是一個(gè)可以在嵌入式linux上提供窗口系統(tǒng)的產(chǎn)品。1.5 c+簡(jiǎn)介 c+是一種語言,僅僅是它的語法、特性、標(biāo)準(zhǔn)類庫就已經(jīng)是一門非常

20、高深的課程,c+設(shè)計(jì)成靜態(tài)類型、和c同樣高效且可移植的多用途程序設(shè)計(jì)語言。設(shè)計(jì)成直接的和廣泛的支援多種程序設(shè)計(jì)風(fēng)格(程序化程序設(shè)計(jì)、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì))。設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯(cuò)誤。設(shè)計(jì)成盡可能與c兼容,籍此提供一個(gè)從c到c+的平滑過渡。避免平臺(tái)限定或沒有普遍用途的特性。不使用會(huì)帶來額外開銷的特性。設(shè)計(jì)成無需復(fù)雜的程序設(shè)計(jì)環(huán)境。1.6 課題研究的背景和意義現(xiàn)在已進(jìn)入移動(dòng)物聯(lián)網(wǎng)時(shí)代,人們已經(jīng)不滿足于用電腦來娛樂,電腦攜帶不方便,不能隨時(shí)隨地帶著電腦。所以移動(dòng)設(shè)備越來越受到人們的喜愛。移動(dòng)設(shè)備:也被稱為行動(dòng)裝置(英語:mobile devi

21、ce)、流動(dòng)裝置、手持裝置(handheld device)等,是一種口袋大小的計(jì)算設(shè)備,通常有一個(gè)小的顯示螢?zāi)?,觸控輸入,或是小型的鍵盤。因?yàn)橥ㄟ^它可以隨時(shí)隨地訪問獲得各種信息,這一類設(shè)備很快變得流行。諸如手提電腦和智能手機(jī)之類的移動(dòng)計(jì)算設(shè)備一起,pda代表了新的計(jì)算領(lǐng)域。移動(dòng)設(shè)備包括掌上游戲機(jī)、移動(dòng)電話、智能手機(jī)、平板電腦。移動(dòng)設(shè)備能隨時(shí)隨地玩游戲或者做其他事情??梢宰屛覀?cè)诰o張的工作之余能隨時(shí)放松自己的心情。通過研究本課題來熟悉了解移動(dòng)設(shè)備上的軟件開發(fā)。經(jīng)過大學(xué)四年的學(xué)習(xí),我對(duì)理論知識(shí)有了一定的了解和認(rèn)知,本次的畢業(yè)設(shè)計(jì)便是將大學(xué)所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合,同時(shí)也是對(duì)所學(xué)知識(shí)的檢查,希望

22、通過本次的畢業(yè)設(shè)計(jì)使自己在程序的開發(fā)和設(shè)計(jì)上有新的認(rèn)識(shí)并能有所提高,對(duì)于我們以后工作能力的培養(yǎng)具有重要意義。也讓我們更加了解移動(dòng)設(shè)備上的軟件開發(fā)。第二章 總體設(shè)計(jì)思路掃雷游戲英文名稱為mine sweeper,屬于益智類游戲。通過鼠標(biāo)即可操作游戲。游戲特點(diǎn)為操作簡(jiǎn)單,易于上手。本章主要介紹掃雷的總體思路設(shè)計(jì),包括掃雷游戲設(shè)計(jì)模塊和主要功能,開發(fā)平臺(tái)、開發(fā)軟件以及開發(fā)的環(huán)境。2.1 設(shè)計(jì)總體思路本設(shè)計(jì)分模塊設(shè)計(jì)出掃雷的每一個(gè)部分。第一部分使用qt軟件的vsi(view(視圖)、scene(場(chǎng)景)、item(道具)圖形界面設(shè)計(jì)出掃雷的基本界面,即打開掃雷游戲出現(xiàn)的界面。然后利用qt的類庫和c+編程

23、把scene加到view上。第二部分利用c+的stl完成掃雷底層的數(shù)據(jù)結(jié)構(gòu),即一個(gè)x行y列的數(shù)據(jù)結(jié)構(gòu),類似于二維數(shù)組。-1代表雷,n(0-8)代表周圍有n個(gè)雷。再利用qt的類庫和c+編程把stl的數(shù)據(jù)和stl的item結(jié)合起來,實(shí)現(xiàn)掃雷的底層數(shù)據(jù)功能。第三部分再利用c+的stl創(chuàng)建一個(gè)x行y列的item,在網(wǎng)上選擇好圖片,把圖片這個(gè)道具加場(chǎng)景中,實(shí)現(xiàn)掃雷的上層圖片功能。把stl數(shù)據(jù)和item結(jié)合起來,加到場(chǎng)景中。第四部分用c+編寫程序?qū)嵙?xí)掃雷的基本功能。第五部分再利用qt的兼容性好,把掃雷游戲移植到arm9開發(fā)板上運(yùn)行測(cè)試。如圖2-1所示。stl數(shù)據(jù)arm開發(fā)板pc機(jī)上掃雷stl圖片vsi圖形

24、界面視圖及場(chǎng)景移動(dòng)平臺(tái)掃雷 功能程序塊圖2-1掃雷模塊圖2.2 掃雷游戲主要功能(1)提示區(qū)上側(cè)顯示菜單欄,可以選擇雷的數(shù)目和整個(gè)區(qū)域的大小。(2)提示區(qū)下面位置按鈕用于開局;(3)單擊鼠標(biāo)左鍵于未知區(qū)域,如果未知區(qū)域有雷,游戲結(jié)束,顯示所有的地雷;如果沒有雷,則顯示一張數(shù)字的圖片,代表周圍八格的雷數(shù),如果周圍沒雷,則再查看周圍八個(gè)區(qū)域是否有雷,沒雷用遞歸一直翻開圖片。直到有雷為止,并顯示周圍雷的數(shù)目; (4)單擊鼠標(biāo)右鍵于未知區(qū)域,則顯示一個(gè)標(biāo)志,將其標(biāo)識(shí)有雷。在該位置再次單擊右鍵則取消;(5)將雷全部掃完后,會(huì)出現(xiàn)一個(gè)提示框,顯示游戲勝利。如圖2-2所示。開局為初始化雷數(shù)以及區(qū)域大小以及重

25、新開始游戲,默認(rèn)為三行五列,雷數(shù)數(shù)目為四個(gè)??梢詥螕暨x項(xiàng)來調(diào)整區(qū)域的大小和雷的數(shù)目。退出為退出游戲。圖2-3為已經(jīng)把雷全部找出來的圖片。圖2-4為掃雷游戲的總體流程圖。 圖2-2 掃雷界面的初始化圖2-3 掃雷成功的界面 圖2-4 總體流程圖否 結(jié)束是是否是否是否重新開始 遞歸 空白 成功是否掃完 數(shù)字是否是雷 左鍵初始化設(shè)定 開始 右鍵 標(biāo)志取消標(biāo)志 右鍵2.3 設(shè)計(jì)的軟件本設(shè)計(jì)主要用到qt4.0作為開發(fā)軟件。因?yàn)閝t4.0具備以下一些優(yōu)點(diǎn):(1)支持平臺(tái)廣泛qt應(yīng)用程序接口與工具兼容于所有支持平臺(tái),讓開發(fā)員們掌握一個(gè)應(yīng)用程序接口,便可執(zhí)行與平臺(tái)非相關(guān)的應(yīng)用開發(fā)與配置,其支持的平臺(tái)有:qt/

26、windows(windows xp,2000,nt4,me/98)、qt/mac (mac os x)、qt/x11(linux ,solarishp-ux,irix,aix)等。可移植性能高。(2)封裝多qt對(duì)不同平臺(tái)的專門qpi進(jìn)行了專門的封裝(文件處理、網(wǎng)絡(luò)等)??杀Wo(hù)程序的數(shù)據(jù)以及變量,防止程序出錯(cuò)。(3)面向?qū)ο髊t具有模塊設(shè)計(jì)和注重軟件構(gòu)件或元素的可重用性的特點(diǎn)。 (4)構(gòu)件支持 qt提供信號(hào)(signal)和插槽(slot)概念,這是一種類型安全的方法,它允許回調(diào),冰支持對(duì)象之間在彼此不知道對(duì)方信息的情況下進(jìn)行合作,這使得qt非常適合于真正的構(gòu)件編程。 (5)友好的聯(lián)機(jī)幫助 q

27、t提供了大量的聯(lián)機(jī)參考文檔,有超文本html方式,也有unix幫助手冊(cè)和補(bǔ)充說明,并且對(duì)于初學(xué)者,其中的指南將一步步介紹如何進(jìn)行qt編程。 (6)便利性 由于qt是一種跨平臺(tái)的gui工具包,它對(duì)編程者隱藏了在處理不同窗口系統(tǒng)時(shí)潛在的問題,qt定義了一些類來隱藏在不同操作系統(tǒng)上不同處理方式下的細(xì)節(jié)問題。 (7)豐富的api函數(shù) qt為專業(yè)應(yīng)用提供了大量的函數(shù),在qt的api中含有大約250個(gè)c+類,大多數(shù)的類都是gui專有的。 (8)可用戶化外觀 qt支持主題,基于qt的應(yīng)用程序能夠在windows外觀、motif外觀,以及其他一些用戶化主題之間切換。 (9)完整的一套組件工具 qt編程的基本模

28、塊稱之為組件,組件是用戶界面的組成部分,qt含有用來創(chuàng)建專業(yè)外觀的用戶界面所需要的所有組件。2.4 設(shè)計(jì)的環(huán)境本次設(shè)計(jì)主要用linux系統(tǒng)作為開發(fā)環(huán)境,因?yàn)閘inux具有如下優(yōu)點(diǎn):真正開放的操作系統(tǒng)。也許,linux的最大賣點(diǎn)就是它所給與客戶的選擇性。從硬件到支持再到linux的發(fā)行版,你可以有很多的選擇。你可以在一個(gè)價(jià)值200美元的舊pc機(jī)上運(yùn)行l(wèi)inux系統(tǒng),你也可以將它作為一個(gè)lpar(羅輯分區(qū))運(yùn)行在價(jià)值數(shù)百萬美元的p595 ibm p系列服務(wù)器(server網(wǎng)絡(luò)資源下載)上(你需要在rhel4 或 sles9之間作出選擇),你甚至能夠在ibm主機(jī)上運(yùn)行l(wèi)inux系統(tǒng)。使用linux,

29、你不再會(huì)與硬件分銷商發(fā)生沖突。盡管unix也被定義為一個(gè)開放的系統(tǒng),但現(xiàn)實(shí)是,你通常會(huì)與一個(gè)硬件供應(yīng)商捆綁在一起。linux是一個(gè)真正的開放系統(tǒng)。linux是一套免費(fèi)使用和自由傳播的類unix操作系統(tǒng),是一個(gè)基于posix和unix的多用戶、多任務(wù)、支持多線程和多cpu的操作系統(tǒng)。它能運(yùn)行主要的unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。linux繼承了unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。它主要用于基于intel x86系列cpu的計(jì)算機(jī)上,也可運(yùn)用在其他芯片上。linux的低成本、強(qiáng)大的定制功能以及良好的移植性能,使得linux在嵌入式系統(tǒng)

30、方面也得到廣泛應(yīng)用。由于linux內(nèi)核可裁剪,且免費(fèi),并且其在世界范圍內(nèi),有強(qiáng)大的技術(shù)支持,所以在得到了飛速發(fā)展。2.5 設(shè)計(jì)的語言本次設(shè)計(jì)主要運(yùn)用c+編寫程序,c+具備如下一些優(yōu)點(diǎn):c+設(shè)計(jì)成靜態(tài)類型、和c同樣高效且可移植的多用途程序設(shè)計(jì)語言。c+設(shè)計(jì)成直接的和廣泛的支持多種程序設(shè)計(jì)風(fēng)格(程序化程序設(shè)計(jì)、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì))。c+設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯(cuò)誤。c+設(shè)計(jì)成盡可能與c兼容,籍此提供一個(gè)從c到c+的平滑過渡。c+避免平臺(tái)限定或沒有普遍用途的特性。 c+不使用會(huì)帶來額外開銷的特性。 c+設(shè)計(jì)成無需復(fù)雜的程序設(shè)計(jì)環(huán)境。 c+的很多

31、特性都是以庫(如stl)或其他的形式提供的,而沒有直接添加到語言本身里。 c+在一定程度上可以和c語言很好的結(jié)合,甚至目前大多數(shù)c語言程序是在c+的集成開發(fā)環(huán)境中完成的。c+相對(duì)眾多的面向?qū)ο蟮恼Z言,具有相當(dāng)高的性能。 c+引入了面向?qū)ο蟮母拍?,使得開發(fā)人機(jī)交互類型的應(yīng)用程序更為簡(jiǎn)單、快捷。很多優(yōu)秀的程序框架包括mfc、qt、wxwidgets就是使用的c+,本設(shè)計(jì)就是采用qt來實(shí)現(xiàn)功能。本設(shè)計(jì)主要建立五個(gè)類,每個(gè)類為一個(gè)源文件。通過類與類之間的調(diào)用來實(shí)現(xiàn)底層數(shù)據(jù)域上層圖片的結(jié)合,通過類與類之間的調(diào)用來實(shí)現(xiàn)初始化的設(shè)定。下圖列出了各個(gè)類以及類與類之間的組合關(guān)系。如圖2-6所示: cellite

32、m.cppsweepminesscene.cppmainwidow.cppminesdialog.cpp field.cpp圖2-6 各個(gè)類之間的組合關(guān)系2.6 設(shè)計(jì)的平臺(tái)本設(shè)計(jì)主要應(yīng)用arm9作為開發(fā)平臺(tái),把掃雷游戲從pc機(jī)上移植到arm開發(fā)板上運(yùn)行測(cè)試,實(shí)現(xiàn)移動(dòng)設(shè)備的掃雷游戲。本設(shè)計(jì)運(yùn)用mini2440開發(fā)板。mini2440 是一款真正低價(jià)實(shí)用的arm9 開發(fā)板,是目前國(guó)內(nèi)性價(jià)比最高的一款學(xué)習(xí)板;它采用samsung s3c2440 為微處理器,并采用專業(yè)穩(wěn)定的cpu 內(nèi)核電源芯片和復(fù)位芯片來保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。mini2440 的pcb 采用沉金工藝的四層板設(shè)計(jì),專業(yè)等長(zhǎng)布線,保證

33、關(guān)鍵信號(hào)線的信號(hào)完整性。mini2440 的眾多先進(jìn)特性,可以概括為:(1)第一款被linux 社區(qū)廣泛支持的國(guó)產(chǎn)2440 開發(fā)板(自從linux-2.6.31 開始,mini2440被正式加入linux 官方內(nèi)核)(2)第一款在linux 下支持萬能usb 攝像頭的2440 開發(fā)板(同類產(chǎn)品至今仍在使用近乎絕跡、拍攝效果奇差的中星微攝像頭,并且沒有圖形界面的應(yīng)用)(3)第一款統(tǒng)一采用支持eabi 標(biāo)準(zhǔn)交叉編譯器的開發(fā)板(同類產(chǎn)品仍在使用拼湊的各個(gè)版本的編譯器,導(dǎo)致開發(fā)效率低下,并且不利于初學(xué)者入門掌握)(4)第一款提供齊全bsp(基于linux-2.6.29(當(dāng)前為linux-2.6.32.

34、2)和windowsce 6.0)的開發(fā)板,并全面配有圖形界面實(shí)用應(yīng)用程序(同類產(chǎn)品的部分硬件只是各擺設(shè),并且還在盜用友善之臂早期的命令行測(cè)試代碼)(5)第一款支持.net 3.5 和騰訊qq 的2440 開發(fā)板(2009 年10 月,windowsce 6.0 補(bǔ)丁release 3 發(fā)布)(6)第一款可以讓用戶無需編程,即可自由簡(jiǎn)單定制windowsce 開機(jī)畫面的開發(fā)板,并且可在10 秒內(nèi)極速啟動(dòng)系統(tǒng)(同類產(chǎn)品的windowsce 系統(tǒng)啟動(dòng)時(shí)間一般在30 秒甚至70 秒)(7)第一款完美支持usb 燒寫更新linux(support yaffs2)和windowsce 5.0/6.0的開

35、發(fā)板,并且支持整片nand flash備份到pc,真正適合批量生產(chǎn)(同類產(chǎn)品尚無備份功能)(8)第一款實(shí)現(xiàn)wince/linux圖形界面均可使用cmos 攝像頭預(yù)覽并拍照的開發(fā)板(同類產(chǎn)品尚無此功能)(9)第一款公開所有bsp源代碼(含linux 和windowsce)的開發(fā)板(齊全的bsp 讓初學(xué)者可以了解更多的底層,讓真正做開發(fā)的人只需關(guān)注上層應(yīng)用)(10)第一款內(nèi)核(含wince 和linux)同時(shí)支持大頁和小頁nand flash 的開發(fā)板,這樣新老用戶均可享用最新的軟件,并且使用方式相同(同類產(chǎn)品尚無此特性)(11)第一款在windowsce 和linux 下通過簡(jiǎn)單直觀的圖形界面,

36、就可設(shè)置各種程序開機(jī)自動(dòng)運(yùn)行的開發(fā)板(同類產(chǎn)品尚無此功能)(12)mini2440 目前是國(guó)內(nèi)零售銷量最多的2440 開發(fā)板,靠口碑相傳及朋友間互相介紹,mini2440已經(jīng)被眾多用戶稱贊和認(rèn)同如圖2-7所示;圖2-7 arm9開發(fā)板第三章 軟件部分設(shè)計(jì)c+是一種面向?qū)ο蟮恼Z言,同時(shí)又兼容c面向過程的優(yōu)點(diǎn)。軟件部分共包含了7個(gè)類,每個(gè)類為一個(gè)源文件,再加上main函數(shù),總共8個(gè)源文件。通過類與類之間的調(diào)用來實(shí)現(xiàn)掃雷游戲的功能。軟件部分的設(shè)計(jì)包括視圖及場(chǎng)景,stl數(shù)據(jù),stl圖片,程序功能塊四個(gè)模塊,在本章將詳細(xì)對(duì)四個(gè)模塊進(jìn)行設(shè)計(jì)。3.1 視圖和場(chǎng)景的設(shè)計(jì)3.1.1 視圖的設(shè)計(jì)視圖是一個(gè)游戲的主

37、窗口,由于掃雷游戲有界面,菜單等選項(xiàng),所以新建一個(gè)帶qt控件的工程。選擇繼承基類qmainwindow,我們給這個(gè)類取名叫mainwindow,就會(huì)生成一個(gè)mainwindow.cpp的源文件和mainwindow.h的頭文件。qmainwindow為qt軟件里面的一個(gè)c+類,是qt的gui程序里面常的頂層窗口,類mainwindow繼承了qmainwindow類,qmainwindow類提供一個(gè)有菜單條、錨接窗口(例如工具條)和一個(gè)狀態(tài)條的主應(yīng)用程序窗口,會(huì)自動(dòng)建立一個(gè)ui的界面文件,即掃雷游戲的主窗口。工程建立好之后打開工程的ui文件,如下圖3-1所示。 圖3-1 ui界面如圖中“在這里輸

38、入”可以輸入“菜單”、“幫助”、“退出”等控件。同時(shí)也會(huì)自動(dòng)生成一個(gè)main.c的源文件,源文件中的程序如下:qapplication a(argc, argv);mainwindow w; w.show(); return a.exec();w為mainwindow類定義的一個(gè)對(duì)象,show()為mainwindow類中的一個(gè)函數(shù),為展示主窗口的意思,當(dāng)運(yùn)行程序的時(shí)候w.show()為向用戶展示出游戲的界面。當(dāng)關(guān)閉游戲時(shí),return a.exec()會(huì)自動(dòng)返回一個(gè)0,同時(shí)程序運(yùn)行結(jié)束。如圖3-2所示 圖3-2 運(yùn)行的視圖此圖即為游戲的視圖,稱為view。3.1.2 場(chǎng)景的設(shè)計(jì)視圖設(shè)計(jì)好了之

39、后接下來就是設(shè)計(jì)場(chǎng)景,即scene。場(chǎng)景是加在視圖之上的界面,即掃雷的區(qū)域。一個(gè)視圖中可以加多個(gè)場(chǎng)景,每個(gè)場(chǎng)景是相互獨(dú)立,互不干擾的。所有東西都是建立在場(chǎng)景之上的,程序如下所示.頭文件中定義如下:ui:mainwindow *ui; sweepminesscene *scene; qgraphicsview *view;sweepminesscene、qgraphicsview都為qt中的c+類。源文件中程序如下:ui-setupui(this); view = new qgraphicsview; setcentralwidget(view); scene = new sweepminess

40、cene; view-setscene(scene);ui-setupui(this)中this指針并不是對(duì)象本身的一部分,不會(huì)影響sizeof(對(duì)象)的結(jié)果。this作用域是在類內(nèi)部,當(dāng)在類的非靜態(tài)成員函數(shù)中訪問類的非靜態(tài)成員的時(shí)候,編譯器會(huì)自動(dòng)將對(duì)象本身的地址作為一個(gè)隱含參數(shù)傳遞給函數(shù)。也就是說,即使你沒有寫上this指針,編譯器在編譯的時(shí)候也是加上this的,它作為非靜態(tài)成員函數(shù)的隱含形參,對(duì)各成員的訪問均通過this進(jìn)行。這句程序的意思為設(shè)置本ui界面作為ui界面。view = new qgraphicsview,scene = new sweepminesscene為在內(nèi)存中開辟一段

41、空間來存放視圖和場(chǎng)景。setcentralwidget(view),view-setscene(scene)是設(shè)置好游戲的視圖和場(chǎng)景的意思。3.1.3 視圖中控件和動(dòng)作的設(shè)計(jì)在游戲中我們能看到菜單欄有一些“菜單”、“幫助”、“退出”等控件,點(diǎn)擊控件就可以退出,重新開始游戲,查看版本信息等功能。打開ui界面,在界面中的“在這里輸入”中輸入你想要設(shè)計(jì)的控件,本設(shè)計(jì)選擇“菜單”,“幫助”兩個(gè)控件,同時(shí)設(shè)計(jì)“選項(xiàng)”,“退出”,“開局”,“關(guān)于”等幾個(gè)動(dòng)作,“菜單”和“幫助”為主控件,“開局”,“選項(xiàng)”,“退出”為“菜單”主控件中的動(dòng)作,點(diǎn)擊“菜單”我們就能看到下面三個(gè)動(dòng)作,這三個(gè)動(dòng)作為功能動(dòng)作,“開局

42、”動(dòng)作為開始游戲的意思,“選項(xiàng)”動(dòng)作為我們?cè)O(shè)置游戲的行和列,“退出”動(dòng)作為退出游戲。“關(guān)于”為“幫助”下的動(dòng)作,打開“關(guān)于”可以看到此游戲的版本號(hào)和信息。在ui界面的下方我們可以看到控件和動(dòng)作的信息,我們應(yīng)該把動(dòng)作與游戲結(jié)合起來,在ui界面的下方列出了動(dòng)作,雙擊動(dòng)作,會(huì)看到如圖3-3所示的界面。 3-3 控件設(shè)計(jì)的界面 圖中文本為動(dòng)作的名稱。對(duì)象名稱為程序中的名稱,因?yàn)閝t的程序?qū)χ形牡闹С值停瑫r(shí)不支持中文路徑,所以得用英文名稱。工具提示為我們?cè)谟螒驎r(shí)看到的名字。圖標(biāo)可以為每個(gè)動(dòng)作選擇一張圖片作為圖標(biāo),同時(shí)我們可以拖動(dòng)圖標(biāo)放到菜單欄下面的快捷鍵欄,因?yàn)椤伴_局”這動(dòng)作在游戲中用得比較頻繁,所以

43、我們?yōu)殚_局設(shè)計(jì)一個(gè)快捷圖標(biāo)。下面快捷鍵可以為每個(gè)動(dòng)作設(shè)計(jì)一個(gè)快捷鍵。如圖3-4所示。 圖3-4 控件的展示菜單欄下面為快捷鍵欄,我們把開局的快捷圖標(biāo)拖到快捷鍵欄,點(diǎn)擊圖標(biāo)就可以開局??丶O(shè)計(jì)好之后接下來就是怎么把控件和程序結(jié)合起來。如圖3-5所示,3-5 ui界面中的控件信息圖3-5為ui界面下面的動(dòng)作信息,我們右鍵點(diǎn)擊動(dòng)作然后選擇“轉(zhuǎn)到槽”,就會(huì)彈出一個(gè)如圖3-6所示的對(duì)話框。圖3-6 選擇信號(hào)的對(duì)話框我們選擇triggered信號(hào)。這樣就為此動(dòng)作自動(dòng)設(shè)置了信號(hào)槽。在程序的頭文件的類中會(huì)自動(dòng)生成private slots的成員,程序如下所示:private slots: void on_ac

44、tionoption_triggered(); void on_actionexit_triggered(); void on_actionabout_triggered(); void on_actionstart_triggered();同時(shí)會(huì)在源文件中會(huì)自動(dòng)生成此四個(gè)函數(shù)。我們用程序編寫函數(shù)的功能就可以把動(dòng)作的功能實(shí)現(xiàn)。我們將在3.4程序功能塊中再介紹。3.2 stl數(shù)據(jù)的設(shè)計(jì)3.2.1 stl的設(shè)計(jì)stl數(shù)據(jù)是掃雷游戲最底層的數(shù)據(jù),是控制掃雷功能的核心數(shù)據(jù)。用數(shù)字-1代表雷,數(shù)字0代表空格,周圍沒有雷的意思,數(shù)字1-8為代表周圍有1-8個(gè)雷的意思。再把底層數(shù)據(jù)和上層的圖片結(jié)合起來就形成

45、了掃雷的基本機(jī)構(gòu)。當(dāng)我們點(diǎn)擊一張圖片是,如果圖片下面的是數(shù)字0,表示你點(diǎn)中了雷,然后雷全部爆炸,如果下面是數(shù)字0,則用函數(shù)遞歸自動(dòng)把周圍的圖片翻開,知道翻到有數(shù)字為止。如果下面是數(shù)字1-8,則只翻開此圖片,代表周圍1-8個(gè)雷。我們用c+中的容器來實(shí)現(xiàn)底層的數(shù)據(jù)結(jié)構(gòu),c+中的容器類包括“順序存儲(chǔ)結(jié)構(gòu)”和“關(guān)聯(lián)存儲(chǔ)結(jié)構(gòu)”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存儲(chǔ)的元素?cái)?shù)在編譯器間就可以確定,可以使用數(shù)組來存儲(chǔ),否則,就需要用到容器類了。c+中容器類有很多個(gè),我們用vector容器,vector容器是連續(xù)存儲(chǔ)結(jié)構(gòu),每個(gè)元素

46、在內(nèi)存上是連續(xù)的,支持高效的隨機(jī)訪問和在尾端插入/刪除操作,但其他位置的插入/刪除操作效率低下;先建立一個(gè)類field,會(huì)自動(dòng)生成field.cpp的源文件和field.h的頭文件,然后在field類中建立一個(gè)名叫cells的vector類stl容器,程序如下:typedef vector cellcolumn;typedef vector cellmatrix;cellmatrix cells; int width; int height; int mines;typedef聲明,簡(jiǎn)稱typedef,為現(xiàn)有類型創(chuàng)建一個(gè)新的名字,或稱為類型別名,在結(jié)構(gòu)體定義,還有一些數(shù)組等地方都大量的用到。我

47、們先聲明一個(gè)int型的vector單列的容器,取類型別名為cellcolumn,類似于數(shù)組中的一維數(shù)組。因?yàn)閽呃子螒蚴且粋€(gè)二維的圖形界面,所以我們得創(chuàng)建一個(gè)二維的數(shù)據(jù)。接下來聲明一個(gè)多列的容器,即容器中包含容器,聲明一個(gè)cellcolumn型的容器,取別名為cellmatrix,類似于二維數(shù)組。vector cells;是用類 vector定義一個(gè)cells的對(duì)象。這樣一個(gè)多容器就定義好了。width為掃雷游戲界面的寬,height為掃雷游戲界面的高,mines為掃雷游戲中雷的個(gè)數(shù)。如圖3-7所示:cells00cells01cells02.cells0ncells10cells11cells

48、12.cells1ncellsn0cellsn1cellsn2.cellsnnheightwidth3-7 底層數(shù)據(jù)的排版圖中每一列為一個(gè)單列的容器,把幾個(gè)單列的容器組合起來就組成多列的容器。void initcells()函數(shù)為容器擴(kuò)容,即我們需要一個(gè)多大的容器來存放數(shù)據(jù),函數(shù)程序如下: for(int x=0; xwidth; x+) cells.push_back(cellcolumn(height); 我們用掃雷界面的高來作為單列的容器中的數(shù)值,再用一個(gè)for循環(huán)來把單列的容器堆入多列的容器中,用掃雷界面的寬作為for循環(huán)的循環(huán)次數(shù)。3.2.2 數(shù)據(jù)的設(shè)計(jì)容器建立好了,但是掃雷游戲的底

49、層數(shù)據(jù)怎么建立呢?我們利用void deploymines()函數(shù)來建立底層數(shù)據(jù)。我們首先把stl容器中的數(shù)值都清零,防止數(shù)據(jù)異常。如以下程序所示:for(int x=0; xwidth; x+) for(int y=0; y=0&x=0&yheight) if(cellsxy != -1) cellsxy+; 編寫一個(gè)void updatesurrounding(int x, int y)函數(shù)來把周圍的數(shù)值加1,只要此數(shù)值不是雷,即不等于-1,就把此數(shù)據(jù)加1,。我們利用rand函數(shù)來產(chǎn)生隨機(jī)數(shù),我們把雷隨機(jī)的布在我們掃雷界面的區(qū)域。在布雷的時(shí)候每布一個(gè)雷就要自減1,當(dāng)數(shù)值為0時(shí)布雷完成,但是

50、雷的數(shù)量是一個(gè)不變的數(shù)據(jù),我們必須保護(hù)mines這個(gè)變量。所以先把雷的數(shù)值賦給一個(gè)變量cpmines,我們來操作那個(gè)變量這樣就不會(huì)改變雷的數(shù)目。同時(shí)用while循環(huán)來控制布雷的個(gè)數(shù)。用兩個(gè)rand()函數(shù)來產(chǎn)生兩個(gè)隨機(jī)數(shù),一個(gè)用來表示雷的位置的橫坐標(biāo),一個(gè)用來表示雷的位置的縱坐標(biāo)。產(chǎn)生隨機(jī)數(shù)后為了不讓數(shù)值大于雷區(qū)域的寬和高,我們把產(chǎn)生的隨機(jī)數(shù)來分別對(duì)雷區(qū)域的寬和高取余,這樣就可以保證產(chǎn)生的數(shù)值不會(huì)大于雷區(qū)域的寬和高。當(dāng)產(chǎn)生完隨機(jī)數(shù)之后我們就得到了兩個(gè)坐標(biāo),把該坐標(biāo)的數(shù)值置為-1,代表此位置布下了一個(gè)雷。然后再調(diào)用void updatesurrounding(int x, int y)函數(shù)把雷周圍八個(gè)數(shù)值都加1。這樣布雷的底層數(shù)據(jù)結(jié)構(gòu)就完成了。用一個(gè)dump()函數(shù)來打印stl里面的數(shù)據(jù),即掃雷的底層數(shù)據(jù)。如圖3-8所示。圖3-8 掃雷底層的數(shù)據(jù)在此類的構(gòu)造函數(shù)中默認(rèn)設(shè)置好掃雷區(qū)域的寬和高,避免在開局的時(shí)候系統(tǒng)產(chǎn)生一個(gè)隨機(jī)的雷數(shù)值大于掃雷區(qū)域的寬高使程序出錯(cuò)。設(shè)置掃雷區(qū)域?qū)挼哪J(rèn)值為5,高的默認(rèn)值為3,雷數(shù)的默認(rèn)值為4.程序如下:field:field(): width(5), height(3), mines(4) initcells(); deploymines();當(dāng)我們用此類定義一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用此類的構(gòu)造函數(shù)。在構(gòu)造函數(shù)中調(diào)用initc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論