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

正文內(nèi)容

android版的中國(guó)象棋人機(jī)對(duì)弈游戲設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-wenkub

2023-07-10 05:59:05 本頁(yè)面
 

【正文】 /初始化并切換到游戲界面 } else if( == 3){//MenuView傳來(lái)的消息,切換到HelpView initHelpView()。//是否播放聲音 MediaPlayer startSound。import 。import 。第七部分:游戲結(jié)論通過(guò)一個(gè)星期左右的時(shí)間,終于把跟著部分網(wǎng)絡(luò)的游戲做了出來(lái),從來(lái)沒有接觸過(guò) android平臺(tái),但是通過(guò)學(xué)習(xí),把平時(shí)所有的積累的方法和知識(shí)都用了上去,雖然并沒有自己平常所使用的熟悉的基于C++語(yǔ)言來(lái)寫程序,但是我想對(duì)于計(jì)算機(jī)編程來(lái)說(shuō),都是相通的,畢竟是使用的是方法與理論,我們學(xué)習(xí)的是方法,而不是單單的一門語(yǔ)言,對(duì)于計(jì)算機(jī)的日益更新速度,我們不可能學(xué)精通于每一個(gè)方法和函數(shù),我們更需要的邏輯思路和解決方法的能力并能用于實(shí)際的實(shí)踐。 圖第六部分:游戲框架的簡(jiǎn)介 按照程序運(yùn)行的順序介紹各個(gè)類的作用以及整體的運(yùn)行框架,步驟如下:?jiǎn)?dòng)游戲,首先被創(chuàng)建的是MyDoChessActivity,而在MyDoChessActivity中首先將用戶顯示成歡迎界面MyWeleView.在顯示歡迎界面的同時(shí),啟動(dòng)MyWeleViewThread線程生成界面動(dòng)畫當(dāng)玩家單擊“菜單”按鈕時(shí)進(jìn)入界面MyMenuView,在菜單界面會(huì)根據(jù)玩家不同的選擇執(zhí)行不同的操作。如圖所示 圖*車的走法:如圖所示“車”,它只能走直線,且中間不能有任何棋子,設(shè)計(jì)時(shí)分為兩種情況來(lái)考慮,一種是縱向行走;一種是橫向行走。一種是棋子沒過(guò)河界,另一種是棋子過(guò)了河界。判斷是否橫向走兩個(gè)棋點(diǎn),縱向走一個(gè)棋點(diǎn),接著來(lái)判斷馬腿是否被其它棋子壓著。首先判斷棋子是否走田字格,而且不能過(guò)河,接著再用判斷象腿是否被其它棋子壓著。這樣只有一種情況來(lái)考慮,即縱向走一個(gè)棋點(diǎn),橫向走一個(gè)棋點(diǎn)。 *帥和士的走法:“帥”,它只能在“九宮”中行走,而且每次只能橫著或者縱著行走一棋點(diǎn)。幫助界面類MyHelpView該類為幫助界面的實(shí)現(xiàn)類。 圖6在游戲過(guò)程中,玩家可以隨時(shí)通過(guò)單擊“退出”按鈕返回到游戲主菜單。 圖2(3)在菜單按鈕界面,可以通過(guò)“打開聲音”/“關(guān)閉聲音”菜單來(lái)控制游戲聲音的開關(guān),單擊“幫助”菜單可以進(jìn)入幫助界面,如圖3所示。運(yùn)行的目標(biāo)平臺(tái) (3)操作方式 該游戲擬采用屏幕事件進(jìn)行操作,玩家可以鼠標(biāo)來(lái)單擊屏幕完成對(duì)游戲進(jìn)行控制,游戲中部分的功能可以使用鍵盤操作來(lái)完成。第二部分:中國(guó)象棋的需求分析該游戲是改編網(wǎng)絡(luò)版中國(guó)象棋,使其更加滿足玩家的的要求。在這個(gè)游戲的設(shè)計(jì)中,將牽涉到圖形界面的顯示與更新,并且在這個(gè)游戲的開發(fā)中還會(huì)應(yīng)用類的繼承機(jī)制以及一些設(shè)計(jì)模式。在設(shè)計(jì)中國(guó)象棋軟件過(guò)程中,國(guó)際象棋軟件有很多值得借鑒的成功經(jīng)驗(yàn)和優(yōu)秀的思想。作 者 簽 名:       日  期:        指導(dǎo)教師簽名:        日  期:        使用授權(quán)說(shuō)明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。畢業(yè)設(shè)計(jì)Android版的中國(guó)象棋人機(jī)對(duì)弈游戲設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。作者簽名:        日  期:         摘 要象棋水平的發(fā)展是需要靠信息技術(shù)來(lái)推動(dòng)的,國(guó)際象棋有兩個(gè)很好的范例,一個(gè)是象棋棋譜編輯和對(duì)弈程序的公共平臺(tái)——WinBoard平臺(tái),另一個(gè)是商業(yè)的國(guó)際象棋數(shù)據(jù)庫(kù)和對(duì)弈軟件——ChessBase,他們?yōu)閲?guó)際象棋愛好者和研究者提供了極大的便利。例如B. Moreland,微軟(Microsoft)的程序設(shè)計(jì)師,業(yè)余從事國(guó)際象棋引擎Ferret的開發(fā),他的一系列關(guān)于國(guó)際象棋程序設(shè)計(jì)的文章非常值得其他棋類程序設(shè)計(jì)人員借鑒。該游戲主要研究基于android技術(shù)的中國(guó)象棋游戲的分析與設(shè)計(jì),對(duì)中國(guó)象棋游戲特殊的行棋規(guī)則給予了細(xì)致的分析與理解,設(shè)計(jì)出了一種實(shí)時(shí)可行的行棋規(guī)則,從移動(dòng)范圍、移動(dòng)方向等方面重新描述行棋規(guī)則,基于android技術(shù)通過(guò)計(jì)算機(jī)模擬實(shí)現(xiàn)了中國(guó)象棋特殊的行棋規(guī)則算法,設(shè)計(jì)出了一種可行的方法,使每個(gè)棋子的行棋路線都嚴(yán)格遵循本身的行棋規(guī)則,游戲的實(shí)戰(zhàn)對(duì)弈得以實(shí)現(xiàn),通過(guò)實(shí)驗(yàn)運(yùn)行,證明這種限定棋子行棋路線的方法是可行的,并得到了預(yù)期的目標(biāo)。主要用于android手機(jī)的平臺(tái)。2)android平臺(tái)下游戲的準(zhǔn)備工作相關(guān)的素材。 圖3(4)而在菜單界面單擊“開始游戲”菜單將進(jìn)入游戲界面,如圖4所示。第五部分:游戲的架構(gòu)共有類 Activity的實(shí)現(xiàn)類MyDoChessActivity,該類是通過(guò)擴(kuò)展基類Activity得到的,是整個(gè)游戲的控制器,也是整個(gè)游戲程序的入口。菜單界面類MyMenuView該類為菜單界面的實(shí)現(xiàn)類,負(fù)責(zé)繪制菜單界面以及菜單界面的屏幕進(jìn)行監(jiān)聽。首先,判斷棋子是否是在“九宮”里行走,接著判斷棋子是否是橫向或縱向只走一個(gè)棋點(diǎn)。如果棋子士符合以上的走棋規(guī)則,則可以走動(dòng),否則棋子強(qiáng)制放回原處。如果棋子象走動(dòng)符合以上的走棋規(guī)則,則可以走動(dòng),否則棋子強(qiáng)制放回原處??v向走“日”同理。首先判斷棋子是否出屆,然后設(shè)定棋子沒過(guò)河界,接著設(shè)定棋子在沒過(guò)河界的情況下只能向前行走一個(gè)棋點(diǎn);然后設(shè)定棋子過(guò)了河界,緊接著設(shè)定棋子在過(guò)了河界的情況下只能向前、向左、向右行走一個(gè)棋點(diǎn)。判斷棋子是否縱向行走,接著再用判斷判斷中間有沒別的棋子。當(dāng)玩家單擊“幫助”菜單時(shí),將進(jìn)入幫助界面MyHelpView.而當(dāng)玩家單擊“開始游戲”菜單按鈕時(shí),進(jìn)入的將是游戲界面MyGameView。第八部分:游戲展望該游戲?qū)崿F(xiàn)了基本的象棋的走法與判斷簡(jiǎn)單的邏輯,但是并沒有真正實(shí)現(xiàn)相當(dāng)智能的走法,我想這個(gè)也是基于算法的問(wèn)題,我想需要更加嚴(yán)密的算法,以后通過(guò)不斷的學(xué)習(xí),通過(guò)別人的算法,能夠?qū)懗鲆恍┍容^理想的屬于自己的想法。import 。import 。//開始和菜單時(shí)的音樂(lè) MediaPlayer gamesound。//初始化并切換到幫助界面 } } }。 startSound = (this, )。//設(shè)置游戲聲音循環(huán)播放 ()。 //切換到游戲界面 } public void initMenuView(){//初始化菜單界面 if(startSound != null){//停止 ()。//切換View } public void initHelpView(){//初始化幫助界面 (new MyHelpView(this,this))。import 。import 。//內(nèi)部刷幀的線程 private MyWeleViewThread moveThread。//菜單按鈕 int logo2X = 100。 = myDoChessActivity。//初始化圖片移動(dòng)線程 initBitmap()。 } public void onDraw(Canvas canvas){//自己寫的繪制方法,并非重寫的 //畫的內(nèi)容是z軸的,后畫的會(huì)覆蓋前面畫的 ()。//繪制menu } //從寫surfaceChanged方法 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } public void surfaceCreated(SurfaceHolder holder) {//創(chuàng)建時(shí)啟動(dòng)相應(yīng)進(jìn)程 (true)。//啟動(dòng)線程 } public void surfaceDestroyed(SurfaceHolder holder) {//摧毀時(shí)釋放相應(yīng)進(jìn)程 boolean retry = true。//等待線程結(jié)束 ()。 ()200+() amp。 ()355+()){//點(diǎn)擊菜單按鈕 (1)。//SurfaceHolder引用 private MyWeleView weleView。//得到WeleView引用 } public void setFlag(boolean flag) {//設(shè)置循環(huán)標(biāo)記位 = flag。 synchronized () {//同步 (c)。//打印堆棧信息 } } } }}(3)MyWeleViewThread類package 。//得到WeleView的引用 } public void setFlag(boolean flag){//設(shè)置循環(huán)標(biāo)志位 = flag。//更改圖片的坐標(biāo) if(15){ = 15。//睡眠指定毫秒數(shù) }catch(Exception e){//捕獲異常 ()。import 。import 。public class MyGameView extends SurfaceView implements { private TutorialThread thread。//棋盤 Bitmap qizibackground。//確定按鈕 Bitmap vs。//退出按鈕圖片 Bitmap sound2。//下棋聲音 Paint paint。 //當(dāng)然選中的棋子 int startI, startJ。//紅子的圖片數(shù)組 MyGuiZe myGuiZe。 public MyGameView(Context context,MyDoChessActivity myDoChessActivity) {//構(gòu)造器 super(context)。//加載下棋的聲音 = new TutorialThread(getHolder(), this)。//初始化規(guī)則類 } public void init(){//初始化方法 paint = new Paint()。//失敗的圖片 ok = (getResources(), )。//向左的指針 exit2 = (getResources(), )。//黑帥 heiZi[1] = (getResources(), )。//黑士 heiZi[5] = (getResources(), )。//紅車 hongZi[2] = (getResources(), )。//紅相 hongZi[6] = (getResources(), )。//清背景 (qiPan, 10, 10, null)。 jqizi[i].length。 } else if(qizi[i][j] == 4){//為黑炮時(shí) (heiZi[3], 12+j*34, 13+i*35, paint)。 } else if(qizi[i][j] == 8){//為紅將時(shí) (hongZi[0], 12+j*34, 13+i*35, paint)。 } else if(qizi[i][j] == 12){//為紅仕時(shí) (hongZi[4], 12+j*34, 13+i*35, paint)。//繪制VS背景圖 if(caiPan == true){//當(dāng)該玩家走棋時(shí),即紅方走棋 (right, 145, 400, paint)。//繪制 } (exit2, 250, 440, paint)。//繪制失敗界面 (ok, 113, 236, paint)。amp。//聲音取反 if(){//當(dāng)需要放聲音時(shí) if( != null){//gamesound不為空時(shí) if(!()){//當(dāng)前沒有音樂(lè)時(shí) ()。()250+() amp。 ()440+()){//按下了退出按鈕 (1)。amp。//發(fā)送消息,切換到MenuView } } else if(status == 2){//失敗后 if(()135amp。 ()245 amp。amp。amp。 j = pos[1]。//標(biāo)記當(dāng)前有選中的棋子 startI = i。 startJ = j。 if(canMove){//如果可以移動(dòng)過(guò)去 caiPan = false。//移動(dòng)棋子 qizi[startI][startJ] = 0。 endJ = 1。//播放下棋聲音
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1