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

基于Android的五子棋游戲設計

2020-04-21 07:40:59黃建段志舉陳杉杉周紹景溫志雄
數字技術與應用 2020年1期

黃建 段志舉 陳杉杉 周紹景 溫志雄

摘要:本文主要闡述以面向對象的程序開發語言,Android Studio為開發工具, 基于Android平臺設計開發一個五子棋游戲。本程序中設定了黑白兩方的對戰模式,并進行輸贏方的判定。

關鍵詞:五子棋;Android;游戲開發

中圖分類號:TP317 文獻標識碼:A 文章編號:1007-9416(2020)01-0161-02

0 引言

五子棋是一種兩人對弈的純策略型棋類游戲,起源于中國古代,它容易上手,老少皆宜,是全國智力運動會競技項目之一。隨著近幾年來使用Android手機的用戶不斷增加,Android平臺游戲憑借其可玩性高、上手容易、游戲穩定、交流方便和擴展性高等特點受到更多人的喜歡[1]。本文將基于Android平臺設計一個五子棋游戲,實現黑棋玩家與白棋玩家對弈并判定輸贏。

1 應用設計分析

1.1 應用功能分析

游戲開始時,由黑子開局,將一枚棋子落在棋盤一坐標上,然后由白棋落子,如此輪流下子,直到某一方首先在棋盤的豎、橫或斜三方向上的五子連成線,則該方該局獲勝。功能劃分如圖1所示,(1)開始;(2)黑棋或白棋落子;(3)勝負判斷;(4)重玩;(5)任意一方悔棋;(6)退出游戲。

1.2 應用邏輯分析

五子棋游戲邏輯分為四個部分:黑棋下、判斷黑棋是否獲勝、白棋下、判斷白棋是否獲勝;在判斷獲勝的黑白子方法相同,所以只需完成黑棋下、白棋下、判斷獲勝三個部分。

1.3 方法設計

onTouch()負責監聽觸摸屏幕事件調用悔棋、重玩等功能,判斷玩家觸摸棋盤是否符合五子棋規則,goBack()實現悔棋功能,rePlay()清空所有棋子數據實現重玩游戲功能,checkWinner()判斷勝負。

2 應用關鍵功能實現

2.1 應用界面繪制

五子棋界面的開發主要在Activity中使用自定義View完成。在自定義View中基于Canvas重寫onDraw()呈現圖像、文字、線條等二維圖形和坐標。

2.1.1 棋盤繪制

在ChessFiveView類中,定義繪制線條的起始點x0、y0,間距D,最大行數maxRows如圖2所示,最大列數maxColx如圖3所示,復寫父類的onDraw方法,設置畫筆顏色為黑色,使用for循環調用drawLine方法即可繪制出垂直交叉的棋盤線如圖4所示。

2.1.2 棋子繪制

重寫onTouch方法監聽玩家觸摸事件,通過event即可獲取玩家手指觸摸棋盤的x、y值。根據棋盤線條的繪制規則進行運算,用對應的棋子占據該位置。使用三目運算符更換下一個棋子類型,調用postInvalidate()方法重新繪制界面,將棋子繪制在棋盤上。當使用postInvalidate()方法后,在onDraw()方法中根據二維數組行列號繪制棋子,如圖5所示。

2.2 應用功能實現

2.2.1 悔棋功能

在goBack()方法中從已下子對象數組中取出最后的一個元素lstStep.get(n-1),獲得lstStep中當前行和列的信息,將對應位置的二維數組清零chess[row][col]=0,使用postInvalidate方法重新畫圖,把最后一個元素移除lstStep.remove(n-1)。

2.2.2 重玩功能

在rePlay()方法中用for循環將chess[row][col]數組數值清零,重置棋子類型和勝負,并重新畫圖。

2.3 五子棋勝負判斷

checkWinner()中給定一個點、一個方向、一個相對坐標值,就能得到一個二維坐標。將坐標代入當前棋盤數組chess中,保存對應位置每個棋子的類型。在游戲中,每當玩家下一步棋后獲取該棋子,判斷其橫、豎、正斜、反斜4個方向是否符合贏的條件[2]。若某一方向同類型棋子大于等于5,則獲取當前棋子類型進行勝負判斷,游戲結束。

參考文獻

[1] 衛少林,衛文學.基于JavaScript的人機五子棋游戲的設計與實現[J].現代計算機(專業版),2016(25):58-62.

[2] 彭健,陳蘭蘭.基于Java語言開發五子棋游戲項目的教學設計與實踐[J].江蘇科技信息,2016(33):47-48.

主站蜘蛛池模板: 精品国产自在在线在线观看| 色天天综合| 秋霞国产在线| 成人va亚洲va欧美天堂| 国产美女视频黄a视频全免费网站| 成人无码一区二区三区视频在线观看| 国产在线拍偷自揄观看视频网站| 日韩精品欧美国产在线| 亚洲最大在线观看| 国产爽爽视频| 中文字幕欧美日韩| 久久久久久尹人网香蕉| 亚洲中文制服丝袜欧美精品| 99精品免费欧美成人小视频| 一级毛片不卡片免费观看| 欧美激情网址| 麻豆精品在线播放| 在线亚洲精品福利网址导航| 精品一区二区三区无码视频无码| a毛片在线| 999在线免费视频| 国产免费久久精品99re不卡| 国产精品理论片| 激情六月丁香婷婷四房播| 最新国产精品第1页| 亚洲国产中文欧美在线人成大黄瓜| 性欧美在线| 国产xx在线观看| 超清无码一区二区三区| 日韩精品无码免费一区二区三区 | 国内黄色精品| 一本大道香蕉中文日本不卡高清二区| 呦女亚洲一区精品| 91娇喘视频| a网站在线观看| 亚洲视频免费播放| 国产尤物jk自慰制服喷水| 色噜噜狠狠狠综合曰曰曰| 国产黑丝一区| 国产H片无码不卡在线视频| 人妻出轨无码中文一区二区| 亚洲最大福利网站| 综合久久五月天| 久久精品人人做人人爽97| 日本国产在线| 亚洲男人的天堂视频| 日韩国产亚洲一区二区在线观看 | 高清国产va日韩亚洲免费午夜电影| 色噜噜狠狠色综合网图区| 69视频国产| 国产福利一区在线| 波多野结衣久久高清免费| 国产亚洲精品97在线观看| 中国一级毛片免费观看| 国产不卡国语在线| 国产成年女人特黄特色大片免费| 国产激情无码一区二区三区免费| 国产人成午夜免费看| 亚洲成人手机在线| 国产精品嫩草影院av| 国产在线观看91精品亚瑟| 国产成人一二三| 亚洲国产成人自拍| 久久一本精品久久久ー99| 欧美成人免费午夜全| 午夜无码一区二区三区| 女人18一级毛片免费观看| 五月激情婷婷综合| 国产视频资源在线观看| 99久久免费精品特色大片| 午夜国产小视频| 伊在人亞洲香蕉精品區| 99久久99视频| 一区二区无码在线视频| 亚洲成人网在线播放| 国产精品亚洲专区一区| 91色在线观看| aⅴ免费在线观看| 国产最新无码专区在线| 99久久精品视香蕉蕉| 国产在线日本| 精品视频福利|