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

        ?

        基于Java的飛行棋的設(shè)計與實現(xiàn)

        2018-01-28 13:06:14鄭艷
        電子技術(shù)與軟件工程 2017年18期

        鄭艷

        摘要

        隨著科技的不斷發(fā)展,越來越多的人們將玩游戲作為主要的休閑方式。飛行棋作為一款經(jīng)典的小游戲,一直都很受大家的喜歡。該文章用JAVA來編寫一個簡單的飛行棋游戲。

        【關(guān)鍵詞】飛行棋 JAVA 界面設(shè)計 游戲地圖

        隨著科技的不斷發(fā)展,人們越來越喜歡電腦游戲或者手機游戲。作為經(jīng)典游戲之一的飛行棋一直深受人們的喜歡。

        相傳飛行棋是中國人的發(fā)明的,是中國玩具公司生產(chǎn)的,據(jù)說是為了紀念二戰(zhàn)時飛虎隊的卓越功勛,是pachisi游戲的變種。飛行棋棋盤上這種轉(zhuǎn)圈式的路程設(shè)計來自于空戰(zhàn)中的“拉弗伯雷圓圈”。參加編隊的飛機不但保持在一個水平面上飛行,而且可繞圓圈盤旋爬高。這樣就可以利用防御隊形進行盤旋以取得高度優(yōu)勢,伺機進行攻擊。

        飛行棋游戲開發(fā)是為了方便玩家在電腦上和其他玩家聯(lián)網(wǎng)下棋,這樣更加方便快捷。讓更多的人參與進來。

        1飛行棋規(guī)則

        棋盤上有紅黃藍綠四個顏色,表示可以有四個人進行游戲。每個玩家有4架飛機,哪個玩家的4架飛機全部飛進目的地,誰就臝得了這場游戲。

        在游戲地圖上一共有四個狀態(tài):1、正常狀態(tài);2、碰見地雷,后退6格;3、暫停,原地停止一回合;4、營運輪盤,有6種幸運設(shè)置:前進、后退、交換位置、轉(zhuǎn)移、暫停一次、獎勵一次、設(shè)置地雷、轟炸(將對方飛機炸退6格)。

        4個玩家按照事先約定好的順序扔骰子,剛開始時,玩家可以連扔三次骰子,只有扔到6點,才能啟動一架飛機。之后玩家按順序扔骰子,扔到幾點就順時針走幾步。在游戲過程中,只要飛機的最后落腳點落在了其他玩家的飛機上,就可以把該玩家的飛機請回停機場。在游戲進行過程中,扔得骰子點數(shù)為6的玩家可以繼續(xù)扔骰子,直至骰子點數(shù)不是6或者游戲結(jié)束。飛行棋在地圖上行走時,如果落在了是和自己顏色相同的格子里,可以跳到前一個和自己顏色相同的格子里。

        在游戲過程中會出現(xiàn)“迭子”現(xiàn)象,所謂“迭子”現(xiàn)象就是一方玩家的兩架及以上的飛機飛在了同一個格內(nèi),這時幾架飛機會重疊式的落在一起。這時的對方玩家的飛機不能從此飛過,如果對方玩家的飛機正好落在了此格中,則對方飛機和“迭子”飛機一起請回停機場。如果所仍的骰子點數(shù)大于到達“迭子”處所需的步數(shù),則多余步數(shù)從“迭子”處往回走剩下的格數(shù)。如果其他玩家所仍得點數(shù)為6并且他的飛機與“迭子”處的步數(shù)小于6時,此時其他玩家的飛機會停留在“迭子”處的上方,按照游戲規(guī)則,該玩家可以繼續(xù)扔骰子,然后按照扔得的點數(shù)繼續(xù)往前前進。如果棋子在準備通過虛線時有其他棋子停留在虛線和通往終點線路的交叉點時:A、如果對方是一個棋子,則將該棋子逐回基地,本方棋子繼續(xù)行進到對岸;B、如果對方是兩個棋子重疊則該棋子不能穿越虛線、必須繞行。

        2飛行棋設(shè)計思路

        2.1棋盤設(shè)計

        參照紙質(zhì)版地圖來進行電子版地圖設(shè)計。游戲界面設(shè)計盡量和紙質(zhì)版相似,這樣玩家不會覺得陌生。停機場:對應顏色的大方格就是停機場,每個玩家有4架飛機。終點:棋盤正中間的位置。每個玩家的4架飛機都飛入相應顏色的終點就贏得了游戲。骰子:正方體,六個面分別對應一個點、兩個點、三個點、四個點、五個點、六個點。扔骰子面朝上的點數(shù)就是玩家走的步數(shù)。

        2.2游戲設(shè)計

        此游戲所使用的軟件開發(fā)工具是Eclipse,所用編程語言是JAVA。主要用的是JAVA的基礎(chǔ)圖形用戶界面Swing。通過Swing可以設(shè)計游戲界面,導入繪制好的圖片,或者加入文字信息或者聲音信息等等,并且可以結(jié)合JDBC和I/O操作進行相關(guān)的數(shù)據(jù)保存。

        該游戲設(shè)計采用模塊化設(shè)計方式。由實現(xiàn)功能來進行模塊劃分,把系統(tǒng)的主要功能劃分成幾個關(guān)鍵模塊,分別加以實現(xiàn)。由頂層模塊調(diào)用它的各個子模塊來實現(xiàn)整個功能,而每個下層模塊再調(diào)用它的子模塊,以此類推。

        該飛行棋程序要實現(xiàn)四大功能:飛機起飛,迭子情況,幸運輪盤,重新開始,游戲結(jié)束。

        游戲玩家主要通過鼠標來操作,所以設(shè)置了16個對象,骰子和16架飛機,由這17個對象引發(fā)相關(guān)的操作。

        該游戲主要由玩家操作鼠標完成,所以要調(diào)用MouseEvent類。MouseEvent類是公共類。這個類里封裝了有關(guān)鼠標操作的相關(guān)事件,包括單擊鼠標事件、拖動鼠標事件等等。首先要對17個對象添加事件監(jiān)視器this.addMouseListener(this),一旦受監(jiān)視的對象有相關(guān)的操作,就會引發(fā)相關(guān)的事件響應,發(fā)送MouseEvent類的實例給鼠標監(jiān)視器事件用來幫助處理鼠標事件首先判斷是否該玩家飛機己停止前進以及游戲是否是結(jié)束或開始狀態(tài)。如果輪到玩家的飛機要落下,則首先要的到飛機落下的坐標(即鼠標單擊的坐標),然后將此坐標轉(zhuǎn)換成窗口坐標并調(diào)用相應的方法讓飛機停在該格子當中。

        JAVA編寫的程序可以在網(wǎng)絡環(huán)境下運行,主要是因為JAVA提供了兩種功能強大的網(wǎng)絡支持機制來滿足不同的要求,訪問網(wǎng)絡資源的類URL和用于通訊的類Socket。URL用來訪問Internet網(wǎng)上資源的應用,Socket用來對客戶端/服務器模式的應用以及實現(xiàn)某些特殊的協(xié)議的應用。

        客戶基于服務器之間使用的大部分通訊組件都是基于Socket接口來實現(xiàn)的。Socket是兩個程序之間進行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡通訊端點,有一個地址和一個端口號來標識。每個服務程序在提供服務時都要在一個端口進行,而想使用該服務的客戶機也必須連接該端口。Socket因為是基于傳輸層,所以它是比較原始的通訊協(xié)議機制。通過Socket的數(shù)據(jù)表現(xiàn)形式為字節(jié)流信息,因此通訊雙方要想完成某項具體的應用則必須按雙方約定的方式進行數(shù)據(jù)的格式化和解釋,它具有更強的靈活性和更廣泛的使用領(lǐng)域。

        3飛行棋游戲的實現(xiàn)和測試

        在游戲開始前必須要清理掉沒有用的數(shù)據(jù),并檢查一下有沒有錯誤的數(shù)據(jù)也一并清除,這樣做的目的是為了后面的正常運行,以免引起不必要的錯誤。

        該飛行棋游戲軟件測試主要測試隨意點擊飛機和棋盤程序的健壯性。在游戲未開始前,隨意點擊飛機和棋盤都不會引起程序的崩潰或者飛機位置的更改。然后在游戲過程當中,當扔骰子之后,只能對當前玩家的飛機進行相關(guān)的操作,別的玩家的飛機不能操作。

        4總結(jié)

        通過完成飛行棋游戲的編寫,使我更加深入的了解了系統(tǒng)架構(gòu)和設(shè)計模式的重要性。編程之前首先要最大化的,最深入的了解客戶需求,然后根據(jù)客戶的需求來完成程序功能的劃分。程序的模塊化可以更好地去添加或刪除功能。客戶的功能需求通過系統(tǒng)的架構(gòu)更加合理的組織在一起,使程序員編寫代碼更加有條理性,更加邏輯性。

        程序編寫的不足是沒有進行下一步棋的時間限制,當時是因為考慮到可以邊下棋邊聊天,重點放在了聊天的設(shè)置編程上,而忽略了下每一步棋的時間控制。還有一個不足就是沒有講悔棋放在程序中,雖然在需求分析中提到了悔棋這個操作,但是因其開銷很大,過程比較復雜,所以沒有考慮進去。

        參考文獻

        [1][美]羅林斯.[美]莫里斯著,付煜等譯.游戲架構(gòu)與設(shè)計[M].紅旗出版社,2005.

        [2]朱福喜.Java語言基礎(chǔ)教程[M].北京:清華大學出版社,2008(04).endprint

        无码国内精品人妻少妇蜜桃视频| 成年女人永久免费看片| 人妻精品无码一区二区三区| 欧美末成年videos在线观看| 久久天天爽夜夜摸| 午夜福利视频男同女同| 看黄色亚洲看黄色亚洲| 国产视频一区二区三区在线看| 亚洲国产91高清在线| 无码毛片内射白浆视频| 日韩人妻无码免费视频一区二区三区| 亚洲最大日夜无码中文字幕| 亚洲熟妇无码久久精品疯| 无码熟妇人妻AV不卡| 国产护士一区二区三区| 91超精品碰国产在线观看| 亚洲av永久无码精品漫画| 精品国产一区av天美传媒 | 日韩人妻无码中文字幕一区| 精品嫩模福利一区二区蜜臀 | 亚洲av区无码字幕中文色| 国产AV无码专区亚洲AV桃花庵| 蜜桃av噜噜噜一区二区三区| 羞羞色院99精品全部免| 女人被狂躁c到高潮视频| 色八区人妻在线视频免费| 久久亚洲黄色| 亚洲区福利视频免费看| 亚洲熟妇一区二区蜜桃在线观看| 成人自慰女黄网站免费大全| 精品麻豆国产色欲色欲色欲www| 亚洲国产成人久久综合一区77| 中国少妇和黑人做爰视频| 中文字幕一区二区中文| 免费无码av一区二区| 麻豆AⅤ无码不卡| 亚洲中文字幕诱惑第一页| 加勒比精品视频在线播放| 人人鲁人人莫人人爱精品| 色窝窝免费播放视频在线| 香蕉视频免费在线|