亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JAVA的象棋游戲設(shè)計(jì)與實(shí)現(xiàn)

        2016-03-20 02:07:13
        關(guān)鍵詞:網(wǎng)絡(luò)通信游戲設(shè)計(jì)

        蘭 偉

        (重慶科創(chuàng)職業(yè)學(xué)院 信息工程系, 重慶 永川 402160)

        棋牌對弈類游戲是玩家利用休閑時(shí)消遣的主要競技性游戲,因具有良好的娛樂性和智慧性,深受玩家喜愛。同時(shí)軟件程序員也熱衷編寫棋牌對弈類游戲,原因是棋牌對弈類游戲可以訓(xùn)練程序員面向?qū)ο笤O(shè)計(jì)能力,同時(shí)也能學(xué)習(xí)和應(yīng)用人工智能相關(guān)知識(shí)。中國象棋,是由兩人輪流走子,以“將死”或“困斃”對方將(帥)為勝的一種棋類運(yùn)動(dòng)。由于用具簡單,趣味性強(qiáng),是當(dāng)今國內(nèi)最流行棋藝活動(dòng)之一。

        Java語言是一款非常優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,因其具有極高的安全性和跨平臺(tái)性,廣泛應(yīng)用于互聯(lián)網(wǎng)、嵌入式智能終端、游戲開發(fā)等領(lǐng)域。[1]本文以Java語言為例,利用面向?qū)ο笤O(shè)計(jì)思想設(shè)計(jì)一款網(wǎng)絡(luò)對弈版的中國象棋游戲。

        一、需求分析

        (一)功能需求

        本系統(tǒng)主要需要完成網(wǎng)絡(luò)對戰(zhàn)時(shí)開始新局、走棋、認(rèn)輸、求和、悔棋、網(wǎng)絡(luò)連接設(shè)置等基本操作。

        (二)性能需求

        本系統(tǒng)完成中國象棋網(wǎng)絡(luò)對弈功能。除了滿足功能需求外,還需要考慮網(wǎng)絡(luò)質(zhì)量問題,因?yàn)榱己玫木W(wǎng)絡(luò)環(huán)境才能增加游戲樂趣。用戶對網(wǎng)絡(luò)性能要求主要體現(xiàn)連接時(shí)延、棋局同步時(shí)延和連接穩(wěn)定性方面。連接時(shí)延是指對弈雙方建立網(wǎng)格連接的平均時(shí)延,棋局同步時(shí)延是指一方玩家落子后到另一方玩家游戲界面顯示的時(shí)間差,網(wǎng)絡(luò)穩(wěn)定性是規(guī)定時(shí)間內(nèi)連接玩家之間棋局同步成功的概率。性能需求見表1。[2]

        表1 網(wǎng)絡(luò)對弈版的中國象棋性能需求

        二、核心技術(shù)

        網(wǎng)絡(luò)編程需要解決兩個(gè)問題:一個(gè)是如何在網(wǎng)絡(luò)中準(zhǔn)確定位一臺(tái)或多臺(tái)主機(jī),另一個(gè)是當(dāng)找到所需要的主機(jī)后如何進(jìn)行可靠高效的數(shù)據(jù)傳輸。Java Socket(中文翻譯成:套接字)技術(shù)就是用來解決Java網(wǎng)絡(luò)編程中主機(jī)定位和數(shù)據(jù)傳輸?shù)?,Socket實(shí)質(zhì)是雙向連通的輸入輸出流。無論是服務(wù)器端還是客戶端都可以向流中寫入和讀取信息,從而實(shí)現(xiàn)服務(wù)器與客戶端的通信功能。[3]

        三、系統(tǒng)功能設(shè)計(jì)

        本系統(tǒng)主要需要解決兩個(gè)核心問題,第一是中國象棋棋盤、棋子等各元素的抽象,即類的設(shè)計(jì);第二是對游戲友好界面的設(shè)計(jì)。

        (一)棋盤類設(shè)計(jì)

        中國象棋棋盤是一個(gè)由10條橫線和9條豎線構(gòu)成的網(wǎng)絡(luò),共90個(gè)交叉點(diǎn)。這些交叉點(diǎn)又稱為棋點(diǎn),每一個(gè)棋子只能在棋點(diǎn)上行走。為了能準(zhǔn)確記錄下棋盤的每個(gè)棋點(diǎn),可以選擇一個(gè)大小為90的數(shù)組模擬棋盤上的90個(gè)棋點(diǎn)。如圖1所示。

        圖1 中國象棋棋盤模型

        因此可以設(shè)計(jì)一個(gè)棋點(diǎn)類(ChessPoint)和一個(gè)類盤類(ChessBoard),設(shè)計(jì)如下:

        (二)棋子類設(shè)計(jì)

        中國象棋共有32顆棋子,雙方各16顆。類型有“車”、“馬”、“相/象”、“士”、“帥/將”、“炮”、“兵/士”。紅方的“帥”和黑方的“將”只是所加載的圖片不同,棋子的功能是一樣的。類似的還有“兵/士”和“相/象”。棋子另外還有所在位置、是否顯示、紅方或黑方等屬性。因此中國象棋棋子可抽象出的棋子類(ChessPiece)如下:[4]

        (三)棋子走棋規(guī)則類設(shè)計(jì)

        不同的棋子有不同的走法,即走棋規(guī)則。例如“車”的走棋規(guī)則是按水平或垂直方向無障礙行走或吃棋子。因?yàn)橹袊笃遄咂逡?guī)則較復(fù)雜,因此單獨(dú)設(shè)計(jì)一個(gè)規(guī)則類(Rule)。[5]

        (四)游戲主界面設(shè)計(jì)

        游戲主界面類ChineseChess是一個(gè)可視化的界面,因此需要繼承JFrame類。在該界面中我們通過菜單完成網(wǎng)絡(luò)設(shè)置、開始新棋局、認(rèn)輸、求和等操作。另外還要顯示棋盤及棋子,可以完成走棋操作。[6]因此,ChineseChess類設(shè)計(jì)如下:

        (五)網(wǎng)絡(luò)通信設(shè)計(jì)

        因?yàn)楸鞠到y(tǒng)為一款網(wǎng)絡(luò)對弈版的中國象棋游戲,因此需要設(shè)計(jì)網(wǎng)絡(luò)通信模塊。根據(jù)面向?qū)ο蟮木幊趟枷?,一切皆為對象,網(wǎng)絡(luò)通信模塊可以設(shè)計(jì)成一個(gè)網(wǎng)絡(luò)通信類,完成網(wǎng)絡(luò)對弈的需要。網(wǎng)絡(luò)通信類需要使用Socket技術(shù)。因網(wǎng)絡(luò)對弈需要兩臺(tái)電腦通過Internet完成對弈,因此需要輸入和輸出Socket,即服務(wù)器端和客戶端兩個(gè)方向的流實(shí)現(xiàn)數(shù)據(jù)傳輸。

        在服務(wù)器端,首先需要根據(jù)端口(port)建立一個(gè)serverSocket,然后建立一個(gè)等待客戶端的監(jiān)聽Socket,然后再各創(chuàng)建一個(gè)輸入輸出流。在客戶端需要根據(jù)服務(wù)器的IP地址和Port創(chuàng)建客戶端Socket,同樣需要各創(chuàng)建一個(gè)輸入輸出流,這樣服務(wù)器端和客戶端就可以通信了。另外網(wǎng)絡(luò)通信類中設(shè)計(jì)一個(gè)調(diào)度方法 dispatcher(String s),通過提取字符 s的信息,可以得出調(diào)用者的操作類別,包括走棋、悔棋、新游戲申請等,再根據(jù)操作類別做相應(yīng)的處理。

        四、結(jié)論

        本文在分析中國象棋走棋規(guī)則后,采用Java技術(shù)、網(wǎng)絡(luò)通信技術(shù)和面向?qū)ο蟮脑O(shè)計(jì)方法,完成了網(wǎng)絡(luò)對弈版中國象棋設(shè)計(jì),實(shí)現(xiàn)玩家通過網(wǎng)絡(luò)完成對弈功能。通過實(shí)驗(yàn)運(yùn)行,證明本次設(shè)計(jì)可行,并達(dá)到了預(yù)期效果。

        [1]Bruce Eckel.Java 編程思想[M].北京:機(jī)械工業(yè)出版社,2007:680-688.

        [2]臧利萍,程文靜,王衛(wèi)振.基于Android的中國象棋游戲的模擬[J].電腦知識(shí)與技術(shù),2014(32):7742-7743.

        [3]杜幫國.基于Java平臺(tái)的中國象棋游戲的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2013.

        [4]高偉,郭瑾,張昊.基于JAVA技術(shù)的中國象棋游戲設(shè)計(jì)與實(shí)現(xiàn)[J].大連民族學(xué)院學(xué)報(bào),2007(5):17-19.

        [5]李勇.基于移動(dòng)互聯(lián)網(wǎng)的國際象棋對弈系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011.

        [6]戴錦餛.計(jì)算機(jī)象棋[J].微計(jì)算機(jī)應(yīng)用,1994(3):5-11.

        猜你喜歡
        網(wǎng)絡(luò)通信游戲設(shè)計(jì)
        海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:48
        瞞天過?!律O(shè)計(jì)萌到家
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        數(shù)獨(dú)游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        爆笑游戲
        人妻精品久久久久中文字幕| 国产一区二区三区免费主播| 男女啪啪动态视频在线观看| 日韩在线 | 中文| 天天鲁一鲁摸一摸爽一爽| 免费毛片视频网站| 国产精品三级自产拍av| 东京热日本av在线观看| 人妻少妇偷人精品无码| 日韩无码无播放器视频| 人妻中文字幕av有码在线| 海外华人在线免费观看| 麻豆精品久久久久久中文字幕无码| 免费人成视频在线观看视频| 欧洲AV秘 无码一区二区三 | 91亚洲精品久久久中文字幕| av一区二区三区在线| 东北妇女肥胖bbwbbwbbw| 中文人妻无码一区二区三区| 亚洲综合偷拍一区二区| 久久婷婷五月综合色奶水99啪| 无码av免费一区二区三区| 国产成人久久蜜一区二区| 久久精品国产精品亚洲艾| 999国产精品999久久久久久| 日本乱子人伦在线视频| 中文字幕人妻系列一区尤物视频| 日韩一区二区三区熟女| 精品无码av一区二区三区| 二区三区视频| 亚洲av色香蕉第一区二区三区| av大全亚洲一区二区三区| 大香伊蕉国产av| 我的美艳丝袜美腿情缘| 日本精品视频一视频高清| 久久久久亚洲av无码专区网站| 久久亚洲Av无码专区| 一区二区三区精品偷拍| 亚洲精品宾馆在线精品酒店| 欧美日韩国产一区二区三区不卡 | 国产精品嫩草影院av|