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

基于Socket的藏族七方棋的設計與實現

2018-10-25 11:06:56公保杰安見才讓
計算機時代 2018年9期

公保杰 安見才讓

摘 要: 七方棋是藏區廣為流傳的傳統棋類游戲,是藏族文化寶庫中一顆璀璨的明珠。隨著信息時代到來,許多傳統游戲被引入到網絡中,成為人們主要的娛樂方式。采用C#開發了具有網絡對弈功能的藏族七方棋游戲軟件,該軟件具有網絡對弈、網絡聊天、悔棋、觀戰、保存棋局等功能。經過局域網測試,對弈規則準確,軟件運行穩定,基本滿足對弈要求。網絡對弈的實現對藏棋的普及,發展和傳承和具有積極意義。

關鍵詞: 藏棋; 方棋; 七方棋; 棋類游戲

中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2018)09-28-03

Abstract: Tibetan seven-square chess is a popular Tibetan traditional board game, it is a shining pearl in the treasure-house of Tibetan culture. With the rapid development of computer and the Internet, many traditional games were introduced into the network, and become the main form of entertainment. In this paper, c# is used to develop the software of Tibetan seven-square chess network game, the software has the functions of single-player game, network game, network chat, back moves, watching and so on. The implementation of Internet version of the Tibetan seven-square chess is of positive significance to the popularization, development and inheritance of Tibetan chess.

Key words: Tibetan chess; square chess; seven-square chess; board game

0 引言

藏族七方棋具有藏族獨特的內涵和民族文化特征,深受藏族人民的喜愛。隨著計算機網絡時代的到來,各種游戲以新形式呈現在大眾的視線,極大提高了用戶的體驗,但藏棋的信息化、網絡化形式緩慢,雖然有部分文獻探討了藏棋的計算機應用研究,但具有網絡對弈功能的寥寥無幾,藏族七方棋更是幾近于無[1]。本文通過實地考察,研究了藏族七方棋的歷史與對弈規則,并開發了藏族七方棋網絡對弈軟件,通過大量測試軟件能夠正常運行,但是在通信可靠性和用戶體驗方面有待進一步提高。

1 國內方棋棋種的介紹

方棋在我國有幾百年的歷史,它幾乎遍布西部各省,它雖規則簡單,但形式變化很快,攻守雙方的實力總在變化之中。所以經常下棋的人經驗多,就容易獲勝,實屬易學難精的優秀棋種[2]。國內方棋主要分布在青海、寧夏、新疆等,但棋型和規則上大有不同。棋盤主要以14*14、7*8、7*7為主流[3],如圖1所示。

藏族七方棋是流傳于藏區的對弈棋類,其對弈規則與上述地區的方棋有所差異,是藏族先輩們對西北地區方棋的改良,繼承了方棋行棋規則的核心,同時融入了藏民族的其他棋種的不同行棋特點和本民族的文化習俗,是藏民族文化開放、智慧的展現[4]。

2 藏族七方棋對弈規則

棋盤以7*7縱橫線組成,共四十九個棋點。先手方25枚棋子,后手方24枚,以兩色區分敵我。對弈過程分為布局、開局、戰斗三個階段。

2.1 布局

布局開始時黑棋先下一子,然后白棋下一子,對弈雙方依次將己子放入空棋點,棋子只能放置在線與線的交叉點上,將手上的棋子放完才開始行子。布棋開始時雙方盡可能成方,成方就是相鄰四子圍成正方形[6],與此同時也要阻止對方成方布局。

2.2 開局

雙方布局完成之后,雙方根據布局過程中成方或成槍的個數按以下情況提取一定數量的棋子。

⑴ 若在布棋結束后,雙方均未成方,則由白方先提取一子,然后由黑方提取一子,之后轉入戰斗階段。

⑵ 若兩家均布棋成方,則由先成方家先行提子,并按成方數量決定相應提子數。

⑶ 若只一家成方,則由成方家按成方數提取棋子,未成方家提取一子。

2.3 戰斗

布局和開局完成之后,便進入戰斗階段,開始移動己棋,戰斗階段包括以下三種方式。

移子:棋子向緊鄰的空交叉點移動一格。移子過程中只要形成方(四枚棋子組成一個緊鄰相連的小正方形)就可按形成方的個數任意提取對方的棋子,移子時最多能形成兩個方。當移子過程中形成槍(七枚棋子以縱、橫方向連成直線)時,則可提取對方任意兩個棋子。

跳子:有單跳和連跳兩種方式,當己方棋子的緊鄰交叉點上有一個對方的棋子,而且與對方棋子緊鄰的點是空交叉點時就可以跳過對方的這個棋子并把它吃掉。跳子過程中當滿足連續跳子條件時,可以連跳并吃掉己方行走路線上所有對方棋子。連跳時沿路線跳過的個數可按己方形式的優劣而定,也可以不跳。跳子完成后如果形成方或槍則按上述規則進行提子操作。

飛子:當一方棋子個數等于或小于七枚棋子時,棋子不受一步一格的限制,可以隨意落在空棋位處。飛子時形成方或槍則按上述規則進行提子操作。

戰斗階段是對弈雙方大顯棋力的階段,每一步都是在移子和跳子的過程中,看誰成方的速度快、成方多,獲勝的機會就越大。特別是形成褡褳陣、槍陣等贏棋陣型時對棋局的輸贏影響很大。如圖2所示。戰斗階段當一方棋子數少于等于7時,多子方未形成兩個“褡褳”陣型或贏棋陣型,多子方負,少子方贏。在對弈中一方棋子數達到3時,多子方勝,少子方負。

3 Socket網絡通信及傳輸格式

網絡對弈時數據的通信和傳輸格式是前期開發的重要工作,本軟件采Socket進行網絡通信,Socket是TCP/IP網絡環境里進行開發的最為通用的API[5]。

3.1 網絡通信過程

采用Socket對本軟件開發時,服務器端和客戶端使用Socket的方法略有不同。服務器端Socket的主要任務是端口的綁定、建立TCP連接、對端口的監聽,接受來自客戶端的連接請求并建立連接、收發數據等。而客戶端則向服務器端提出請求,服務器端接受請求后就可以進行數據的收發。

3.2 數據傳輸格式

在兩人對弈過程中,通過Socket進行通信時,雙方接受和發送數據時應該規定好統一的傳輸格式,本軟件規定的傳輸格式是:“操作符”+“房間號”+“角色號”+“內容”。

4 軟件的設計與實現

根據藏族七方棋的規則及網絡對弈的需求分析,軟件的總體設計包括客戶端和服務器端。服務器端主要任務是對弈的客戶端的連接及收發數據,并在游戲開始之前設置客戶端環境參數,比如:房間數和人數的設定。客戶端則主要負責棋盤、棋子的繪制及棋子操作,并和服務器端進行實時數據通信。如圖3所示。

4.1 棋盤表示

七方棋的棋盤設計采用C#中的GDI進行繪圖,并定義m_Board[7,7]的二維數組表示棋盤中的棋子的狀態。同時m_Board[7,7]數組指向表示棋子類型和位置等相關信息的Chess結構體。

Public struct Chess

{

int Empty=0, //空子

int Black=1, //黑子

int White=2, //白子

int posX 棋子的橫坐標

int posY 棋子的縱坐標

}

4.2 棋子的繪制

棋子的繪制是由Graphics完成的。以黑棋為例,先利用Rectangle()確定棋子的大小,然后用FillEllipse()方法填充一個實心圓。代碼如下:

rect.X=Convert.ToInt32(margin_left+i*gap-chessSize);

rect.Y=Convert.ToInt32(margin_top+j*gap-chessSize);

rect.Width=Convert.ToInt32(chessSize*2);

rect.Height=Convert.ToInt32(chessSize*2);

g.FillEllipse(Brushes.Black, rect);

5 軟件測試

軟件在局域網環境下進行了大量測試,在測試中,雖然剛開始出現了一些問題,比如:網絡延遲、角色不同步、規則之間的沖突等問題,但經過不斷的修改和調試,該軟件已滿足網絡對弈的要求,實現規則正確。如圖4所示。

6 結束語

隨著信息技術飛速發展,許多藏族民間游戲未跟上時代的步伐,逐漸被后人遺忘,所以藏族棋類游戲的信息化和網絡化,對藏棋文化的傳承和保護起到至關重要的作用。本軟件是基于網絡的對弈軟件,用戶通過網絡可以遠程進行對弈,提高了用戶體驗。軟件對新手提供了藏族方棋下棋規則和觀戰模式,方便新手快速入門。通過測試軟件運行穩定,下棋規則準確,達到了預期的效果。下一步工作就是對軟件進一步完善的同時根據對弈后保存的棋譜開展藏族方棋人機博弈方面的研究,讓藏族棋類游戲以全新的形象展現在大眾面前。

參考文獻(References):

[1] GENG Dui. On the discovery of Tibetan Chess (Mimang)and related traditional Tibetan chesses[J]. Journal of Tibetuniversity: Chinese edition,2003.18(3):44-48

[2] LIU Qiang. The status and promotion value oftraditionalTibetan chess[J].Contemporary sports technology,2012.2(27):83-84

[3] LI Xiali,WU Licheng,LI Yongji.Tibetan JIU computergame research based on chess form[J].CAAI Transactions on Intelligent Systems,2018.

[4] 劉強.藏棋“久棋”源考[J].西藏研究,2017.12(6):105-109

[5] 仁增多杰,安見才讓.“褡褳”藏棋的設計與實現[J].信息與電腦(理論版),2014.8:106-107

[6] 郭曉倡,郭江平.遠程圍棋對弈軟件的設計與開發[J].電腦編程技巧與維護,2010:26-28

主站蜘蛛池模板: 久久国产成人精品国产成人亚洲| 国产又黄又硬又粗| 在线亚洲小视频| 国产精品久久自在自线观看| 免费国产黄线在线观看| 真实国产乱子伦高清| 波多野结衣一区二区三区四区视频| 国产精品夜夜嗨视频免费视频| 亚洲资源在线视频| 国产成人成人一区二区| 国产肉感大码AV无码| 一级毛片免费的| 国产成人综合久久精品下载| 一区二区三区成人| 中文字幕中文字字幕码一二区| 日本不卡在线播放| 天天综合天天综合| 黄色不卡视频| 激情国产精品一区| 狠狠躁天天躁夜夜躁婷婷| 九色91在线视频| 国产最新无码专区在线| 亚洲免费毛片| 伦精品一区二区三区视频| 亚洲天堂在线视频| 在线视频一区二区三区不卡| 亚洲无码视频一区二区三区| 午夜日韩久久影院| 国产一级毛片yw| 欧美日韩中文字幕在线| 91极品美女高潮叫床在线观看| 99在线视频网站| 久久中文字幕2021精品| 亚洲高清无在码在线无弹窗| 欧美视频二区| 又大又硬又爽免费视频| 粉嫩国产白浆在线观看| 免费国产黄线在线观看| 亚洲天堂精品在线| 国内精自视频品线一二区| 国产麻豆另类AV| 手机精品福利在线观看| 欧美成人一级| 一级一级特黄女人精品毛片| 国产国语一级毛片在线视频| 久久久国产精品免费视频| 国产91透明丝袜美腿在线| 九色免费视频| 亚洲国产精品日韩av专区| 三级毛片在线播放| 亚洲精品天堂在线观看| 激情爆乳一区二区| 欧美日韩一区二区三区四区在线观看 | 91视频99| 伊人激情综合网| 国产亚洲美日韩AV中文字幕无码成人| 日韩少妇激情一区二区| 中文字幕 欧美日韩| 极品尤物av美乳在线观看| 国内自拍久第一页| 国产高潮流白浆视频| 中文字幕在线看视频一区二区三区| 欧美不卡在线视频| 欧美一道本| 亚洲av无码专区久久蜜芽| 日韩在线2020专区| 国产精品亚洲va在线观看| 黄色福利在线| 国产无码在线调教| 青青草原国产av福利网站| 中文字幕无码电影| 国产午夜看片| 亚洲国产精品久久久久秋霞影院| 在线观看免费人成视频色快速| 亚洲成在人线av品善网好看| 日本精品一在线观看视频| 亚洲精品欧美日韩在线| 欧美特黄一免在线观看| 久久婷婷五月综合97色| 久久一色本道亚洲| 亚洲成人网在线观看| 成人精品区|