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

正文內(nèi)容

基于android的中國象棋游戲的設(shè)計本科畢業(yè)設(shè)計論文-資料下載頁

2025-06-28 00:31本頁面
  

【正文】 (event)。}Guize類是對這些規(guī)則進行封裝,當玩家要走某步棋的時候需要通過該類判斷是否可走。該類是象棋的規(guī)則類,其他類通過調(diào)用 canMove方法給出起始位置與結(jié)束置,其他類通過調(diào)用 searchAGoodMove方法得到最當然棋局最好的走法,而其中的 allPossibleMoves方法得到的是當前棋局的所有的走法。游戲的策劃是游戲開發(fā)過和中的最重要的一個開發(fā)環(huán)節(jié),只有寫好了游戲策劃才能繼續(xù)游戲開發(fā),游戲策劃是游戲開發(fā)的一個流程,把策劃寫好了就可以近照策劃一步步進行開發(fā),可見策劃的重要性。到此本游戲的功能已經(jīng)基本開發(fā)完成,但是仍有很多方面需要改進和優(yōu)化。 棋子走法流程圖25 圖 54 棋盤位置流程圖如圖 54是棋盤形狀圖,通過經(jīng) X,Y 軸坐標的判斷棋盤的大小,棋盤的落子位置先畫出棋盤橫線,再計算棋盤的豎線,橫線和豎線交叉的位置就是棋子的落點。這樣整個棋盤形狀大小就出來了。棋盤的位置就是通過這種坐標實現(xiàn)的。游戲開始時各個棋子(車、馬、炮、象、士,將、帥、兵、卒)它們的開始的位置都確定了,通過坐標,機器可以準確的將棋子移到指定的位置,人機對弈時,人點擊棋子進行移動時,機器通過坐標計算同時進行移動到人指定的位置,通過坐標可以計算出棋盤每個落子點的位置,再根據(jù)規(guī)則類計算棋子落點是否符合象棋規(guī)則,如果不符合,就不能進行移動,還要注意特別的捌腿事件。符合象棋走法規(guī)則也不一定能下,還要注意象、馬捌腿,象心等關(guān)鍵地方。沒有違反這些規(guī)則才能下到指定的地點。26圖 55 棋子移動流程圖如圖 55為人行走時棋子移動流程圖,本游戲為人機對弈的象棋游戲,本圖是人走的流程圖,人行走是用鼠鍵點擊的方式,先用鼠標點擊要走的棋子獲取棋子對象,按下鼠標拖到終點位置,由機器檢測通坐標確定終點位置,再把棋子由起點位置移動到終點位置。下一步由機器行走。27圖 56 獲取棋子流程圖如圖 56是人或者機器移動棋子時,獲取棋子對象,使棋盤釋放棋子對象,再將釋放傳給棋盤,釋放響應(yīng)事件。圖 57 規(guī)則流程圖如圖 57是象棋規(guī)則圖, ,第一步檢查覆蓋區(qū)域是否包含棋點,沒有放回原處,如果有再判斷該點上否有棋子,如果沒有棋子并且符合象棋規(guī)則就放在棋點上,不符合規(guī)則放回原點,如果該棋點有棋子的話,再判斷兩棋子是否同一方,是同一方,該棋子放回原處,如果不同,符合規(guī)則就放到棋點上并吃掉對方的棋子,如果不符合規(guī)則放回原處。 游戲模擬運行如圖 58運行程序進入開機動畫界面,也就是游戲歡迎頁面左上角是國際象棋的標志,右邊是“中國象棋之博弈的藝術(shù)” ,還有兩張圖片和一個菜單按紐,點擊菜單進入菜單欄。這是一個登陸界面,介紹這是一個象棋游戲,便讓人知道這是一個象棋游戲,挑戰(zhàn)自己,集中你的智慧,來享受博弈的樂趣,會勾起人們想下棋的欲望,被象棋游戲吸引,而且可以單人下,在火車上休閑時都可以,特別一個人也可以下,避免傳統(tǒng)象棋游戲非要兩個人下的弊端??梢宰屓嗽谌魏螘r間任何地點都可以下棋放松、休閑。28圖 58 開機動畫界面如圖 59菜單頁面如圖所示有四個按鈕開始游戲、關(guān)閉聲音、幫助、退出游戲點擊開始游戲會進入游戲主界面,就可以實現(xiàn)人機對弈了。關(guān)閉聲音是控制聲音的播放,由關(guān)閉聲音可以切換到開機音樂,點擊幫助按鈕可以進入幫助頁面,退出游戲按鈕就是退出游戲。圖 59 菜單頁面 如圖 510是開始游戲界面,就可以開始人機對弈了,黑方是機器一方,紅方是自己這一方,用鼠標點擊方式進下棋,然后電腦自己反應(yīng)走下一步。左下角和右下角有一個指針,當指向黑方走時,機器走一步棋,當指向紅方的時候,人走一步棋。還有左右下角分別記錄了黑方紅方總共下棋的時間,聲音按鈕控制聲音的播放,退出按鈕退出游戲 。29圖 510 游戲界面 如圖 511是游戲勝利界面,顯示的是紅方勝利界面,黑方勝利界面同樣如此,只不過將紅將改為黑帥。 圖 544 勝利界面幫助頁面介紹玩法如圖 512:30圖 512 幫助界面幫助界面如圖所示,介紹中國象棋游戲的玩法,還有一過“返回”按鈕,點擊它返回菜單頁面。 改進和優(yōu)化陣營選擇:一種更人性化的設(shè)計是正式進入游戲之前,讓玩家選擇此次游戲陣營的選擇,即選擇紅方或者黑方棋子。成績的儲存與排行:該游戲中如果能夠加上游戲的排行與儲存將更人性化。估值算法的優(yōu)化: 因為本游戲側(cè)重點是 Android技術(shù)的開發(fā)應(yīng)用并非算法的介紹,所以規(guī)則中的最優(yōu)走法的方法只是從所有合法的走法中任意抽取的一個移動棋子,在正式的人機對弈中需要對所有的走法進行估值計算,取出對自己最有利的走法,可以對自行開發(fā)估計算法中的規(guī)則類的 SearchAGoodMove方法進行改進。作為結(jié)合了最具活力的 Linux一與 Java兩大開發(fā)語言優(yōu)點于一身的 Android,雖然中長期擁有光明的前景,但短期內(nèi)依然存在諸多開發(fā)的挑戰(zhàn),特別是與傳統(tǒng)的 Linux與 Java開發(fā)的兼容性還很欠缺,并且在程序安全性和多任務(wù)處理方面還存在不足,這對從業(yè)者來說需要引起足夠的重視,力爭先評估自己的開發(fā)應(yīng)用需求,再衡量 Android的優(yōu)勢和不足,然后根據(jù)自己的實際需要揚長避短。不管如何,Android 作為一款開放性嵌入式操作系統(tǒng),具有較強的自主開發(fā)延伸性,無論是硬件廠商還是軟件廠商或是系統(tǒng)集成商,都可以根據(jù)自身需要進行特色鮮明的產(chǎn)品開發(fā),并確保自己開發(fā)結(jié)果的唯一性,這恰恰適合正在不斷從中國制造向中國創(chuàng)造轉(zhuǎn)型中的中國電子產(chǎn)業(yè),因此,如何學好并利用好 Android這樣一款面向龐大終端消費市場的操作系統(tǒng)就顯得極為重要。316 結(jié)論 本程序設(shè)計實現(xiàn)了手機上以 Android為平臺的棋牌類游戲的開發(fā),人機對弈運行的方式由程序進行控制,具有一定的可玩性和趣味性。經(jīng)過了細心的調(diào)試和排錯解決了絕大部分的問題。這款游戲作為我的畢業(yè)設(shè)計,是本人目前做過的最有意義的程序。大學四年做過很多課程設(shè)計,大多規(guī)模很小。在數(shù)據(jù)庫、各種應(yīng)用軟件和游戲中,我仍覺得對游戲的設(shè)計有極大的熱情。因為其各個模塊間的聯(lián)系十分緊密,代碼重復(fù)執(zhí)行率高,當經(jīng)過無數(shù)次的調(diào)試、修改后,能最終看到成品,感到無比自豪。學習 Android的困難遠遠超出了預(yù)期的想象,在設(shè)計初期,為了解決人機對弈問題花費了數(shù)天的時間。很多相關(guān)的技術(shù),如需要使用到的線程、Game 包的新功能、高級、低級圖形界面的使用、貼圖等,每一項都需要花一定的時間去掌握和熟悉。更為困難的是,Android作為一種剛出現(xiàn)僅幾年的新技術(shù),國內(nèi)的參考資料非常少,僅有的幾本也停留在簡單的介紹階段。幸運的是,互聯(lián)網(wǎng)上有那么多無私的人給了我很大的幫助。通 過 本 游 戲 的 開 發(fā) , 達 到 了 學 習 Java 技 術(shù) 和 熟 悉 軟 件 開 發(fā) 流 程 , 熟 悉 Android 應(yīng)用 程 序 開 發(fā) 流 程 的 目 的 。 Android 系 統(tǒng) 手 機 在 中 國 已 經(jīng) 火 熱 流 行 開 來 , 設(shè) 計 本 課 題 時 通過 查 閱 相 關(guān) 資 料 讓 自 己 了 解 到 了 更 多 Android 手 機 的 前 沿 信 息 , 理 清 軟 件 開 發(fā) 流 程 , 進一 步 加 固 了 對 Java 知 識 的 運 用 。32謝辭 值此論文完成之際,首先,我要對我的導師金一鳴老師表示衷心的感謝。在我的大學學習生活中和本次畢業(yè)設(shè)計中,金老師給予我的鼓勵和耐心指導,為我順利完成課題奠定了堅實的基礎(chǔ),并且給了我面對困難和解決困難的勇氣。在金老師這里,我不但獲得了豐富的專業(yè)知識和研究方法,還從他身上學到了嚴謹?shù)闹螌W態(tài)度和精益求精的處事風格,使我終生受益。 感謝我的輔導員陳雯老師,四年來一直默默的為的班級導航,將對未來充滿懵懂的,慢慢引入各自的發(fā)展領(lǐng)域中,無論從生活上還是學習上都給了無微不至的關(guān)心和指導。 感謝所有教過我的大學老師,他們給我的關(guān)懷和幫助,我將永遠銘記于心。欽佩他們不僅是淵博的知識,還有高尚的道德情操,祝我所有的老師永遠平安健康快樂。 感謝我的同學,他們給予我的幫助和情誼是我一生的寶藏。感謝我的母校,給了我一個濃厚的學習氛圍,同時給了豐富的實驗資源和圖書資源。33參考文獻[1] 劉中兵 . 《Java 高手真經(jīng) 》.出版社: 電子工業(yè)出版社,2022331.[2] (美國)Savitch .《Java 程序設(shè)計現(xiàn)解決(基礎(chǔ)篇) 》. 譯者: 陳涓 社:人民郵電出版社,20221111.[3] Web 整合開發(fā)完全自學手冊[M].北京:機械工業(yè)出版社,20221.[4] 孫衛(wèi)琴, 與 Java Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)[5] Web 整合開發(fā)[M].北京:電子工業(yè)出版社,20225.[6] 技術(shù)教程(基礎(chǔ)篇)[M],北京:清華大學出版社,20222.[7](美)Marco Pistoia,Nataraj Java安全性:構(gòu)建安全的J2EE應(yīng)用[M],北京:清華大學出版社,20223.[8]張孝祥著.Java 就業(yè)培訓教程[M]. 北京:清華大學出版社,2022.[9] Android SDK 開發(fā)范例大全[M].北京:人民郵電出版社,202271.[10]E2ECloud工作室著.深入淺出 Google Android[M]. 北京:人民郵電出版社,202281.[11]. [12]楊豐盛.《android 應(yīng)用開發(fā)揭秘》.北京:機械工業(yè)出版社,202201.[13](美)威爾頓, 入門經(jīng)典(第 3版).:清華大學出版社,2022.[14]GONG LEI,ZHOU and Research of Mobile Termination Application Based on Android[J].Computer And [15]Shane Conder . Android Wireless Application Development[M].Addison.[16]Sayed Android 3[M].APRESS。NEW,2022.[17]鄭建,賀超. Android 和 Chrome的發(fā)展與未來[J].移動通信,20223.[18]張鵬. 中國企業(yè)為什么青睞 android[J]. 通信世界,20223.[19] 應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2022.[20][M].北京:水利水電出版社,2022.34[21]吳亞峰, 應(yīng)用案例開發(fā)大全[M].北京:人民郵電出版社,2022.35附錄部分重要程序(1)public void onCreate(Bundle savedInstanceState) {//重寫的onCreate (savedInstanceState)。//全屏requestWindowFeature()。getWindow().setFlags( , )。startSound = (this, )。//加載歡迎聲音(true)。//設(shè)置游戲聲音循環(huán)播放 gamesound = (this, )。//游戲過程的背景聲音(true)。//設(shè)置游戲聲音循環(huán)播放 ()。//初始化歡迎界面}(2)/** * 該類是象棋的規(guī)則類,其他類通過調(diào)用canMove 方法給出起始位置與結(jié)束位置 * 其他類通過調(diào)用searchAGoodMove方法得到最當然棋局最好的走法 * 而其中的allPossibleMoves 方法得到的是當前棋局的所有的走法 */public class GuiZe {boolean isRedGo = false。//是不是紅方走棋public boolean canMove(int[][] qizi, int fromY, int fromX, int toY, int toX){int i = 0。int j = 0。int moveChessID。//起始位置是什么棋子int targetID。//目的地是什么棋子或空地if(toX0){//當左邊出界時return false。}if(toX8){//當右邊出界時return false。}if(toY0){//當上邊出界時return false。}36if(toY9){//當下邊出界時return false。}if(fromX==toX amp。amp。 fromY==toY){//目的地與出發(fā)點相同,return false。}moveChessID = qizi[fromY][fromX]。//得到起始棋子targetID = qizi[toY][toX]。//得帶終點棋子if(isSameSide(moveChessID,targetID)){//如果是同一陣營的return false。}switch(moveChessID){case 1://黑帥if(toY2||toX3||toX5){//出了九宮格return false。}if(((fromYtoY)+(toXfromX))1){//只能走一步return false。}break。case 5://黑士if(toY2||toX3||toX5){//出了九宮格return false。}if((fromYtoY) != 1 || (toXfromX) != 1){//走斜線return false。}break。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1