国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

戰(zhàn)棋類(lèi)游戲的算法設(shè)計(jì)與實(shí)現(xiàn)

2016-05-19 14:14:49屈曉石毅賢黃金達(dá)陳啟聰
電腦知識(shí)與技術(shù) 2016年8期
關(guān)鍵詞:棋類(lèi)數(shù)據(jù)結(jié)構(gòu)棋子

屈曉+石毅賢+黃金達(dá)+陳啟聰

摘要:該文介紹采用類(lèi)3D技術(shù)來(lái)實(shí)現(xiàn)的新型戰(zhàn)棋類(lèi)游戲,以Maya為主的Unity, 3Ds Max多種軟件技術(shù)和VC++語(yǔ)言編程相結(jié)合,以人物為棋子移動(dòng)進(jìn)行拼殺的戰(zhàn)棋類(lèi)游戲,采用非平衡二叉樹(shù)的方法來(lái)存儲(chǔ)各棋子的位置,采用局部的類(lèi)折半查找法進(jìn)行目標(biāo)的定位,以及使用模糊行為確定目標(biāo)的選取,采用遍歷的方法確定棋子所走路徑。

關(guān)鍵詞:戰(zhàn)棋游戲;算法

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)08-0083-02

1 概述

現(xiàn)在的游戲軟件越來(lái)越趨向網(wǎng)絡(luò)版,并且小型的動(dòng)漫型的小游戲越來(lái)越多,越來(lái)越讓人們喜歡,這樣的游戲在操作上簡(jiǎn)單,也不需要安裝,更有競(jìng)爭(zhēng)力。我們這個(gè)項(xiàng)目正是看到網(wǎng)絡(luò)中小游戲的優(yōu)越性,結(jié)合一些大型游戲的屬性,比如魔法屬性、能量值等,讓?xiě)?zhàn)棋類(lèi)的游戲也像其他的武俠游戲一樣,具有一定的魔幻性,為游戲玩家?guī)?lái)更多的吸引力。

本論文介紹制作一款2D-3D的新型戰(zhàn)棋類(lèi)游戲。將以Maya為主的Unity,Maya,3Ds Max多種軟件技術(shù)和VC++語(yǔ)言編程相結(jié)合,采用日式風(fēng)格,劇情將以科學(xué)與魔法共存的平行世界為背景,以人物為棋子移動(dòng)進(jìn)行拼殺的戰(zhàn)棋類(lèi)游戲。

2 需求分析

在戰(zhàn)棋游戲中,有著多方的元素在游戲中體現(xiàn),比如飛機(jī),坦克、步兵等,對(duì)各種元素都以能量的形式進(jìn)行體現(xiàn)。在各種元素使用的模塊中,相互的關(guān)系,影響和數(shù)據(jù)的存儲(chǔ),可以采用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。設(shè)置的系統(tǒng)架構(gòu)可以用下面的系統(tǒng)用例圖來(lái)體現(xiàn),如圖1所示。

用戶通過(guò)前臺(tái)界面的系統(tǒng)登陸區(qū)進(jìn)行登陸系統(tǒng),進(jìn)入系統(tǒng)后可以選擇其一種角色參與游戲,并且在游戲設(shè)置模塊中對(duì)棋盤(pán)的相關(guān)屬性、計(jì)算機(jī)控制屬性等進(jìn)行調(diào)整與設(shè)置。在界面的外觀需求中,為了吸引玩家,采用了以Maya為主的Unity,3Ds Max多種軟件技術(shù)相結(jié)合,制作了類(lèi)3D效果的場(chǎng)景,并且配置立體音效,以增加游戲環(huán)境的真實(shí)性。

3 算法實(shí)現(xiàn)及VC++代碼

3.1游戲整體設(shè)計(jì)思路

首先,分析該游戲中所需要的所有元素對(duì)象,接著根據(jù)各元素所對(duì)應(yīng)的場(chǎng)景進(jìn)行環(huán)境圖形分析,然后進(jìn)行算法設(shè)計(jì)思路整理,再采用VC++實(shí)現(xiàn)了游戲中各類(lèi)元素的數(shù)據(jù)結(jié)構(gòu)表示。利用了類(lèi)廣度優(yōu)先的算法實(shí)現(xiàn)對(duì)棋子可走的范圍進(jìn)行計(jì)算,用折半查找法和模糊行為確定了選取的行動(dòng)和行動(dòng)實(shí)施的目標(biāo)。采用遍歷的方法確定棋子所走路徑.采用VC++實(shí)現(xiàn)的關(guān)鍵代碼如下:

1) 用類(lèi)廣度優(yōu)先的算法遍歷棋盤(pán),以來(lái)確定能活動(dòng)的范圍大小,并且將活動(dòng)范圍壓入棧,并且設(shè)其置狀態(tài)標(biāo)志flag為1;

2) 獲取一定范圍內(nèi)的所有對(duì)方綜合元素的數(shù)量及能量情況,利用折半查找法來(lái)確定目標(biāo)的位置坐標(biāo)以及可以采用的動(dòng)作;

3) 根據(jù)當(dāng)前玩家所在的位置到目標(biāo)元素所在的坐標(biāo)位置,計(jì)算出一條可走的路徑,并且玩家根據(jù)這條路徑進(jìn)行行走。

3.2元素對(duì)象數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

3.3棋盤(pán)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

元素對(duì)象在場(chǎng)景中移動(dòng),場(chǎng)景的大小范圍設(shè)置,障礙物的放置位置,各元素對(duì)象在場(chǎng)景中移動(dòng)所花費(fèi)的移動(dòng)能量。為了元素對(duì)象在場(chǎng)景中移動(dòng)的方便性,對(duì)棋盤(pán)中的每個(gè)位置設(shè)置1個(gè)標(biāo)志,即是否有人using。

3.4棧結(jié)構(gòu)設(shè)計(jì)

4 結(jié)束語(yǔ)

通過(guò)上面的算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),本文闡述的算法和數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)了戰(zhàn)棋類(lèi)游戲的開(kāi)發(fā),達(dá)到了系統(tǒng)開(kāi)發(fā)的要求,但由于開(kāi)發(fā)者的水平有限,還存在需要完善的地方,有待在以后的學(xué)習(xí)中進(jìn)行改進(jìn)。

參考文獻(xiàn):

[1] 關(guān)慧芬,師軍.網(wǎng)絡(luò)爬行技術(shù)研究[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào):自然科學(xué)版,2008,23(6).

[2] 李偉青.凸多邊形窗口線裁剪的折半查找算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(5).

[3] 王浩.Visual C++游戲開(kāi)發(fā)經(jīng)典案例詳解[M].北京:清華大學(xué)出版社,2010.

[4] 鄧桂英.OpenGL制作三維游戲的研究[J].計(jì)算機(jī)與現(xiàn)代化,2005(11):33.

猜你喜歡
棋類(lèi)數(shù)據(jù)結(jié)構(gòu)棋子
棋子多少顆
擺棋子
有趣的棋子
棋子餓了
大灰狼(2018年5期)2018-06-20 14:49:32
“翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
高職高專(zhuān)數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
河南科技(2014年5期)2014-02-27 14:08:57
棋類(lèi)游戲
棋類(lèi)游戲
旺苍县| 神木县| 江油市| 土默特左旗| 潼南县| 曲松县| 府谷县| 阳西县| 鄯善县| 雷州市| 双城市| 宁都县| 江阴市| 永胜县| 东丽区| 东至县| 广汉市| 洛扎县| 江口县| 威宁| 循化| 盖州市| 鹤庆县| 新闻| 汶川县| 万载县| 孝义市| 新宾| 青川县| 长宁区| 玉龙| 桐城市| 益阳市| 青冈县| 封丘县| 右玉县| 蕲春县| 陕西省| 岑巩县| 桂东县| 武威市|