999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的五子棋游戲的算法分析

2017-09-10 09:01:31鄒元杰
商情 2017年31期

鄒元杰

【摘要】五子棋起源于中國古代的傳統(tǒng)黑白棋種之一,它不僅能增強思維能力 提高智力,而且富含哲理,有助于修身養(yǎng)性。本文主要闡述以eclipse為開發(fā)工具, 基于智能手機Android設(shè)計一個五子棋游戲,并對其中相關(guān)算法進行研究。

【關(guān)鍵詞】Android 五子棋 算法

一、Android開發(fā)環(huán)境介紹

Android的上層應(yīng)用程序是使用的Java語言開發(fā),同時還需要基于Dalvik虛擬機。所以,Google公司推薦使用主流的Java去繼承開發(fā)環(huán)境Eclipse。不過只有Eclipse還是遠遠不夠的,因為是使用Java語言進行開發(fā),所以這部分還應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的應(yīng)用程序開發(fā)和Java開發(fā)有較大區(qū)別的,所以還需要有Google提供的Android SDK。在Eclipse上安裝一個AVD的虛擬機也是必要的。同時,還需要在Eclipse安裝ADT,使得在有更新程序的時候可以能夠為Android開發(fā)提供開發(fā)工具的升級或者變更,也是Eclipse下開發(fā)工具的升級下載的工具。

二、Android應(yīng)用程序組件

Android的一個主要特點是,一個應(yīng)用程序可以利用其他應(yīng)用程序的元素(假設(shè)這些應(yīng)用程序允許的話)。例如,如果你的應(yīng)用程序需要顯示一個圖像的滾動列表,且其他應(yīng)用程序已經(jīng)開發(fā)了一個合適的滾動條并可以提供給別的應(yīng)用程序用,你可以調(diào)用這個滾動條來工作,而不用自己開發(fā)一個。你的應(yīng)用程序不用并入其他應(yīng)用程序的代碼或鏈接到它。相反,當(dāng)需求產(chǎn)生時它只是啟動其他應(yīng)用程序塊。

對于這個工作,當(dāng)應(yīng)用程序的任何部分被請求時,系統(tǒng)必須能夠啟動一個應(yīng)用程序的進程,并實例化該部分的Java對象。因此,不像其他大多數(shù)系統(tǒng)的應(yīng)用程序,Android應(yīng)用程序沒有一個單一的入口點(例如,沒有main()函數(shù))。相反,系統(tǒng)能夠?qū)嵗瓦\行需要幾個必要的組件。有四種類型的組件:活動(Activities)、服務(wù)(Services)、廣播接收者(Broadcast receivers)、內(nèi)容提供者(Content providers)。

然而,并不是所有的應(yīng)用程序都必須包含上面的四個部分,你的應(yīng)用程序可以由上面的一個或幾個來組建。當(dāng)你決定使用以上哪些組件來構(gòu)建Android應(yīng)用程序時,你應(yīng)該將它們列在AndroidManifest.xml文件中,在這個文件中你可以聲明應(yīng)用程序組件以及它們的特性和要求。

三、設(shè)計思路

此游戲主要是采用Android的View框架編寫,部分框架運用Android中的其他組件。主要運用了算法來實現(xiàn)對棋局的分析,棋盤輸贏的判定。

UI方面:此游戲當(dāng)進入游戲的界面時,調(diào)用的是一個用相對布局-AbsoluteLayout的XML布局文件。其中包括了一個IamgeView和4個Button.分別實現(xiàn)了不同的功能。第一個Button是進入新游戲,點擊按鈕進入新游戲,來選擇對手。第二個Button是幫助,用了一個TextView來說明怎樣來進行游戲。第三個Button是游戲的關(guān)于,用了一個AlertDialog來介紹了一下游戲的這個游戲的好處。第四個Button是游戲的退出按鈕。在游戲中,用畫線來布滿了整個的手機屏幕,在上面用了TextView來進行了文字的說明和提示。

四、相關(guān)的算法研究

關(guān)于盤面情況的表示,首先得到屏幕的大小,然后根據(jù)所畫棋子的大小來確定下一條棋盤的畫線。產(chǎn)生棋盤上所有的線。分析規(guī)則中,判斷各個四個方向的棋子:在某個方向(八個中的一個)可下多少棋子,判斷是否還能下到滿5個棋子,最核心的應(yīng)該是勝負(fù)判斷,實際上,是根據(jù)當(dāng)前最后一個落子的情況來判斷勝負(fù)的。需要從四個位置判斷,以該子為出發(fā)點的水平,豎直和兩條分別為 45度角和135度角的線,目的是看在這四個方向是否最后落子的一方構(gòu)成連續(xù)五個的棋子,如果是的話,就表示該盤棋局已經(jīng)分出勝負(fù)。部分核心算法實現(xiàn)如下:

開始分析,掃描所有空白點,形成第一次分析結(jié)果;

第二次分析,分析第一次形成的結(jié)果,第一次分析結(jié)果會把一步棋在四個方向上可形成的結(jié)果生成最多四個FirstAnalysisResult對象(敵我各四);

第三次分析,雙方都不可以制造活4,找雙活3棋子,不行就找半活4,再不行就找單活3,雙活2;endprint

主站蜘蛛池模板: 最新痴汉在线无码AV| 久久99热66这里只有精品一| 婷婷五月在线视频| 在线观看免费国产| 91久久青青草原精品国产| 日韩无码真实干出血视频| 国产成人禁片在线观看| 欧美不卡在线视频| 国产精品任我爽爆在线播放6080| 666精品国产精品亚洲| 亚洲无码高清免费视频亚洲| 成人综合在线观看| 亚洲欧洲日产国码无码av喷潮| 免费国产好深啊好涨好硬视频| 99国产在线视频| 午夜综合网| 亚洲国产清纯| 欧美劲爆第一页| 制服丝袜国产精品| 婷婷综合在线观看丁香| 成人综合网址| 亚洲va欧美va国产综合下载| 欧美成人午夜影院| 国产打屁股免费区网站| 成人午夜网址| 狂欢视频在线观看不卡| 91欧美在线| 99久久国产自偷自偷免费一区| 亚洲二区视频| 午夜毛片免费观看视频 | 国产丝袜无码精品| 国产欧美日韩视频一区二区三区| 中字无码av在线电影| 精品视频一区二区观看| 国产91视频免费| 成人午夜免费视频| 欧美性久久久久| 国产精品白浆在线播放| 天堂av综合网| 欧美午夜理伦三级在线观看 | 免费观看国产小粉嫩喷水| 亚洲人成高清| 广东一级毛片| 国产99视频在线| 毛片基地视频| 激情影院内射美女| 色婷婷久久| 免费无码AV片在线观看国产| 一本大道香蕉中文日本不卡高清二区 | 亚洲全网成人资源在线观看| 青草视频免费在线观看| 久久精品一品道久久精品| 97影院午夜在线观看视频| 在线人成精品免费视频| 欧美成人午夜在线全部免费| 国产精品无码AⅤ在线观看播放| 亚洲色图欧美在线| 欧美特黄一级大黄录像| 婷婷五月在线视频| 她的性爱视频| 国产性生大片免费观看性欧美| 99成人在线观看| 一级福利视频| 2018日日摸夜夜添狠狠躁| 日韩色图区| 国产福利在线观看精品| 91精品综合| 久久综合色播五月男人的天堂| 久久免费成人| 亚洲第一区在线| 香蕉综合在线视频91| 欧美在线视频a| 精品视频一区在线观看| 午夜老司机永久免费看片| 亚洲日韩每日更新| 美女免费精品高清毛片在线视| 国产极品美女在线| 无码久看视频| 免费在线成人网| 久久99国产综合精品女同| 精品国产自| 国产精品自在拍首页视频8|