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

正文內(nèi)容

畢業(yè)論文-基于android的五子棋游戲設(shè)計(jì)與實(shí)現(xiàn)-在線瀏覽

2024-07-30 21:09本頁面
  

【正文】 到很大的提升,這為 Android 平臺(tái)上開發(fā)游戲提供了堅(jiān)強(qiáng)的后盾 ]1[ 。憑借其便于攜帶、溝通迅捷、功能多樣、私密性強(qiáng)等獨(dú)有優(yōu)勢,手機(jī)已經(jīng)成為普通民眾不可替代的隨身工具。手機(jī)游戲是手機(jī)的一種高附加值操作軟件,游戲編程是手機(jī)軟件編程的重要組成,同時(shí)也持續(xù)推動(dòng)手機(jī)軟件技術(shù)升級(jí)進(jìn)步。五子棋起源于中國古代的傳統(tǒng)黑白棋種之一,現(xiàn)代五子棋日 文稱之為“連珠”,英譯為 Renju,英文稱之為“ Gobang”或“ FIR”( Five in a Row 的縮寫),中文亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。 現(xiàn)在人們壓力日益增大,需要?jiǎng)谝萁Y(jié)合才能獲得更高的工作效率,工作之余的娛樂對(duì)每一個(gè)人來說都是必不可少的。在經(jīng)過不斷發(fā)展后,五子棋已經(jīng)成為棋盤娛樂的一個(gè)重要的 組成部分,它能夠增強(qiáng)思維能力、開發(fā)智力,是人們休閑娛樂的不錯(cuò)選擇?,F(xiàn)在的五子棋游戲軟件基本上可以分為兩類:一類是網(wǎng)絡(luò)五子 3 棋游戲軟件,另一類是單機(jī)版五子棋游戲軟件。為了滿足手機(jī)人群的需求,本文設(shè)計(jì)了這款手機(jī)版的五子棋游戲軟件,可以供人們閑暇時(shí)間隨時(shí)隨地地進(jìn)行娛樂,提高自己的五子棋水平,實(shí)用性強(qiáng) ]5[ 。 游戲 是我 們?nèi)粘I畹囊粋€(gè) 必不可少 的娛樂項(xiàng)目,也帶動(dòng)了游戲相關(guān)產(chǎn)業(yè)市場的發(fā)展。 但 隨著新技術(shù)的發(fā)展和 我 們生活水平 質(zhì)量 的提高,手機(jī)開始逐漸 變?yōu)?普及, 因?yàn)?手機(jī) 是非常 小巧便捷 的 , 而且 方便的特性成為 我 們 日常生活中 必備通訊工具。現(xiàn)在的手機(jī)的一個(gè)特性就是它們還是網(wǎng)絡(luò)計(jì)算機(jī),能夠高速發(fā)送和接收數(shù)字?jǐn)?shù)據(jù)。所以這樣的網(wǎng)絡(luò)游戲也可以在手機(jī)上實(shí)現(xiàn)。短信游戲是通過玩家和游戲服務(wù)商通過短信中的文字的內(nèi)容來交流,達(dá)到進(jìn)行游戲的目的的一種文字游戲。但是短信游戲卻是兼容性最好的手機(jī)游戲之一。圖形類游戲更接近我們常說的 “電視游戲” ,玩家通過動(dòng)畫的形式來發(fā)展情節(jié)進(jìn)行游戲。因此廣受玩家們的歡迎。由于這種游戲的所有數(shù)據(jù)都是預(yù)先固化在手機(jī)芯片中的,因此這種游戲 是 無法進(jìn)行任何修改 的 。手機(jī)在 網(wǎng)絡(luò)游戲行業(yè)在多年的技術(shù)經(jīng)驗(yàn)與運(yùn)營經(jīng)驗(yàn)的積累與總結(jié) 之 后, 到了 2021 年迫不及待的需要?jiǎng)?chuàng)新出新的游戲模式 和嶄 新的運(yùn)營模式來推動(dòng) 手機(jī)游戲 市場的爆發(fā) 和發(fā)展。 應(yīng)該 可以說它 是 與 PC 網(wǎng)絡(luò)游戲完全 的 脫離開 了 ,而 且充分發(fā)揮 了 自身的優(yōu)勢 手機(jī)終端 。 本題目是基于 Android 平臺(tái)開發(fā)的一個(gè)小型的程序。其實(shí)手機(jī)是我們生活中不可缺少的工具,這些小游戲可以帶給我們快樂和放松我們的心情。 課題研究現(xiàn)狀及前景 在我們的生活中有許多的游戲,但是不同的游戲,它也會(huì)給玩家?guī)聿煌母惺芎蜕罾砟睢S螒蚱脚_(tái)是經(jīng)過從游戲機(jī)到電視游戲,然 后從到 pc 游戲,到手機(jī)游戲,中間經(jīng)歷了很多的技術(shù)的更新和變革。而基于手機(jī)平臺(tái)的游戲也就擁有的市場空間是巨大的,隨著 3G的開通和應(yīng)用,手機(jī)游戲必然會(huì)迎來新的一輪游戲熱潮 現(xiàn)在的手機(jī)的 已經(jīng)不是以往那種傳統(tǒng)意義上的手機(jī)了,稱之為智能機(jī)再合適不過了 ,它不僅具備打電話發(fā)短信等傳統(tǒng)功能而且對(duì)于計(jì)算機(jī)可以完成的大部分工作也可以完全勝任。所以網(wǎng)絡(luò)游戲也 是完全 可以在手機(jī)上實(shí)現(xiàn) 的 。 應(yīng)該 可以說它 是 與 PC 網(wǎng)絡(luò)游戲完全 的 脫離開 了 , 而且充分發(fā)揮 了 自身的優(yōu)勢。本次設(shè)計(jì)是基于 Android 平臺(tái)開發(fā)的一個(gè)小型的五子棋游戲程序。 也真是由于上文所述的各種優(yōu)勢,導(dǎo)致手機(jī)五子棋游戲被越來越多的人研究學(xué)習(xí),可以說程序雖小但五味俱全,作為入門學(xué)習(xí)是再合適不過的了。 3 Android 開發(fā)環(huán)境 本章將主要介紹如何構(gòu)建 Android 開發(fā)環(huán)境,包括獲取 Android SDK、 Eclipse 以及進(jìn)行 Android Eclipse 插件設(shè)置等。首先 右 鍵點(diǎn)擊 我的電腦 屬性 高級(jí) 系統(tǒng)設(shè)置 ,點(diǎn)擊下面的環(huán)境變量,在下面的“ 系統(tǒng)變量 ” 處選擇新建 , 在變量名處輸入 JAVA_HOME 在 變量值 輸入 JDK路徑, 確定后再新建一個(gè)變 量名為 Classpath, 變量值為 %JAVA_HOME%/lib/。 最后點(diǎn)擊確定按鈕即可 ]4[ 。 5 圖 31 JDK 環(huán)境變量設(shè)置 Android 開發(fā)插件的安裝 打開 Eclipse, 在菜單欄上選擇 helpInstall New SoftWare 在彈出的界面上選擇 add,將彈出如下界面,如圖 32 所示。 安裝 android 開發(fā)插件后,重啟 eclipse。選擇你的 android SDK 解壓后的目錄,選錯(cuò)了就會(huì)報(bào)錯(cuò),這個(gè)是升級(jí) 工具,可以進(jìn)行手動(dòng)選擇。 6 圖 33 SDK 的配置 AVD 的創(chuàng)建 新建 AVD(android virtual device)和配置 SDK 差不多,進(jìn)入 android sdk and avd manager,選中 Vi rtual Devices 點(diǎn)擊 New 按鈕,如圖 34 所示。 游戲布局 畫盤線 以手工畫圖方式講明白棋盤的座標(biāo)計(jì)算方法: 1 取得屏幕寬高; 2 計(jì)算出第一根線 7 與左邊和上邊的距離; 3 推算其他線條計(jì)算方法。 for (int i = 0。 i++) {//豎線 (new Line(xOffset+i*POINT_SIZE, yOffset, xOffset+i*POINT_SIZE, yOffset+maxY*POINT_SIZE))。 i = maxY。 } //在 ondraw 方法畫出所有棋盤線 for (Line line : lines) { (, , , , paint)。 Drawable drawable = () 2 將圖片畫到 Bitmap(內(nèi)存緩沖區(qū))的過程 //為指定顏色對(duì)應(yīng)的圖片創(chuàng)建 bitmap 對(duì)象并放入到數(shù)組中 public void fillPointArrays(int color,Drawable drawable) { //創(chuàng)建 Bitmap 內(nèi)存緩沖區(qū)(申請(qǐng)內(nèi)存空間) Bitmap bitmap = (POINT_SIZE, POINT_SIZE, )。 //設(shè)置資源畫的范圍大小 (0, 0, POINT_SIZE, POINT_SIZE)。 //把緩存區(qū)引用存進(jìn)數(shù)組中(注意將下標(biāo)定義以顏 色命名的常量) bitmaps[color] = bitmap。 在觸摸處畫棋子 通過 onTouchEvent 方法獲得觸摸位置座標(biāo) ,以此座標(biāo)創(chuàng)建一個(gè)棋子,觸發(fā) onDraw 方法,把剛才的棋子畫出來 public boolean onTouchEvent(MotionEvent event) { Point point = newPoint((), ())。 } newPoint 方法將此座標(biāo)調(diào)整到對(duì)應(yīng)的棋位上(以手工畫圖的方式確定棋子四周的范圍的計(jì)算方 ) private Point newPoint(Float x, Float y){ //是否在棋盤線以外 boolean isOutsideChessboard = true。 for (int i = 0。 i++) { if (((i1) * POINT_SIZE + xOffset + POINT_SIZE/2) = x amp。 x (i * POINT_SIZE + xOffset + POINT_SIZE/2)) { (i)。 break。 } //重置標(biāo)志 isOutsideChessboard = true。 i = maxY。amp。 9 //找到縱座標(biāo),也不在棋盤線外 isOutsideChessboard = false。 } } //縱標(biāo)在棋盤線外 if(isOutsideChessboard){ return null。 } 人人對(duì)戰(zhàn) 設(shè)置標(biāo)記 whoRun 表示應(yīng)該輪到誰下棋, 1為玩家 1下, 2 為玩家 2 下, 1表示玩家正在下 //默認(rèn)第一個(gè)玩家先行 private int whoRun = 1。 } //是否輪到人類玩家下子 private boolean isPlayer1Run(){ return whoRun==1。 } private void setPlayer2Run(){ whoRun = 2。 } //是否正在下某一步棋過程中,主是電腦下棋時(shí)需要較長的計(jì)算時(shí)間,這期間一定不可以再響應(yīng)觸摸事件 private boolean isProcessing() { return whoRun == 1。 } //是否正在處理一步棋的過程中 if(isProcessing()){ return true。 return true。 }else if(isPlayer2Run()){//第二玩家下棋 player2Run(event)。 11 if(point==null){//在棋盤外 return 。 ((),point)。 //判斷第一個(gè)玩家是否已經(jīng)贏了 if(!()){//我還沒有贏 if(player2==puter){//如果第二玩家是電腦 //10 豪秒后才給玩家 2下棋 (10)。 } }else{ //否則,提示游戲結(jié)束 setMode(PLAYER_TWO_LOST)。 if(point==null){ return 。 ((),point)。 //判斷我是否贏了 12 if(!()){//我還沒有贏 setPlayer1Run()。 } } } 實(shí)現(xiàn)判斷輸贏的方法 private final Point temp = new Point(0, 0)。 } //只計(jì)算從最后一步棋子帶來的變化 Point point = (()1)。 int x=(),y=()。 while (((()1)) amp。 ()=0 amp。 count5) { count ++。 } (x).setY(y)。amp。amp。 } if(count=5){ return true。 (x).setY(y)。amp。 } if(count=5){ return true。 while (((()+1)) amp。 ()maxY amp。 count5) { count ++。 } //正斜向 / count =1。 while (((()1).setY(()+1)) amp。 ()=0 amp。 ()maxY) { count ++。 } (x).setY(y)。amp。amp。amp。 14 } if(count=5){ return true。 (x).setY(y)。amp。amp。 } if(count=5){ return true。 while (((()+1).setY(()+1)) amp。 ()maxX amp。 ()maxY amp。 count5) { count ++。 } return false。 if(currentMode==PLAYER_TWO_LOST){ //提示玩家 2輸了 ()。 }else if(currentMode==RUNNING){ 15 (null)。 }else if(currentMode==PLAYER_ONE_LOST){ //提示玩家 1輸了 ()。 } } 人機(jī)對(duì)戰(zhàn) 輪到電腦下棋時(shí),電腦先取出一個(gè)空白棋位(一個(gè) Point 對(duì)象),以此棋位為起點(diǎn)計(jì)算四個(gè)方向能形成多少步連續(xù)的棋子(即假設(shè)性下棋) 此為第一次計(jì)算。 //連續(xù)數(shù) int count。 //方
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1