




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 # # # 嵌入式系統(tǒng)課程設(shè)計報告專業(yè):計算機(jī)科學(xué)與技術(shù)班級:09級7班小組成員學(xué)號姓名學(xué)號姓名汪錦洼林桂妹福建師范大學(xué)數(shù)學(xué)與計算機(jī)學(xué)院六月二口一二年目錄TOC o 1-5 h z HYPERLINK l bookmark6第一章:概述31.1研究動機(jī)31.2研究進(jìn)度31.3專題成果概述3 HYPERLINK l bookmark8第二章:實驗平臺的構(gòu)建42.1Wince的燒寫42.2MicrosoftActiveSync的同步11 HYPERLINK l bookmark30第三章:系統(tǒng)設(shè)計143.1界面要求143.2功能要求14 HYPERLINK l bookmark32第四章:實作完
2、成144.1界面設(shè)計144.2代碼實現(xiàn)154.3程序調(diào)試23 HYPERLINK l bookmark74第五章:所遇問題與解決辦法24 HYPERLINK l bookmark76第六章:心得與未來展望246.1心得246.2未來展望25第一章:概述.研1究動機(jī)隨著網(wǎng)絡(luò)技術(shù)的日新月異和計算機(jī)的普及,當(dāng)今的計算機(jī)技術(shù)也走上了平民化和娛樂化的時代,計算機(jī)技術(shù)再也不是只能由少數(shù)人掌握的深不可測的學(xué)問;同時個人計算機(jī)也由原來單純的數(shù)值計算和工業(yè)應(yīng)用逐漸轉(zhuǎn)變成像電視機(jī)一樣的家庭娛樂中心,伴隨著這種巨大的轉(zhuǎn)變計算機(jī)軟件的發(fā)展也走向了娛樂化。尤其是游戲產(chǎn)業(yè)的發(fā)展已經(jīng)成為信息產(chǎn)業(yè)中發(fā)展勢頭最猛烈最具前景的一
3、個分支,而游戲廳也漸漸被網(wǎng)吧擠出了正常的營業(yè)市場,游戲除了單純的個人娛樂功能之外,也逐漸向互動的方向發(fā)展。游戲的功能不斷按照玩家的需求和愛好擴(kuò)展延伸進(jìn)化,如今運行在各種平臺上不同名稱,不同內(nèi)容,不同形式的游戲不僅僅為廣大游戲愛好者提供了豐富的選擇,而且為游戲開發(fā)商帶來了豐厚的回報,游戲產(chǎn)業(yè)吸引著許多程序員去開發(fā)更多更新的游戲。基于游戲發(fā)展的歷史和前景,我們決定用C#語言開發(fā)一款小游戲,游戲內(nèi)容來自網(wǎng)絡(luò)上日漸流行的一種智力游戲黑白棋。黑白棋作為一款經(jīng)典的棋類博弈游戲,經(jīng)久不衰,具有很強(qiáng)的趣味性,深受廣大游戲愛好者的喜愛。那么開放一款基于WinCE的黑白棋游戲,具有很高的實用價值。.研2究目的隨著
4、消費類電子產(chǎn)業(yè)的蓬勃發(fā)展,越來越多的嵌入式電子產(chǎn)品走進(jìn)了千家萬戶。各式各樣的嵌入式系統(tǒng)出現(xiàn)在了眾多的行業(yè)和應(yīng)用中,其中WinCE產(chǎn)品在市場上最受青睞。本課題的黑白棋游戲設(shè)計就是基于WinCE平臺的。本程序使用面向?qū)ο蟮腃#語言,開發(fā)于可以運行于WinCE環(huán)境下的游戲程序。人機(jī)對弈、雙人游戲等功能,其中人機(jī)對弈包含難度選擇和先后手選擇。.專3題成果概述黑白棋游戲設(shè)計所完成的就是一個游戲軟件系統(tǒng)。其一般的功能包括:開始新局,對弈方式選擇,先手選擇,棋力設(shè)置,限時設(shè)置,雙方子數(shù)計數(shù)、幫助信息,關(guān)于黑白棋的介紹等,要求設(shè)計一個黑白棋游戲軟件,通過計算機(jī)實現(xiàn)各個功能。其具體設(shè)計要求為:1、位圖的導(dǎo)入和棋
5、盤的生成。2、記錄雙方對弈時間的計時器與記錄雙方子數(shù)的計數(shù)器。3、選擇人機(jī)對戰(zhàn)與人人對戰(zhàn)的函數(shù)及控制堆棧難度的主函數(shù)。 第二章:實驗平臺的構(gòu)建 # #的燒寫 # #首先,將燒進(jìn)開發(fā)板 # #輸入待撥電話的詳細(xì)信息:國家哋醫(yī)():電話號碼():連接時使用(X):得如下視圖: EthernetBootLoaderConfiguration:0)2)3)4)5)6)IPaddress:Subnetmask:Bootdelay:3secondsDHCP:(Disabled)ResettofactorydefaultconfigurationDownloa
6、dnewimageatstartupBootdeviceorder:SMSC-CFProgramSMSCMACaddress核啟動existingflashresidentimageno訓(xùn)E新創(chuàng)建一個基于的平臺PlatforVizard一Step1XWelcometotheNewPlatformWizardThiswizardguidesyouthroughtheprocessofcreatinganOSdesignforaWindowsCE-basedplatform.AnOSdesigndefinesthecharacteristicsofaWindowsCEOS.Youcancreate
7、anOSdesignbychoosingadesigntemplateandoneormoreboardsupportpackages(BSPs).ABSPincludesanOEMadaptationlayer(OAL)anddevicedrivers.Thiswizardhelpsyou:ChooseaBSP.Chooseadesigntemplate.AdditemstoyourOSdesignorremoveitemsfromit.Tocontinue,clickNext.NevPlatforVizard-Step3BoardSupportPackages(BSPs)ABSPconta
8、insasetofdevicedriversthatareaddedtoyourOSdesign.X陽創(chuàng)燦】刪闊也制副地問血砲n匚EMULATOR:X86匚INTELPXA27XDEVPLATFORM:ARMVI匚SAMSUNGSMDK2410:ARMV4ISelectoneormoreBSPsforyourOSdesign.ABSPfortheEmdoorSystemsXSBase270.TheplatformusestheOSthatisbuiltfortheARMvAarchitectureandcontainstheARMinstructionsetwithThumbInterwork
9、ingenabled.AvailableBSPs: # #XAvailabledesigntemplates:CustomDeviceDigitalMediaReceiverEnterpriseTerminalEnterpriseWebPadGatewayIndustrialControllerInternetApplianceChoosethedesigntemplatethatismostcloselyalignedwiththepurposeofyourtargetdevice.Providesthestartingpointforabrowser-basedconsumerIntern
10、etappliancewithafixeddisplaysuchasaCRTorLCDdisplayandakeyboard.Note:OnlyBSPssupportedbyinstalledCPUsairdispl&ydinth亡list.NevPlatfor*Vizard-Step4DesignTemplateAdesigntemplateisapredefinedselectionofCatalogitems. #IPPhoneMobileHandheldS亡t-T叩BoxTinyKernelWindowsThinClient # # # design. # # #TheInternet
11、standardprotocoLversion6.Items:LocalAreaNetwork(LAN)7WiredLocalAreaNetworkWirelessLocalAreaNetwork(802.11PersonalAreaNetwork(PAN)Bluetooth:IrDARemoteDeskt叩ConnectionAudioplaybackredirectionCut/CopWP&st亡clipboardredirectionFileStorageredirectionRemoteDesktopProtocol(RDP)Serialandparallelportredirecti
12、onSmartCardredirectionii-J=NotalCletoPlatforBuilderStart11File%itViewFrojectPlatformT:過巨etBuildProjectBuildOSToolsWindowHelpGettingStartedVhatsN已典OrdineCommunityResourcesDownloadsSupportHomePl刪。回団CEDevice三兀ICatalog+_|BSPs+_ICore0+_IDevice+_IPlatfor白ThirdF自6BSFTouropirYourself新建頂目.NETFramework3.5項目類型
13、(E):模板(D:VisualStudio已安裝的模板養(yǎng)的模板,畐搜索聯(lián)機(jī)檯板用于智能設(shè)備應(yīng)用程序的項目在下一對話框中選擇目標(biāo)平臺、Framework版本和模板名稱:reversi位置(D:C:Documentsand5ettingsAdministrator面空創(chuàng)逹解決方案的目錄(囚解決方案名稱(ED:reversi喧智能設(shè)備項目確定-取消+_jInputDevices+偽EmdoorKEYPADDriver+MainstonellTouch_jNetworking-_jLocalAreaNetworkingLANdevi+EmdoorLAN91Cl11DriverPCCard然后進(jìn)行編譯。
14、istonell(FPGAJPCCARD然后進(jìn)仃編譯。lwi目ISecureDigitalControllerDriver-巳Serial打開:200建項目數(shù)據(jù)庫R.epurtingWCFWorkflrHA1測試VisualC#WindowsWeb智能設(shè)備卜Office數(shù)據(jù)庫ReportingWCFWorkflow測試Hi口i.=iI廠亠亠-囲wjfCatalogitems+_|DeviceDrivers-真EmdoorSystemsXSBase270:ARMVI-_jDeviceDrivers-_jDirect3DMobileRX-ScaleDirect3DMobile-_jEmdoorOE
15、MDriver嗎EmdoorCANBUSDriver嗎EmdoorIDEDriver嗎EmdoorLEDDriver嗎EmdoorMOTORDriverEmdoorSystemsXSBase270:ARMVIReleasev 打包生成將自己的程序和的安裝程序復(fù)制到生成內(nèi)核的目錄下,然后在平臺5的.添加如下文件Jd:WINCE500-_|CommonFiles_jXSBase270+_|HardwareSpecific-_jProjectSpecificFil雪cesysgen.batproject.bib=1project.dat=1project,db雪project.reg然后點擊【再次將
16、自己的程序;UseofthissourcecodeissubjecttothetermsoftheMicrosoF;licenseagreement(EULA)underuhichyoulicensedthisSOFTWARE;IfyoudidnotacceptthetermsoftheEULA,youarenotauthor;thissourcecode.ForacopyoFtheEULA,pleaseseetheLICENS;installmedia.MODULES;NamePathFILES;NamePathreuersi.exeFW.cab$(_FLATRELEASEDIR)reuer
17、si.exeNK-】_FLaRELEASEDirFect的安裝程序復(fù)制到生成內(nèi)核的目錄下,然后點擊【】T【】,接著到目錄下找到文件。 # 生成系統(tǒng)在前面配置的超級終端中,選擇 # # # #啟動() #rom_offset=0 x0.INFO:FlashErase:erasingflashA6600000toA7E3FFFF.Pleasewait.INFO:FiashWrite:writingtoflash.INFO:FiashWrite:verifyingthedatawrittentoflash.ROMHDRatAddress86600044hINFO:FlashErase:erasing
18、flashA6540000toA657FFFF.Pleasewait.INFO:FiashWrite:writingtoflash.INFO:FiashWrite:verifyingthedatawrittentoflash.當(dāng)寫入成功后h開發(fā)板會自動重啟pr此時就裝好了Win系統(tǒng)DoirnloMdsccrosfOf的同步LrgtoviesytCi86601000(physical0 x101000)在中配置網(wǎng)絡(luò)連接文件(E)編輯(E)查看(址)高級I仝慎丨戸7=雇|凰41新逹連接我的連接LAN9U0U1新建連接鍵入連揺名稱(I):選擇連接類型僚.:O撥號連接)直緩連緩Q)O虛擬專用網(wǎng)絡(luò)(PP
19、TP)(址)O虛擬專用網(wǎng)貉(L2TP)O以太網(wǎng)上的PPPPPPoEj(P) # # # #網(wǎng)絡(luò)連接 設(shè)備3區(qū)設(shè)備n手動擺銬(用戶提洪撥號由匚撥號前使用緩喘窗口(E)停止位饑)無O控制面板設(shè)備屬性我的連接選擇設(shè)備(呈):coms:-我的連接顯性設(shè)備屬性我的連接屬性端口設(shè)置|撥號選項文件(E編輯(場:查看蟹)高甄迥)文件編輯(旦查看泌)高甄迥)xW|7|iff|廠撥號后使用終疏窗口邑)連接首選項波特率迫)數(shù)據(jù)位)奇偶校驗(巳.流控制(E)配置鯊:網(wǎng)絡(luò)連接Tgip遇置安全設(shè)置(E)|凰弘新逹連接我的連接新逹連接我的連接119200!0i無匚LAN91C111Ethernet*設(shè)置EQQIIP地址名稱
20、服務(wù)器IP地址可以自動分配給本計算O通過DHCP菽得IP地址Q)機(jī).如果您所在的網(wǎng)絡(luò)不能自動分配IP地址,諳向網(wǎng)絡(luò)管理員申諳一于地址,然后將該地址鍵入給定的空格內(nèi).劇指定一亍ip地址(3:ip地址(包):192.16S.0.57子網(wǎng)掩碼心):默認(rèn)網(wǎng)關(guān)(旦):192.16S.0.123:ie第三章:系統(tǒng)設(shè)計.1界面要求/菜單欄;/子數(shù)計數(shù)器;/棋盤設(shè)計。.2功能要求/選擇人機(jī)對戰(zhàn);/選擇雙人對戰(zhàn);/選擇初級、中級、高級難度;/認(rèn)輸功能;/黑白子數(shù)統(tǒng)計;/游戲幫助;/退出游戲。第四章:實作完成.界1面設(shè)計 #4.代2碼實現(xiàn)usingSystem;namespaceReve
21、rsipublicclassBoardpublicstaticreadonlyintBlack=-1;publicstaticreadonlyintEmpty=0;publicstaticreadonlyintWhite=1;publicintBlackCountgetreturnthis.blackCount;publicintWhiteCountgetreturnthis.whiteCount;publicintEmptyCountgetreturnthis.emptyCount;publicintBlackFrontierCountgetreturnthis.blackFrontierC
22、ount;publicintWhiteFrontierCountgetreturnthis.whiteFrontierCount;publicintBlackSafeCountgetreturnthis.blackSafeCount;publicintWhiteSafeCountgetreturnthis.whiteSafeCount;privateintblackCount;privateintwhiteCount;privateintemptyCount;privateintblackFrontierCount;privateintwhiteFrontierCount; # private
23、intblackSafeCount;privateintwhiteSafeCount;privateint,squares;privatebool,safeDiscs;publicBoard()this.squares=newint8,8;this.safeDiscs=newbool8,8;inti,j;for(i=0;i8;i+)for(j=0;j8;j+)this.squaresi,j=Board.Empty;this.safeDiscsi,j=false;this.UpdateCounts();publicBoard(Boardboard)this.squares=newint8,8;t
24、his.safeDiscs=newbool8,8;inti,j;for(i=0;i8;i+)for(j=0;j8;j+)this.squaresi,j=board.squaresi,j;this.safeDiscsi,j=board.safeDiscsi,j;this.blackCount=board.blackCount;this.whiteCount=board.whiteCount;this.emptyCount=board.emptyCount;this.blackSafeCount=board.blackSafeCount;this.whiteSafeCount=board.whit
25、eSafeCount;publicvoidSetForNewGame()inti,j;for(i=0;i8;i+) #for(j=0;j8;j+)this.squaresi,j=Board.Empty;this.safeDiscsi,j=false;this.squares3,3=White;this.squares3,4=Black;this.squares4,3=Black;this.squares4,4=White;this.UpdateCounts();publicintGetSquareContents(introw,intcol)returnthis.squaresrow,col;
26、publicvoidMakeMove(intcolor,introw,intcol)this.squaresrow,col=color;intdr,dc;intr,c;for(dr=-1;dr=1;dr+)for(dc=-1;dc=1;dc+)if(!(dr=0&dc=0)&IsOutflanking(color,row,col,dr,dc)r=row+dr;c=col+dc;/Flipem.while(this.squaresr,c=-color)this.squaresr,c=color;r+=dr;c+=dc;this.UpdateCounts();publicboolHasAnyVal
27、idMove(intcolor)intr,c;for(r=0;r8;r+) # for(c=0;c8;c+)if(this.IsValidMove(color,r,c)returntrue;returnfalse;publicboolIsValidMove(intcolor,introw,intcol)if(this.squaresrow,col!=Board.Empty)returnfalse;intdr,dc;for(dr=-1;dr=1;dr+)for(dc=-1;dc=1;dc+)if(!(dr=0&dc=0)&this.IsOutflanking(color,row,col,dr,d
28、c)returntrue;returnfalse;publicintGetValidMoveCount(intcolor)intn=0;inti,j;for(i=0;i8;i+)for(j=0;j=0&r=0&c8&this.squaresr,c=-color)r+=dr;c+=dc;if(r7|c7|(r-dr=row&c-dc=col)|this.squaresr,c!=color)returnfalse; #/Otherwise,returntrue;returntrue;privatevoidUpdateCounts()/Resetallcounts.TOC o 1-5 h zthis
29、.blackCount=0;this.whiteCount=0;this.emptyCount=0;this.blackFrontierCount=0;this.whiteFrontierCount=0;this.whiteSafeCount=0;this.blackSafeCount=0;inti,j;boolstatusChanged=true;while(statusChanged)statusChanged=false;for(i=0;i8;i+)for(j=0;j8;j+)if(this.squaresi,j!=Board.Empty&!this.safeDiscsi,j&!this
30、.IsOutflankable(i,j)this.safeDiscsi,j=true;statusChanged=true;intdr,dc;for(i=0;i8;i+)for(j=0;j8;j+)boolisFrontier=false;if(this.squaresi,j!=Board.Empty)for(dr=-1;dr=1;dr+)for(dc=-1;dc=0&i+dr=0&j+dc8&this.squaresi+dr,j+dc=Board.Empty)isFrontier=true;if(this.squaresi,j=Board.Black)this.blackCount+; #
31、if(isFrontier)this.blackFrontierCount+;if(this.safeDiscsi,j)this.blackSafeCount+;elseif(this.squaresi,j=Board.White)this.whiteCount+;if(isFrontier)this.whiteFrontierCount+;if(this.safeDiscsi,j)this.whiteSafeCount+;elsethis.emptyCount+;privateboolIsOutflankable(introw,intcol)intcolor=this.squaresrow,
32、col;inti,j;boolhasSpaceSide1,hasSpaceSide2;boolhasUnsafeSide1,hasUnsafeSide2;hasSpaceSide1=false;hasUnsafeSide1=false;hasSpaceSide2=false;hasUnsafeSide2=false;for(j=0;jcol&!hasSpaceSide1;j+)if(this.squaresrow,j=Board.Empty)hasSpaceSide1=true;elseif(this.squaresrow,j!=color|!this.safeDiscsrow,j)hasUn
33、safeSide1=true;for(j=col+1;j8&!hasSpaceSide2;j+)if(this.squaresrow,j=Board.Empty)hasSpaceSide2=true;elseif(this.squaresrow,j!=color|!this.safeDiscsrow,j)hasUnsafeSide2=true;if(hasSpaceSide1&hasSpaceSide2)|(hasSpaceSide1&hasUnsafeSide2)|(hasUnsafeSide1&hasSpaceSide2)returntrue;hasSpaceSide1=false;has
34、SpaceSide2=false;hasUnsafeSide1=false; hasUnsafeSide2=false;for(i=0;irow&!hasSpaceSide1;i+)if(this.squaresi,col=Board.Empty)hasSpaceSide1=true;elseif(this.squaresi,col!=color|!this.safeDiscsi,col)hasUnsafeSide1=true;for(i=row+1;i=0&j=0&!hasSpaceSide1)if(this.squaresi,j=Board.Empty)hasSpaceSide1=true
35、;elseif(this.squaresi,j!=color|!this.safeDiscsi,j)hasUnsafeSide1=true;i-;j-;i=row+1;j=col+1;while(i8&j=0&j8&!hasSpaceSide1)if(this.squaresi,j=Board.Empty)hasSpaceSide1=true;elseif(this.squaresi,j!=color|!this.safeDiscsi,j)hasUnsafeSide1=true;i-;j+;i=row+1;j=col-1;while(i=0&!hasSpaceSide2)if(this.squaresi,j=Board.Empty)hasSpaceSide2=true;elseif(this.squaresi,j!=color|!this.safeDiscsi,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國實驗室用純水機(jī)市場調(diào)查研究報告
- 網(wǎng)紅合作合同范本
- 2025年中國雙嘴水泥裝包機(jī)市場調(diào)查研究報告
- 課本印刷合同范本
- 2025年中國辦公室自動化裝置市場調(diào)查研究報告
- 2025年中國八色膠版印刷機(jī)市場調(diào)查研究報告
- 2025年中國傳感器線排市場調(diào)查研究報告
- 2025年中國人事檔案管理系統(tǒng)市場調(diào)查研究報告
- 2025年中國三角鍬市場調(diào)查研究報告
- 2025年中國EVA卡紙市場調(diào)查研究報告
- 配電箱(剩余電流動作斷路器)檢測報告
- DB32T 4004-2021 水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法
- JIS C9335-2-5-2021 家用和類似用途電器.安全性.第2-5部分:洗碗機(jī)的特殊要求
- 建設(shè)年飼養(yǎng)240萬只蛋雛雞培育基地項目可行性研究報告
- 大連理工畫法幾何電子教案2003第八章
- 中國數(shù)學(xué)發(fā)展歷史(課堂PPT)
- 一至六年級下冊音樂期末試卷及答案
- 黃金太陽漆黑的黎明金手指
- 節(jié)水灌溉理論與技術(shù)
- 工商企業(yè)管理專業(yè)??飘厴I(yè)論文
- 皮帶機(jī)提升機(jī)鏈運機(jī)功率計算
評論
0/150
提交評論