freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于android平臺的中國象棋手機游戲設計(編輯修改稿)

2025-02-09 17:21 本頁面
 

【文章內(nèi)容簡介】 7)實現(xiàn)模型的設計。(8)設計建模的評審。本系統(tǒng)使用MVC設計模式[13]進行體系的基礎架構(gòu),如圖42所示:圖42 Chess的MVC三層架構(gòu) Android應用程序的一般架構(gòu)為:Views + Content Providers + Resource Manager + Notification Manager + Activity Manager ,你可以選擇其中的若干項作為你應用的架構(gòu)元素。系統(tǒng)的項目文件組織結(jié)構(gòu)如圖43所示,其中:源代碼包中的View類和Dialog類以及res資源文件夾中的所有XML文件,充當視圖的角色,負責手機界面的顯示和與用戶的交互;Chess,startGame兩個類充當“C”的角色,重要控制程序界面的切換和信息的分發(fā);BoardView,Umpire,XMPPClient分別是棋盤類、裁判類、信息收發(fā)類,充當模型的角色,分別負責棋盤模型的顯示與更新、裁判對象模型的建立、即時信息通信模型的建立; DataManager,SettingsManager兩個類負責與SQLite數(shù)據(jù)庫的溝通,分別負責戰(zhàn)績勝負次數(shù)、XMPP聯(lián)接設置的數(shù)據(jù)存取。圖43 Chess的文件組織結(jié)構(gòu) 總體控制模塊軟件體系結(jié)構(gòu)是軟件在設計構(gòu)成上基本的、可供設計選擇的形態(tài)和總體結(jié)構(gòu),本質(zhì)上,它是對軟件需求的一種抽象解決方案。在引入了體系結(jié)構(gòu)的軟件開發(fā)之后,Chess中國象棋手機游戲系統(tǒng)的構(gòu)造過程變?yōu)椤皢栴}定義—軟件需求—軟件體系結(jié)構(gòu)設計—軟件詳細設計—軟件實現(xiàn)”。本系統(tǒng)的總體控制模塊主要有Chess以及startGame。Chess:用于控制各子模塊(Activity)的啟動、休眠以及消亡;例如,當用戶按下“開始游戲”按鈕時,()函數(shù),啟動對弈相關(guān)的模塊。startGame屬于對局子模塊,用于協(xié)調(diào)對局過程中對各中系統(tǒng)信息進行邏輯判斷、消息分發(fā),控制、調(diào)用、協(xié)調(diào)各二級子模塊的運行。依據(jù)上一階段中UML設計出來的模型及相關(guān)的文檔,對系統(tǒng)的各類進行細化后,得出系統(tǒng)各模塊的類以及各類之間的相互關(guān)聯(lián)關(guān)系。下面將詳細介紹各類模塊作用以及類之間的相互關(guān)聯(lián)性。關(guān)于總體流程控制類Chess,如圖44所示,各類相關(guān)作用簡介如下:負責啟動游戲,控制協(xié)調(diào)各模塊的運行;startGame:負責啟動對局模塊以及對局時候各對局子模塊的相互協(xié)調(diào);SettingsDialog:負責游戲網(wǎng)絡配置的UI顯示以及數(shù)據(jù)獲取、數(shù)據(jù)儲存等;ViewScore:負責游戲勝負戰(zhàn)績的UI顯示以及管理功能;panyInfo:負責游戲開發(fā)商信息的顯示以及用戶幫助文檔的UI顯示;ExitGameDialog:負責結(jié)束游戲相關(guān)進程、線程,保存相關(guān)游戲數(shù)據(jù),安全退出游戲。 圖44 總體控制類及相關(guān)類的聯(lián)系圖圖 45 對弈流程控制模塊與網(wǎng)絡通信模塊聯(lián)系圖關(guān)于對弈流程控制類startGame與通信模塊的組織聯(lián)系圖,如圖45所示。對弈流程控制主要作用為協(xié)調(diào)各對弈子模塊的通信與調(diào)用。與對弈流程控制有關(guān)的模塊有網(wǎng)絡連接部分中建立連接以及數(shù)據(jù)發(fā)送接收的類,負責數(shù)據(jù)存取的Manager類,用于聊天的chatDialog窗體類,走棋、棋盤同步更新模塊的類、請求回復窗體類等。 數(shù)據(jù)存儲模塊數(shù)據(jù)存儲模塊有四個類,分為儲存控制類和界面信息顯示兩種,說明如下:類SettingsDialog、viewScore用來做用戶UI界面輸入設置等信息的獲取和查看、清除對局勝負情況;類DataManager與SettingsManager是數(shù)據(jù)管理類。下面就DataManager()函數(shù)簡要介紹一個數(shù)據(jù)管理類是怎樣實現(xiàn)的:1) 變量設置:管理類中有屬性為private的變量,存取都必須通過函數(shù)內(nèi)置的get、set函數(shù)進行;2) 判斷表是否存在:管理數(shù)據(jù),必須先是有你需要管理的表,isScoreTable()函數(shù)通過系統(tǒng)API中的query()函數(shù)對系統(tǒng)表sysobject進行查詢,若系統(tǒng)表中沒有所要查找的對象,則需建立scoreTable表;3) 表的創(chuàng)建與刪除、記錄的添刪修:數(shù)據(jù)的存取都是通過系統(tǒng)API接口中的execSQL()函數(shù)來完成的,例如:當需要刪除scoreTable這張表,(sql),db為所要操作的數(shù)據(jù)庫的句柄,sql為所要執(zhí)行的語句。Manager的這兩個類有些類似JavaBean,是為了保證數(shù)據(jù)的安全、完整、一致,其他類必須通過數(shù)據(jù)庫Manager類才能與SQLite數(shù)據(jù)庫進行溝通,完成對數(shù)據(jù)的操作。實踐編程難點在類Umpire、Manager,由分析設計的結(jié)果生成各模塊的詳細編碼單元以及各類的模型。Umpire是裁判員類,主要用于判斷棋子走動是否規(guī)則、對弈的勝負結(jié)果。系統(tǒng)源碼包中,帶Manager后綴的都是屬于數(shù)據(jù)管理相關(guān)類。. * . * 進行數(shù)據(jù)的存取。如圖46所示,各類作用相關(guān)作用如下:圖46 查看戰(zhàn)績、連接設置以及走棋模塊的類圖本程序采用輕量級數(shù)據(jù)庫SQLite[3]存儲管理數(shù)據(jù), 。,scoreTable表用來儲存對局的勝負信息,settingsTable用來儲存XMPP網(wǎng)絡連接配置。表41 scoreTable存儲對局的勝負信息:字段含義數(shù)據(jù)類型是否為空初始值id記錄的編號Int否0winning獲勝次數(shù)Int否0falling失敗次數(shù)Int否0peace平局次數(shù)Int否0表42 settingsTable存儲XMPP的連接設置:字段含義數(shù)據(jù)類型是否為空初始值id(PK)記錄的編號Int否0host服務器地址String否port服務器端口Int否5222serviceJabber服務提供商String否partnerID對手gmail帳號String否example@userID用戶gmail帳號String否example2@userPWD用戶密碼String是123456 數(shù)據(jù)傳輸模塊數(shù)據(jù)傳輸模塊有兩個類,[9],模塊說明如下:ConnectDialog用來連接或者斷開XMPP網(wǎng)絡連接,當連接上服務器后,啟動對局模塊,進行游戲;XMPPClite接受startGame模塊轉(zhuǎn)交過來的數(shù)據(jù),在信息分類、格式化、加密后,發(fā)送給網(wǎng)絡中的jabber服務器;同時,監(jiān)聽服務器發(fā)送過來的Chess格式化數(shù)據(jù),解密、解包分類后轉(zhuǎn)交給startGame模塊;另外,也監(jiān)聽對手的在線狀態(tài)等信息,以便在發(fā)生突發(fā)情況時進行相應的處理,從而真正的達到即時游戲的效果。系統(tǒng)在進行聯(lián)網(wǎng)對局前,必須對網(wǎng)絡連接進行有效的配置。游戲的網(wǎng)絡連接配置UI界面以及各配置項的說明如圖47及表43所示,配置信息的數(shù)據(jù)存儲流程圖如圖47所示。圖47 SettingsDialog對話框輸入項游戲連接配置對話框各輸入項的詳細定義如表43所列。表43 XMPP設置界面各項目詳細定義標識名稱數(shù)據(jù)類型數(shù)據(jù)值有效范圍輸入媒體安全保密條件UserID用戶Gmail帳號String*@SettingsDialogSQLite限制訪問Password用戶密碼String*SettingsDialogSQLite限制訪問、MD5加密PartnerID對方Gmail帳號String*@SettingsDialogSQLite限制訪問Host提供IM服務的主機StringSettingsDialogSQLite限制訪問Port提供IM服務主機的端口號Int5222SettingsDialogSQLite限制訪問Service所用的服務類型StringSettingsDialogSQLite限制訪問系統(tǒng)使用SQLite數(shù)據(jù)庫,若無游戲配置信息或者配置信息無效,系統(tǒng)將提示進行正確的網(wǎng)絡連接配置,并對正確的配置進行存儲。配置信息的存儲數(shù)據(jù)流程圖如圖48所示。圖48 XMPP網(wǎng)絡連接設置數(shù)據(jù)流程圖為保證用戶手機之間數(shù)據(jù)傳輸中各類數(shù)據(jù)的區(qū)分,系統(tǒng)在數(shù)據(jù)發(fā)送前需對各類數(shù)據(jù)信息進行一定的格式化,待數(shù)據(jù)信息到達對方的手機后,系統(tǒng)再進行相應的解包。另外,為保證數(shù)據(jù)在網(wǎng)絡間傳輸?shù)陌踩?。圖49 Chat聊天模塊數(shù)據(jù)流程圖 對局模塊對局模塊是本系統(tǒng)設計編碼中較復雜,內(nèi)容比較多的一個模塊。主要有以下子模塊:1) startGame:用來啟動對局、網(wǎng)絡連接以及對各局子模塊進行協(xié)調(diào);2) Umpire:裁判類,定義走棋規(guī)則,用來控制走棋的順序以及對弈雙方的同步,判定對局的勝負;3) AnswerDialog:回話類,回答對方的對局請求等信息;4) ChatDialog:對話聊天類,走棋的過程中,用來啟動對話框以和對方進行即時聊天;5) RestorePoint:用來記錄游戲過程中的一定走棋記錄,創(chuàng)建還原點,以方便悔棋時,棋盤上棋子的回滾;6) panyInfo:用來顯示開發(fā)商信息以及用戶幫助信息的UI類;7) ErrorDialog:用來顯示游戲過程中出現(xiàn)的錯誤信息;8) ExitGameDialog:用來結(jié)束游戲進程,包括游戲相關(guān)的各線程 ;9) :第三方開發(fā)包,提供XMPP服務接口,數(shù)據(jù)加密等功能。對局模塊主要處理的是用戶之間對弈的過程同步、規(guī)則控制等信息。用戶走棋,產(chǎn)生走棋信息,系統(tǒng)捕獲到按鍵事件或者觸摸屏事件后,會進行數(shù)據(jù)的分類以及格式化,然后加密發(fā)送到對手的手機中。在接收到對手發(fā)來的走棋信息時,然后解包,進行走棋信息的邏輯處理,最后通過界面顯示類呈現(xiàn)于用戶的手機屏幕。圖410 走棋模塊數(shù)據(jù)流程圖對弈過程中,可打開聊天框與對手進行即時聊天。聊天框如圖411所示。對局的棋盤界面以及菜單的設置顯示如圖412所示。 圖411 chatDialog對話框輸入項 圖412 startGame對弈界面 XML界面布局模塊Chess系統(tǒng)使用XML進行游戲界面的基礎布局[1],主要有以下布局界面,各界面的布局內(nèi)容以及與各Java類的映射關(guān)系為:1) :回復對話框的界面布局;2) :聊天對話框的界面布局;3) :顯示開發(fā)商信息以及用戶幫助文件;4) :錯誤信息提示框布局;5) :退出游戲提示框;6) :游戲主界面布局;7) :游戲XMPP連接配置界面布局;8) :游戲?qū)纸缑娌季郑?) :確認進行網(wǎng)絡連接對話框布局;10) :確認回復對方請求的對話框布局;11) :查看戰(zhàn)績界面布局。圖413為res文件夾下layout(界面布局資源)的文件組織結(jié)構(gòu)。圖413 XML界面布局文件 系統(tǒng)中關(guān)鍵技術(shù)的應用及實現(xiàn) SQLite3的應用SQLite是集成在Android平臺上的嵌入式關(guān)系型數(shù)據(jù)庫。它是一個支持結(jié)構(gòu)化存儲、查詢輕量級開源數(shù)據(jù)庫。SQLite3支持的數(shù)據(jù)類型有NULL、INTEGER、REAL(浮點數(shù)字)、TEXT(字符串文本)和BLOB(二進制對象)數(shù)據(jù)類型,雖然它支持的類型雖然只有五種,但實際上sqlite3也接受varchar(n)、char(n)、decimal(p,s)等數(shù)據(jù)類型,只不過在運算或保存時會轉(zhuǎn)成對應的五種數(shù)據(jù)類型。在Android系統(tǒng),為我們提供了一個名為SQLiteOpenHelper的類,該類用于對數(shù)據(jù)庫版本進行管理,該類是一個抽象類,必須繼承它才能使用。為了實現(xiàn)對數(shù)據(jù)庫版本進行管理,SQLiteOpenHelper類有兩種重要的方法,分別是onCreate(SQLiteDatabasedb)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。在項目的實現(xiàn)過程中:、修改和刪除。 XML界面設計在本系統(tǒng)的軟件設計開發(fā)過程中,xml的布局是最先開始的。Android的界面[1],需要寫在res/layout的xml里面,一般情況下一個xml對應一個界面。做android的界面有點像寫html(連注釋代碼的方式都一樣),要先給android定框架,然后再在框架里面放控件,android提供了幾種框架,AbsoluteLayout,LinearLayout,RelativeLayout,TableLayout,FrameLayout,FrameLayout:里面只可以有一個控件,并且不能設計這個控件的位置,控件會放到左上角LinearLayout:里面可以放多個控件,但是一行只能放一個控件TableLayout:這個要和TableRow配合使用,很像html里面的tableAbsoluteLayout:里面可以放多個控件,并且可以自己定義控件的x,y的位置RelativeLayout:里面可以放多個控件,不過控件的位置都是相對位置(界面的布局好像還可以直接引用一些view,如ScrollView等)框架的xml如下:android:id=@+id/widget36a
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1