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.

主站蜘蛛池模板: 日韩无码白| 亚洲国产成人综合精品2020 | 在线视频一区二区三区不卡| 在线欧美一区| 中文字幕天无码久久精品视频免费| 麻豆精品在线播放| 欧美成人看片一区二区三区 | 国产精品自在自线免费观看| 天天综合色天天综合网| 国产激爽大片在线播放| 日韩东京热无码人妻| 亚洲无码精品在线播放 | 久久中文字幕av不卡一区二区| 亚洲欧洲日产国产无码AV| 国产女同自拍视频| 亚洲经典在线中文字幕| 亚洲日本中文字幕天堂网| 国产成人综合久久精品尤物| 国产日韩av在线播放| 久草中文网| 99久久精品无码专区免费| 日韩精品专区免费无码aⅴ| 亚洲αv毛片| 天堂av综合网| 亚洲成A人V欧美综合| 天天干天天色综合网| 国产精品黄色片| 精品91在线| 久久九九热视频| 国产免费福利网站| 91国内在线观看| 国产精品无码制服丝袜| 高h视频在线| 亚洲资源站av无码网址| 国产乱论视频| 四虎影视库国产精品一区| 91蜜芽尤物福利在线观看| 欧美、日韩、国产综合一区| 国产色偷丝袜婷婷无码麻豆制服| 无码一区二区三区视频在线播放| 久久亚洲中文字幕精品一区| 新SSS无码手机在线观看| 青青青亚洲精品国产| 国产欧美日韩精品第二区| 三级欧美在线| 欧美区一区二区三| 扒开粉嫩的小缝隙喷白浆视频| 制服丝袜亚洲| 91成人精品视频| 国产无码性爱一区二区三区| 久久狠狠色噜噜狠狠狠狠97视色| 欧美精品v欧洲精品| 99久视频| 欧美成人精品高清在线下载| 久久久91人妻无码精品蜜桃HD| 99久久精品国产麻豆婷婷| 欧美a在线看| 欧美激情,国产精品| 亚洲国产成人自拍| 亚洲日韩精品综合在线一区二区 | 久久久久久午夜精品| 亚洲乱伦视频| 理论片一区| 欧美性猛交xxxx乱大交极品| 国产精品亚洲一区二区在线观看| 国产剧情一区二区| 91精品国产91欠久久久久| 国产精品99r8在线观看| 亚洲欧美在线综合图区| 三区在线视频| 国产美女视频黄a视频全免费网站| 伊人久久影视| 欧美黄色网站在线看| 日本午夜在线视频| 成人无码一区二区三区视频在线观看 | 九色免费视频| 亚洲人成人无码www| 97视频免费在线观看| 在线观看欧美精品二区| 国产无套粉嫩白浆| 亚洲日韩精品无码专区97| 毛片大全免费观看|