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

        ?

        基于JAVA的俄羅斯方塊游戲的設(shè)計(jì)與實(shí)現(xiàn)

        2019-12-01 23:23:14劉恒重慶醫(yī)科大學(xué)附屬第二醫(yī)院
        數(shù)碼世界 2019年4期
        關(guān)鍵詞:方塊障礙物菜單

        劉恒 重慶醫(yī)科大學(xué)附屬第二醫(yī)院

        1 引言

        俄羅斯方塊是一款單機(jī)或聯(lián)機(jī)的益智小游戲。它是由俄羅斯人Alexei Pakitnov發(fā)明的。俄羅斯方塊的基本規(guī)則是利用方向鍵控制掉落小塊進(jìn)行方向移動,將它排列成一條或多條線,消除后獲得分?jǐn)?shù)。因?yàn)樗僮骱唵味謱θ说念A(yù)判能力有一定的要求,適合不同年齡段的人,所以俄羅斯方塊也是一款益智游戲。因此,運(yùn)用書本所學(xué)知識以及實(shí)際操作項(xiàng)目,編寫了俄羅斯方塊游戲,并實(shí)現(xiàn)了一些擴(kuò)展功能。

        2 需求分析

        2.1 系統(tǒng)開發(fā)環(huán)境

        目前,最普遍的是使用Java語言來開發(fā)小型游戲,并且有時可以在互聯(lián)網(wǎng)上看到一些中型游戲也是Java開發(fā)的。Java程序本身提供了大量的API鏈接庫,包括繪圖、網(wǎng)絡(luò)和多媒體,甚至是3D。因此,使用Java程序設(shè)計(jì)可以獲得相當(dāng)多的資源。

        JBuilder的可視化集成開發(fā)環(huán)境包括文本編輯器、項(xiàng)目創(chuàng)建工具、對象瀏覽器和調(diào)試器。用戶可以在集成開發(fā)環(huán)境中創(chuàng)建和開放項(xiàng)目、打開和編輯文件,并運(yùn)行和調(diào)試應(yīng)用程序??梢赃@樣說,在JBuilder中開發(fā)Java程序是具有很高的效率。

        2.2 系統(tǒng)玩法及規(guī)則

        除了基本的控制方法和規(guī)則外,游戲還增加了新的游戲規(guī)則,花樣較多,游戲也會有耐玩性,并且更加容易操作,游戲主要通過鍵盤符號進(jìn)行操作。相關(guān)的控制鍵顯示在下面的表1中。

        如表1所列,除了常規(guī)控件外,還增加了諸如空間(直接著陸)等按鈕。這些按鈕都是可以加快游戲速度的控制鍵。其他助記符和快捷鍵沒有描述。

        2.3 系統(tǒng)設(shè)計(jì)分析

        Java是一種面向?qū)ο螅∣O)編程語言,其許多優(yōu)點(diǎn)在此不作討論。從面向?qū)ο蟮母拍畛霭l(fā),該程序可以分為以下幾個對象:

        ① 方塊類型數(shù)據(jù)

        盡管塊類型的形狀不同,如下面的表3所示,它的狀態(tài)和行為是相同的。您可以使用不同于對象的繼承屬性的形狀特征來定義基本塊類(SuperBrick)。

        ② 程序運(yùn)算邏輯

        程序中的邏輯操作通常執(zhí)行數(shù)值操作和分析,如塊判斷、塊行判斷、刪除判斷、塊移動或事件響應(yīng),以及結(jié)果排序。

        ③ 繪圖

        圖紙將根據(jù)展示平臺而有所不同。例如,獨(dú)立機(jī)器和手機(jī)的顯示環(huán)境可能不一樣,或者顯示效果可能不同。例如,當(dāng)游戲風(fēng)格被修改時,可以產(chǎn)生不同的顯示效果。

        ④ 顯示平臺

        “高可移植性”是Java的一個屬性。Java應(yīng)用程序覆蓋了許多領(lǐng)域,比如移動電話、pda、獨(dú)立程序和瀏覽器,不同的平臺有不同的設(shè)置。如果顯示平臺是一個單獨(dú)的分類,它將會使主程序更加完整,并且遷移過程的更快。

        3 俄羅斯方塊游戲中核心元素

        游戲的核心元素包括三種類型:各種形狀的積木、障礙物和底部的游戲面板。游戲主要是控制面板上方塊的運(yùn)動和變化,增加和消除障礙物。

        3.1 方塊

        經(jīng)典的俄羅斯方塊游戲中方塊主要有7種類型,每一種類型又有若十種變形。所有方格均可由4 * 4網(wǎng)格表示。網(wǎng)格有兩個狀態(tài):空白和填充。對于不同的形狀,填充部分是不同的,因此,一個由16個整數(shù)元素組成的一維數(shù)組可以用來表示一個特定的形狀。當(dāng)你需要填充的時候,對應(yīng)位置的數(shù)字是1,否則位置的個數(shù)是0。

        一個二維數(shù)組用于存儲一種類型的塊。第一個維度表示第一個變量,第二個維度表示特定形狀的值。一個三維數(shù)組用于存儲所有的正方形;第一個維度表示哪個類型,第二個維度表示類型的第一個變量,第三維表示一個特定形狀的值。除了了解它的形狀之外,還需要知道它的位置,并且可以根據(jù)需要移動和變形。

        3.2 障礙物

        障礙實(shí)際上是一個不能移動的正方形的組合。隨著游戲的進(jìn)程,障礙增加或減少。就像方塊一樣,你可以使用二維數(shù)組來存儲障礙物。

        數(shù)組的大小是整個面板的水平和垂直方向上的網(wǎng)格數(shù)。對于需要填充的網(wǎng)格,該值被標(biāo)記為1,而空白網(wǎng)格的值為0。在添加了一個障礙之后,需要確定它是否超出了邊界。如果超過了障礙,比賽就結(jié)束了。同時,你需要確定是否有一條完整的線,如果有滿行,則需要刪除障礙物。

        3.3 游戲面板

        游戲面板主要用于顯示塊和障礙物。有必要限定寬度和高度。為了使程序更靈活,面板的寬度和高度沒有確定固定數(shù)值。相反,網(wǎng)格被用作一個單元來指定包含多少個網(wǎng)格。靜態(tài)常量指定網(wǎng)格的數(shù)量和網(wǎng)格的邊緣。圖5顯示了游戲面板類的關(guān)鍵屬性和方法。

        4 概要設(shè)計(jì)

        4.1 系統(tǒng)介紹

        俄羅斯方塊是一款傳統(tǒng)游戲,它重在測試玩家的反應(yīng)靈敏度和幾何想象力,以下簡要介紹我們要寫的這款游戲的功能。

        游戲的主要功能如下:

        當(dāng)游戲程序打開時,有一個登入頁面,用來顯示游戲的加載情況。

        設(shè)計(jì)使用箭頭鍵和空格鍵來控制塊,向上箭頭是一個90度旋轉(zhuǎn)框,空格鍵用于直接落下塊,每種類型的塊都有自己的預(yù)覽圖。

        在玩的過程中,顯示玩家級別、分?jǐn)?shù)和消除的行數(shù)。

        游戲有暫停、開始和結(jié)束等控制。

        可以讓玩家來調(diào)整游戲的速度和游戲級別。

        可以讓玩家設(shè)置游戲的聲音、背景音樂及音效。

        在游戲結(jié)束時,如果玩家的分?jǐn)?shù)進(jìn)入了前10名,就會彈出輸入玩家昵稱的對話框,并將玩家的名字存入檔案之中。

        4.2 系統(tǒng)簡單設(shè)計(jì)

        由于我們將把這個游戲作為一個應(yīng)用程序編寫,我們首先需要設(shè)計(jì)游戲的主框架和菜單。游戲的主要框架使用一個標(biāo)準(zhǔn)的Windows框架,有標(biāo)題欄、菜單欄和工具欄,使玩家更容易掌握游戲。菜單欄和工具欄用于啟動、暫停、重新啟動和結(jié)束游戲。在框架的底部,還可以放置一個狀態(tài)欄來顯示游戲的當(dāng)前狀態(tài)。

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

        ⑴ 登入頁面

        由一張圖片和一個進(jìn)度條組成。

        “圖片”:用來顯示游戲信息。

        “進(jìn)度條”:用來顯示游戲時間。

        ⑵ 游戲主頁面

        由菜單條、游戲面板和狀態(tài)欄組成,分別說明如下:

        ① 菜單條:1、“游戲”菜單,包含2個菜單項(xiàng)和1個子菜單組成。

        “開始游戲”:用來選擇游戲版本和運(yùn)行游戲。

        “放棄游戲”:用來退出當(dāng)前游戲,返回主界面。

        “退出游戲”:用來退出程序。

        2、“設(shè)置”菜單,它包含6個菜單項(xiàng)。

        “暫停游戲”:用來暫停游戲,再次點(diǎn)擊時可以取消暫停。

        “重新開始”:重玩游戲。

        “速度等級”:選擇游戲速度難度。

        “障礙等級”:選擇游戲障礙難度。

        “播放背景音樂”:用來播放場景音樂,版本不同,音樂不同。

        “播放音效”:用來播放一些觸發(fā)音樂,它隨著版本不同而異。

        3、“成績”菜單,它只包含1個菜單項(xiàng)。

        “排行榜”:用來查看分?jǐn)?shù)為前10名的玩家信息。

        4、“幫助”菜單,它包含2個菜單項(xiàng)。

        “游戲文字說明”:以文字的形式,說明游戲的功能和玩法。

        “關(guān)于”:用來顯示游戲的一些版本信息。

        ② 游戲面板:1、“方塊活動區(qū)”,方塊程序在里面進(jìn)行。

        2、“預(yù)備方塊顯示區(qū)”,用來顯示預(yù)備的三個方塊組。

        3、“成績狀態(tài)顯示區(qū)”,用來顯示游戲級別、分?jǐn)?shù)和消除的行數(shù)。

        ③ 狀態(tài)欄:用來顯示游戲的狀態(tài),它包含有三個狀態(tài):游戲裝載完畢、游戲運(yùn)行

        中及暫停游戲。

        ⑶ 游戲結(jié)束頁面

        由游戲結(jié)束顯示框和輸入個人信息顯示框組成。

        ① 游戲結(jié)束顯示框:顯示游戲已經(jīng)結(jié)束,并讓玩家選擇退出游戲還是還是重新一局。

        ② 輸入個人信息顯示框:用于輸入玩家的一些個人信息保存。

        4.4 如何實(shí)現(xiàn)方塊的移動

        有兩種類型的塊運(yùn)動:一種是定時自由落體;另一個是基于用戶的擊鍵的改變,例如左,右,下或旋轉(zhuǎn)。對于第一種類型的移動,通過單獨(dú)啟動一個線程,線程會定期執(zhí)行Shape的向下移動方法,另外,在移動時,必須立即在面板上更新。因?yàn)閟hape級和gamepanel面板都不是相同的文件,所以不能直接進(jìn)行相互轉(zhuǎn)換,但是可以使用中間控制器控制器。

        4.5 方塊與障礙物的轉(zhuǎn)換及消除障礙物

        障礙物是一個能看見但是移動不了的一個區(qū)域。如果模塊不能向下移動,則簡單地獲得模塊位置,并且將相應(yīng)的障礙物位置設(shè)置為1并且重新打開,這樣可以轉(zhuǎn)換成障礙物。成為障礙后,幾次作成數(shù)據(jù)。如果一行的所有數(shù)據(jù)是1,則該行為填滿,并可以消除。

        5結(jié)語

        本文從面向?qū)ο缶幊痰慕嵌葋砜?,解析了俄羅斯方塊游戲的主要內(nèi)容和構(gòu)造,將MVC模式作為一個整體,通過對象來控制遠(yuǎn)程通信、數(shù)據(jù)傳輸、控制器,從而使其具有擴(kuò)展和靈活性。對于初學(xué)者來說,提高Java知識的使用設(shè)計(jì)系統(tǒng)具有一定的研究意義。

        猜你喜歡
        方塊障礙物菜單
        方塊村(1)
        旋轉(zhuǎn)吧!方塊!
        有多少個方塊
        不一樣的方塊橋
        高低翻越
        中國新年菜單
        SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
        本月菜單
        美食堂(2017年1期)2017-01-13 01:37:42
        土釘墻在近障礙物的地下車行通道工程中的應(yīng)用
        一個“公海龜”的求偶菜單
        鴨綠江(2013年10期)2013-03-11 19:41:55
        在线视频青青草猎艳自拍69| 麻豆免费观看高清完整视频| 人妻少妇精品无码专区二区| 久久精品国产夜色| 亚洲区精品久久一区二区三区女同| 一区视频免费观看播放| 亚洲高清乱码午夜电影网| 久久不见久久见免费视频7| 久久夜色精品国产亚洲噜噜 | 亚洲三级黄色| 久久麻豆精亚洲av品国产蜜臀 | 亚州国产av一区二区三区伊在| 越南女子杂交内射bbwbbw| 亚洲人成影院在线高清| 国产黄色一级大片一区二区| 中国少妇×xxxx性裸交| 欧美日韩亚洲国产精品| 国内精品久久久久久久久蜜桃| 国产色视频在线观看了| 国精品人妻无码一区二区三区性色| 九九久久精品国产| 激情内射亚洲一区二区| 亚洲一区二区三区少妇| 国产一区二区波多野结衣| 激情久久无码天堂| 女人天堂av免费在线| 国产乱人无码伦av在线a | 2019日韩中文字幕mv| 久久ri精品高清一区二区三区 | 国产愉拍91九色国产愉拍| 成人特黄a级毛片免费视频| 精品国产一区二区三区久久久狼| 日本一区二区三区资源视频| 中文乱码字字幕在线国语| 免费无码一区二区三区蜜桃大 | 日韩女同一区在线观看| 国产精品亚洲专区无码不卡| 国产乱人伦av在线a| 最新福利姬在线视频国产观看| 亚洲熟女少妇精品综合| 少妇久久久久久被弄到高潮|