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

正文內(nèi)容

基于android平臺(tái)的中國(guó)象棋設(shè)計(jì)與實(shí)現(xiàn)碩士學(xué)位論文-wenkub

2023-07-09 11:47:21 本頁(yè)面
 

【正文】 卻是造成導(dǎo)致了只要有一點(diǎn)兒開(kāi)發(fā)經(jīng)驗(yàn)的人都能寫(xiě)應(yīng)用,于是 Android 的應(yīng)用商店中出現(xiàn)了大量的低質(zhì)量軟件,比如隨便弄幾段 mp3 就可以成為一個(gè)鈴聲軟件,隨便打包幾張圖片就可以作為一個(gè)欣賞軟件。這樣便導(dǎo)致 Android 的開(kāi)發(fā)者在開(kāi)發(fā)游戲時(shí),考慮的問(wèn)題就更多,比如不同硬件架構(gòu)上 CPU/GPU 的兼容性,不同版本系統(tǒng)功能上的兼顧性等等。 手機(jī)網(wǎng)絡(luò)游戲發(fā)展趨勢(shì) 手機(jī)單機(jī)游戲營(yíng)收規(guī)模繼續(xù)保 持不斷的增長(zhǎng)態(tài)勢(shì),主要促進(jìn)原因是手機(jī)單機(jī)游電子科技大學(xué)碩士學(xué)位論文 8 戲包月服務(wù)的快速發(fā)展 , 手機(jī)網(wǎng)絡(luò)游戲增長(zhǎng)緩慢的原因主要是受限于基礎(chǔ)市場(chǎng)環(huán)境和游戲周期的影響 , 除了 Java 游戲以外,越來(lái)越多的手機(jī)游戲開(kāi)發(fā)者轉(zhuǎn)向基于Android 平臺(tái)的手機(jī)游戲開(kāi)發(fā), Android 手機(jī)游戲市場(chǎng)發(fā)展前景廣闊 [9]。 第二, 對(duì)中國(guó)象棋需求分析及概要設(shè)計(jì)進(jìn)行了詳細(xì) 闡述,并對(duì)系統(tǒng)靜態(tài)模型設(shè)計(jì)和系統(tǒng)各個(gè)模塊進(jìn)行了詳細(xì)的描述 和分析。 首先概述課題研究的背景,介紹了 手機(jī)網(wǎng)絡(luò)游戲的國(guó)內(nèi)外現(xiàn)狀 ,對(duì)比分析了手機(jī)網(wǎng)絡(luò)游戲與 PC 游戲差異 ,并列舉 了 Android 的不足, 最后對(duì) 手機(jī)網(wǎng)絡(luò)游戲發(fā)展趨勢(shì) 作了 簡(jiǎn)要介紹。 首先主要簡(jiǎn)要計(jì)算機(jī)博弈的基本思想,然后對(duì)開(kāi)發(fā)中國(guó)象棋所使用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了詳細(xì)分析,最后對(duì)中國(guó)象棋計(jì)算機(jī)博弈中常用的算法進(jìn)行了簡(jiǎn)要介紹。對(duì)中國(guó)象棋數(shù)據(jù)包結(jié)構(gòu)進(jìn)行了詳細(xì)闡述,然后對(duì)中國(guó)象棋 網(wǎng)絡(luò)對(duì)戰(zhàn) 的網(wǎng)絡(luò) 通信 部分 及 其 部署 進(jìn)行了深入分析,并對(duì)服務(wù)器端使用的技術(shù)和資源分配策略作了簡(jiǎn)單闡述,最后對(duì)簡(jiǎn)要簡(jiǎn)紹了本課題所設(shè)計(jì)的游戲的開(kāi)發(fā)環(huán)境和運(yùn)行平臺(tái)。 電子科技大學(xué)碩士學(xué)位論文 10 第 二 章 Android 游戲開(kāi)發(fā)關(guān)鍵技術(shù) Android 一詞的本義是指 ―機(jī)器人 ‖,同時(shí)也是 Google 于 20xx 年 11 月 5 日宣布的基于 Linux 平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)的名稱, Android 平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件這幾個(gè)部分組成,被開(kāi)發(fā)商稱為是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件 , 目前,最新版本為 Android Gingerbread 和 Android Honeyb[8]。 兩者之間通過(guò)由ServiceConnection 和 AIDL 連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。 View 的構(gòu)造函數(shù)不需要在 Activity 中調(diào)用,但是 Displayable 是必不可少的,在 Activity 中, Android 的 View 類的顯示很大程度上是從 XML 中讀取的,要通過(guò) findViewById()來(lái)從 XML 中取得 View。 Bionic 是 Android 改良 libc 之后的版本。 電子科技大學(xué)碩士學(xué)位論文 12 Android 采用 OpenCORE 作為基礎(chǔ)多媒體框架。 20xx 年 Skia公司被 Google收購(gòu), 20xx年初, Skia GL源碼被公開(kāi),目前 Skia 也是 Google Chrome 的圖形引擎。 Android 的中間層大多都是用 Java 來(lái)實(shí)現(xiàn) 的,同時(shí)采用了特殊的 Dalvik 虛擬機(jī)。 ( 3)硬件抽像層 (Hardware Abstraction Layer) Android 的硬件抽像層( 簡(jiǎn)稱 HAL)是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。 HAL 里包含了許多的 stub。 Android 又以以 Skia 取代 Cairo、bionic 取代 Glibc、 再以 opencore 取代 FFmpeg 等等。 目前 Android 的 Linux kernel 控制包括存儲(chǔ)器管理( Memory Management,簡(jiǎn)稱 MM),網(wǎng)絡(luò)堆棧( Network Stack),安全( Security),驅(qū)動(dòng)程序模型( Driver Model),程序管理( Process Management)等。在游戲的時(shí)候需要使用大量的美工資源圖片來(lái)構(gòu)成,因此單純地使用 Android 提供的 Layout方式來(lái)實(shí)現(xiàn)布局是非常受限制。 游戲開(kāi)發(fā)同樣遵 循 MVC 模式。其基本思想為: ( 1)將原本繼承于 View 的 ―畫(huà)布 ‖單獨(dú)抽離出來(lái)做成一個(gè) UIManager,UIManager 只負(fù)責(zé)管理每一個(gè) UI,其本身不包含繪圖、邏輯處理等代碼,它更像是一個(gè)容器,裝有很多 UI 在里面,因此有了一種 ―層 ‖的概念。避免一大堆代碼都寫(xiě)在 ―畫(huà)布 ‖上,必須通過(guò) case 來(lái)判斷游戲狀態(tài)的傳統(tǒng)方式。如果是團(tuán)隊(duì)開(kāi)發(fā),就可以按功能模塊分工,減 少相互間的干擾。因?yàn)?Android UI 操作并不是線程安全的,并且這些操作必須在 UI 線程中執(zhí)行。下面我們分別來(lái)學(xué)習(xí)各種存儲(chǔ)操作來(lái)解決這些疑問(wèn)。 ( 2) 文件存儲(chǔ) 文件存儲(chǔ)是通過(guò) java 語(yǔ)言中的輸入輸出流來(lái)對(duì)文件進(jìn)行操作的,然而在Android 中文件是屬于一個(gè)應(yīng)用程序所私有的,這樣一個(gè)應(yīng)用程序便無(wú)法讀寫(xiě)其 他應(yīng)用程序的文件。它是一個(gè)輕量級(jí)嵌入式數(shù)據(jù)庫(kù),支持 SQL 語(yǔ)法,它可以處理一些數(shù)據(jù)關(guān)系復(fù)雜, 需要長(zhǎng)期記錄的應(yīng)用第二章 Android 游戲開(kāi)發(fā)關(guān)鍵技術(shù) 15 項(xiàng)目。 Android 的應(yīng)用程序完成數(shù)據(jù)的共享可以通過(guò)實(shí)現(xiàn) ContentProvider 的接口來(lái)完成,利用接口將應(yīng)用程序中私有的數(shù)據(jù)暴露提供其他應(yīng)用程序來(lái)使用。 Android 網(wǎng)絡(luò)通信 Socket 通信模型 Socket 通信模型向下兼容同時(shí)與協(xié)議無(wú)關(guān),其通信能力可以使用任何底層 傳輸協(xié)議提供,來(lái)為上層應(yīng)用程序完成網(wǎng)絡(luò)數(shù)據(jù)通訊,而不關(guān)心底層網(wǎng)絡(luò)鏈路的通信情況,真正的實(shí)現(xiàn)了底層網(wǎng)絡(luò)通信對(duì)應(yīng)用程序的透明特性。常用的Socket 類型主要有兩種:數(shù)據(jù)報(bào)式 Socket( SOCK_DGRAM)和流式 Socket( SOCK_STREAM)。 電子科技大學(xué)碩士學(xué)位論文 16 Android 網(wǎng)絡(luò)通信基礎(chǔ) Android 除了界面設(shè)計(jì)和強(qiáng)大的數(shù)據(jù)管理功能出色的外,其在網(wǎng)絡(luò)通信方面的應(yīng)用也十分優(yōu)秀。而Socket 則是 TCP 客戶端 的 API,它在網(wǎng)絡(luò)中的主要作用通常用于將套接字((SocketAddress)) 連接到遠(yuǎn)程主機(jī)。 ( 2) Apache 接口: Apache HttpClient 是一個(gè)開(kāi)源項(xiàng)目, .* 有靈活性不足的缺點(diǎn),該接口也正彌補(bǔ)了該缺點(diǎn),為客戶端的 HTTP 的編程提供高效、最新、功能豐富的工具包支持。 ( 3) Android 網(wǎng)絡(luò)接口: .*包實(shí)際上是一個(gè) HTTP 編程接口,它主要通過(guò)對(duì) Apache 中 HttpClient 的封裝來(lái)實(shí)現(xiàn)的,同時(shí)還提供了 HTTP 連接池管理以及 HTTP 請(qǐng)求隊(duì)列管理,從而提高了并發(fā)請(qǐng)求情況下的處理效率,此外,還有網(wǎng)絡(luò)訪問(wèn)的 Socket、網(wǎng)絡(luò)狀態(tài)監(jiān)聽(tīng)等接口、常用的 URL 類以及有關(guān) WiFi 相關(guān)的類等。 計(jì)算機(jī)博弈的核心思想是對(duì)博弈樹(shù)搜索過(guò)程和對(duì)博弈樹(shù)節(jié)點(diǎn)的估值過(guò)程的結(jié)合。 博弈算法的主要任務(wù)就是對(duì)博弈樹(shù)進(jìn)行搜索并找出對(duì)當(dāng)前局面來(lái)講決定出下一步最佳走位。 第三章 計(jì)算機(jī)博弈實(shí)現(xiàn) 19 圖 31 博弈樹(shù)示意圖 因?yàn)樵摬┺乃惴ú荒芡瑫r(shí)也沒(méi)有必要去搜索整棵博弈樹(shù)的所有節(jié)點(diǎn),對(duì)于一些已經(jīng)確定為不佳的走法可以將以它為根節(jié)點(diǎn)的子樹(shù)剪掉 , 搜索的深度只需要在一定深度范圍內(nèi)對(duì)局面進(jìn)行評(píng)價(jià)就已經(jīng)足夠了,而沒(méi)有必要深入到分出勝負(fù)的棋局 ,只有搜索空間縮小到一定程度,搜索才可以真正的進(jìn)行 , 當(dāng)搜索進(jìn)行到一定深度,用局面評(píng)價(jià)機(jī)制來(lái)評(píng)價(jià)棋局,按照極大極小的原則選出最優(yōu),依次網(wǎng)上推,便可給出這一局面的父親節(jié)點(diǎn)的價(jià)值評(píng) 價(jià),然后再繼續(xù)向上推,一直到根節(jié)點(diǎn),最優(yōu)走步就是這樣一步一步的搜索出來(lái)的 [1718]。之所以要進(jìn)行極大極小搜索,主要是因?yàn)椴┺牡碾p方共同目的是贏得對(duì)方,他們的目的正好相反,對(duì)一方有利的局面恰好對(duì)另一方是不利的,所以博弈的一方總是 希望下一步的走法是子節(jié)點(diǎn)中取值最大者,而另一方則剛好相反。該博弈樹(shù)的根節(jié)點(diǎn)是當(dāng)前時(shí)刻的 棋盤局面,它的子節(jié)點(diǎn)是假設(shè)再走一步棋以后的各種棋局,子節(jié)點(diǎn)的子節(jié)點(diǎn)是從子節(jié)點(diǎn)的棋盤局面再走一步棋的各種棋盤局面,以此類推,構(gòu)造整棵博弈樹(shù),直到可以分出勝負(fù)或和棋的局面。 電子科技大學(xué)碩士學(xué)位論文 18 第 三 章 計(jì)算機(jī)博弈實(shí)現(xiàn) 中國(guó)象棋計(jì)算機(jī)博弈程序主要由六個(gè)部分組成,分別是開(kāi)局庫(kù)、殘局庫(kù)、象棋的數(shù)據(jù)結(jié)構(gòu)、招法生成、 搜索 引擎以及評(píng)估函數(shù) , 計(jì)算機(jī)博弈的研究非常廣泛并且還很深入 , 有人設(shè)想過(guò)利用計(jì)算機(jī)智能來(lái)實(shí)現(xiàn)計(jì)算機(jī)與人的對(duì)戰(zhàn) 早在上世紀(jì)五十年代 , 國(guó)內(nèi)外許多知名學(xué)者和知名科研機(jī)構(gòu)都曾經(jīng)涉足這方面的研究,歷經(jīng)半個(gè)多世紀(jì),到目前為止已經(jīng)取得了許多驚人的成就 , 1997 年 IBM 的 ―深藍(lán) ‖戰(zhàn)勝了國(guó)際象棋世界冠軍卡斯帕羅夫,驚動(dòng)了世界 , 同樣計(jì)算機(jī)博弈在中國(guó)象棋方面也有了很深入的研究 [9]。早期的 Android 曾同時(shí)包括 Commons HttpClient ( .*) 和 HttpComponents ( .* ),不過(guò)當(dāng)前版本 () 中開(kāi)發(fā)者只能使用后者,也就是說(shuō)類似以下的一些類: 使用這部分接口的基本操作與 .* 基本類似。 MulticastSocket 在處理多播組時(shí)使用,它是 DatagramSocket 的子類。當(dāng)前Android 平臺(tái)可以使用網(wǎng)絡(luò)接口有 3 種,分別是: .*(Android 網(wǎng)絡(luò)接口 )、.*(標(biāo)準(zhǔn) Java 接口 )和 (Apache 接口 )。數(shù)據(jù)包以獨(dú)立包形式發(fā)送,不提供無(wú)錯(cuò)保證,數(shù)據(jù)可能丟失或重復(fù),并且接收順序混亂。 Socket 接口設(shè)計(jì)者最先是將接口放在 Unix操作系統(tǒng)里面的, Socket 是一種文件描述符,網(wǎng)絡(luò)的 Socket 數(shù)據(jù)傳輸是一種特殊的 I/O。 ( 5) 網(wǎng)絡(luò)存儲(chǔ) 通過(guò)網(wǎng)絡(luò)資源來(lái)存儲(chǔ)和獲得存儲(chǔ)空間進(jìn)行數(shù)據(jù)存儲(chǔ)。 ( 4) ContentProvider ContentProvider 在所有應(yīng)用程序之間數(shù)據(jù)存儲(chǔ)和檢索中起到一個(gè)連接作用,其主要作用就是使得各個(gè)應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)共享。在使用文件用于存儲(chǔ)數(shù)據(jù)時(shí),如果使用絕對(duì) PATH 來(lái)存儲(chǔ)文件,那么在其他應(yīng)用程序中一樣不能通過(guò)這個(gè)絕對(duì) PATH 來(lái)訪問(wèn)和操作該文件。 SharedPreferencesy 主要是通過(guò)鍵盤值對(duì)來(lái)存儲(chǔ)簡(jiǎn)單數(shù)據(jù),可以使用 SharedPreferencesy 的 get 方法來(lái)獲取鍵盤值數(shù)據(jù)的內(nèi)容,同時(shí)也可以通過(guò) SharedPreferencesy 的 put 方法來(lái)實(shí)現(xiàn)鍵值數(shù)據(jù)的存儲(chǔ)。 Android 數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)存儲(chǔ)是所有的應(yīng)用程序最基本的問(wèn)題,每一個(gè)軟件都必須解決這一問(wèn)題,數(shù)據(jù)必須以某種特定的方式保存,不會(huì)被丟失,同時(shí)還能夠簡(jiǎn)便、有效地使用和更新處理。比如在 RPG 游戲中,打開(kāi)了角色背包,如果這時(shí)想要返回游戲,只需要將 UIManager最上層的 UI 從 ArrayList 中 remove 即可,當(dāng)需要再次顯示時(shí),可以 new 一個(gè)出來(lái)put 進(jìn) UIManager。當(dāng)游戲需要顯示某個(gè) UI 的時(shí)候,我們只需要將這個(gè) UI put進(jìn) UIManager的容器中,由 UIManager 來(lái)處理這個(gè) UI 相應(yīng)的邏輯 。讓其實(shí)現(xiàn)類去重寫(xiě)繪圖、邏輯處理、按鍵事件處理、觸碰處 理等等方法。 J2ME 的游戲都是以一種 ―狀態(tài)機(jī) ‖的形式來(lái)寫(xiě)的,嵌套許多 CASE 語(yǔ)句,整體代碼非常混亂,代碼可維護(hù)性也不強(qiáng)。通過(guò) View 管理UI,繪制 UI 與處理 UI event,通過(guò) XML 描述定義,也可以在代碼中生成。 Repo 是 Android 用來(lái)輔助 Git 工作的一個(gè)工具。 第二章 Android 游戲開(kāi)發(fā)關(guān)鍵技術(shù) 13 bionic/libc/kernel/ 并非標(biāo)準(zhǔn)的 kernel header files。 ( 4)編程語(yǔ)言 Android 操作平臺(tái)是運(yùn)行在 Linux kernel 之上的,但它并不是 GNU/Linux。 HAL stub 是一種代理的概念, stub 是以 *.so 檔的形式存在的。 Dalvik 虛擬機(jī)可以存在很多個(gè)實(shí)例 , 每個(gè) Android 應(yīng)用程序都用一個(gè)自屬的Dalvik 虛擬機(jī)來(lái)運(yùn)行,讓系統(tǒng)在運(yùn)行程序時(shí)可達(dá)到優(yōu)化。該數(shù)據(jù)庫(kù)被分為共用數(shù)據(jù)庫(kù)和私用數(shù)據(jù)庫(kù)兩種。 skia 作為 Android 使用的核心圖形引擎,搭配 OpenGL/ES。 Surface flinger 是就將 2D或 3D 的內(nèi)容顯示到屏幕上。同時(shí) Image 等同于 J2ME 的BitMap。 View 等同于 J2ME 的 Displayable,程序人員可以通過(guò) View 類與 ―XML layout‖檔將 UI放置在視窗上, Android 的版本可以利用 View 打造出所謂的 Widgets,其實(shí) Widget 只是 View 的一種,所以可以使用 xml 來(lái)設(shè)計(jì) layout, HTC 的 Android Hero 手機(jī)即含有大量的 widget。 圖 21 Android 系統(tǒng)架構(gòu) 第二章 Android 游戲開(kāi)發(fā)關(guān)鍵技術(shù) 11 20xx 年末數(shù)據(jù)顯示,才剛剛推出兩年的 Android 操作系統(tǒng)現(xiàn)已超越稱霸十年的諾基亞( Nokia) Symbian OS 系統(tǒng), Android 系統(tǒng)主要手機(jī)廠商主 要有三星( SAMSUNG)、宏達(dá)電子( HTC)、摩托羅拉( MOTOROLA)、 LG、 Sony Ericsson、魅族 M9 等,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1