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

基于Java的僵尸危機游戲設計與實現

2020-12-09 05:43:08向鎳鋅郭均趙為
數字技術與應用 2020年10期

向鎳鋅 郭均 趙為

摘要:如今快節奏與高強度的生活、工作環境使得游戲成為人們放松身心的不錯選擇,而智能設備的不斷升級,使聯網的電腦游戲、手機游戲受到人們更多的青睞。文中設計開發了一款基于Java的僵尸危機游戲,該游戲以2D為視角,采用J2SE技術、克隆方式,使用雙緩存技術對游戲進行渲染。實現了游戲的模式選擇、背景音樂、人物血條顯示、寶箱開啟、攻擊、爆炸效果、血跡渲染、結果顯示等多項功能,使用戶有更好的游戲體驗。該游戲的設計不僅有助于提高開發能力,更為此類游戲開發提供了思路,推動網絡游戲的發展。

關鍵詞:僵尸危機;游戲開發;Java

中圖分類號:TP311? ? 文獻標識碼:A? ? 文章編號:1007-9416(2020)10-0000-00

0 引言

隨著智能移動終端以及互聯網設備的不斷優化升級,游戲成為了大眾生活中必不可少的一項娛樂放松方式,特別是近年來發展勢頭良好[1-2]。Java語言作為目前使用最為廣泛的網絡編程語言之一,具有語法簡單、面向對象、穩定、與平臺無關、多線程、動態等特點[3],開發人員可以使用少量的代碼設計具有界面效果的游戲[4]。本文基于Java語言設計開發了一款僵尸危機游戲,對游戲的功能進行設計分析,實現了怪物的刷新隨機性、游戲進程單向性、游戲內容豐富性。

1 總體功能設計

僵尸危機游戲需要實現以下功能:

(1)游戲模式選擇:當玩家打開游戲執行文件后,進入批處理打開cmd控制臺并進入游戲的模式選擇界面,玩家可選擇單人或雙人模式。

(2)怪物刷新:玩家進入游戲后,普通喪尸和幽靈不斷刷新。

(3)寶箱系統:游戲中分為補給箱、獎勵箱、boss箱。補給箱在游戲開始后不停刷新,獎勵箱和boss箱為殺怪獎勵。

(4)特殊技能:玩家在游戲中具有近戰攻擊、遠程攻擊、人造墻體、扔炸彈等技能。

(5)游戲難度升級:當玩家殺怪數量到一定程度時,進入不同的“血月時刻”,此時背景、地形、怪物刷新等都會改變。

(6)游戲結束:當玩家被啃食擊殺后,游戲結束。此時進入結束界面,界面中顯示殺怪個數,并切換背景音樂。

2 載入流程與組件

2.1 游戲載入流程

如圖1為游戲載入流程。從Main入口進入游戲程序后分為Start、GameClient、World三個階段。在Start中,實現游戲開始界面的背景音樂載入、單雙人模式選擇。進入GameClient客戶端后,陸續完成對游戲世界初始化、開辟繪圖空間輔助雙緩存渲染、開啟繪制線程、添加各種監聽器等過程。World中包含角色之間的碰撞檢測[5]、喪尸幽靈刷新、地形模式改變、炸彈位置搜尋、游戲組件排序等重要環節。

2.2 游戲組件關系

游戲組件之間都有著復雜而不同的繼承關系。本游戲中設計了一個GameObject的游戲超類,它作為組件的父類,定義所有組件需要的屬性,如:名字、半徑、速度、x坐標、y坐標、x改變、y改變、方向、HP、碰撞判斷、狀態等。之后GameObject被Blood、Wall、Weapon、Role、BandDo、Border、Box繼承。Blood為當生命體被攻擊后在場景留下的血跡。Wall、Weapon、Role分別為:僵尸危機游戲中的墻體、僵尸危機游戲中武器系統的超類、僵尸危機游戲中角色系統的超類。BangShow為神圣炸彈爆炸的效果渲染。Border、Box分別為僵尸危機游戲邊界、僵尸危機游戲寶箱系統的超類。詳細的組件關系如圖2所示。

3 功能實現

3.1 攻擊與裝備系統

游戲中英雄具備近戰攻擊與遠程攻擊功能。近戰攻擊時英雄可轉身、上下左右揮動武器,遠程攻擊時英雄可發出橙色火球對怪物進行攻擊,遠戰攻擊演示如圖3所示,其關鍵代碼如下:

public boolean collisionDetection(Gameobject object){

return ((!object. equals(this. host)) && ?。╫bject? instanceof Weapon) && super. collisionDetection(object));

}

public void setstate(){

initFireball(this.host.getDir()==Direction.STOP?host.getOldDir() : host.getDir());

super.setState();

}

public void setUltimatestate(){

if(getNum()<8)return;

for(Direction dir:Direction.values()){

if(dir= =Direction.STOP)continue;

initFireball(dir);

}

super.setState();

3.2 渲染系統

游戲的渲染系統包括對雙緩存、動畫[6]、血跡、背景音樂的渲染。本文只對血跡渲染和音樂渲染做詳細介紹。

血跡渲染效果共有4種,如圖4所示。其關鍵代碼如下:

public Blood(int x, int y, World world)

{

super("Blood", 0, 0, 99999, x, y, false, world);

Random rand = new Random();

int picX = Math.abs(rand.nextInt()) % 2;

int picY = Math.abs(rand.nextInt()) % 2;

this.picX = picX * 475;

this.picY = picY * 475;

}

音樂渲染效果共載入6首不同的音樂,分別在游戲模式選擇、進入游戲、血月時刻1、血月時刻2、血月時刻3以及游戲結束界面中體現。其關鍵代碼如下:

public class GameSound extends Thread {

private String mp3url;

private boolean isloop;

public GameSound(String mp3url, boolean isloop) {

this.mp3url = mp3url;

this.isloop = isloop;

}

public void run() {

try {

do {

InputStream mp3 = GameSound.class.getClassLoader().getResourceAsStream("music/" + mp3url);

AdvancedPlayer advancedPlayer = new AdvancedPlayer(mp3);

advancedPlayer.play();

} while (isloop);

} catch (Exception e) {

e.printStackTrace();

}

}

}

4 結語

本文基于Java語言開發了一款僵尸危機游戲,并實現了游戲模式選擇、背景音樂、怪物刷新、補給箱刷新、雙緩存渲染、血跡渲染、主角搜尋、爆炸、攻擊等系列功能,是一款具有良好體驗的游戲。通過設計該游戲,不僅能夠豐富目前的游戲市場,也為游戲開發擴寬設計思路。

參考文獻

[1]許益凡,薛益鴿.基于JAVA平臺的魔塔游戲設計[J].智能計算機與應用,2018,8(3):235-239+243.

[2]張會.基于Java的指法練習小游戲的設計與實現[J].電腦知識與技術,2017,13(32):85-86+96.

[3]耿祥義,張躍平.Java 2 實用教程.北京:清華大學出版社,2007.

[4]茍雨晴,蘭全祥.基于Java的拼圖游戲設計與實現[J].電腦知識與技術,2019,15(2):45-47.

[5]王嘉,李孔清.碰撞檢測算法研究綜述[J].電腦知識與技術,2017,13(20):202-205.

[6]李清亮,程佳茵,時瑋淞,等.計算機圖形圖像處理技術研究[J].黑龍江科學,2018,9(20):82-83.

收稿日期:2020-08-12

基金項目:四川省2020大學生創新訓練項目(S202010628027)

作者簡介:向鎳鋅(1993—),女,重慶人,工學碩士,助教,研究方向:傳感器技術、計算機技術。

Design and Implementation of Zombie Crisis Game Based on Java

XIANG Nie-xin,GUO Jun,ZHAO Wei

(Faculty of Information Technology, Xichang University, Liang Sichuan? 615013)

Abstract: Nowadays fast-paced and high-intensity life and work environment make games a good choice for people to relax and the continuous upgrading of smart devices has made networked computer games and mobile games much more popular. This paper designs and develops a Java-based games Zombie Crisis which takes 2D as the perspective, uses J2SE, clone, and double-buffer technology to render the game. Thus, the game mode selection, background music, character blood bar display, treasure chest opening, attack, explosion effect, blood stain rendering, result display and many other functions are achieved, which make users have a better gaming experience. The design of the game not only helps to improve development capabilities, but also provides ideas for the development online games.

Key words: Zombie Crisis; game design; Java

主站蜘蛛池模板: 国产精品深爱在线| 日本精品一在线观看视频| 日韩欧美国产另类| 久久99蜜桃精品久久久久小说| 熟女视频91| 国产高清又黄又嫩的免费视频网站| 国产精品不卡永久免费| 婷婷伊人久久| 欧美精品一二三区| 日韩精品一区二区三区免费| 天天摸天天操免费播放小视频| 国产91麻豆视频| 国产精品对白刺激| 免费国产黄线在线观看| 视频二区中文无码| 国产精品久久久久久久久| 日韩无码视频网站| 色久综合在线| 国产内射一区亚洲| 久草美女视频| 国模极品一区二区三区| 国产丝袜无码精品| 亚洲欧美日韩精品专区| 亚洲人成亚洲精品| 中文字幕1区2区| 日韩在线观看网站| 中文字幕自拍偷拍| 国产福利大秀91| 人妻中文久热无码丝袜| 性欧美精品xxxx| 国产美女在线观看| 欧美中文一区| 中文字幕日韩欧美| 国内嫩模私拍精品视频| 91精品专区| 国产又粗又爽视频| 国产综合精品日本亚洲777| 日本道中文字幕久久一区| 久久久久免费看成人影片 | 亚洲色精品国产一区二区三区| 91po国产在线精品免费观看| 久久公开视频| 亚洲妓女综合网995久久| 国产精品jizz在线观看软件| 日本一区二区三区精品国产| 日韩欧美国产区| 国产SUV精品一区二区| 超碰aⅴ人人做人人爽欧美 | 91偷拍一区| 亚洲天堂免费观看| 欧美日韩专区| 国产成人高清精品免费| 午夜福利免费视频| 色综合手机在线| 国产一区二区在线视频观看| 3p叠罗汉国产精品久久| 亚洲国产天堂久久九九九| 亚洲国产综合自在线另类| 国产亚洲欧美日韩在线观看一区二区| 亚洲第一成网站| 亚洲熟妇AV日韩熟妇在线| 欧美视频在线播放观看免费福利资源| 91在线中文| 九色综合伊人久久富二代| 国产麻豆另类AV| 欧美精品v| 免费一级α片在线观看| 欧美性天天| 欧美激情视频一区| 手机看片1024久久精品你懂的| 日韩免费视频播播| 中文无码精品A∨在线观看不卡| 国产欧美中文字幕| 日本在线视频免费| 欧美特级AAAAAA视频免费观看| 国产精品lululu在线观看| 日韩欧美国产精品| 亚洲中文无码av永久伊人| 国产亚洲精品自在线| 成人毛片免费在线观看| 成人一级免费视频| 在线国产你懂的|