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

用程序實現RPG背景地圖二維數組構建

2019-03-25 08:01:52朱艷萍
電腦知識與技術 2019年3期

朱艷萍

摘要:該文主要闡述了前端RPG開發中,當作為背景的地圖較為復雜時,如何用程序的方法構建與背景地圖一致的二維數組,采用圖文結合論述其算法,并使用原生JavaScript語言實現。

關鍵詞:二維數組;背景地圖;RPG;角色

中圖分類號:TP311? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2019)03-0065-02

所謂RPG是指角色扮演游戲(Role Playing Game),是游戲類型的一種,在游戲中,玩家負責扮演這個角色在一個寫實或虛構世界中活動。本文主要是闡述在RPG游戲中代表寫實或虛構世界的復雜背景地圖其對應二維數組的設計如何完成。該類型游戲中玩家負責扮演角色,通過一系列的指令完成游戲,這些指令與其背景地圖密切相關,玩家是否能成功執行游戲指令取決于該地圖對應的二維數組元素是否準確與地圖元素一一對應,構建這樣的一個二維數組成為關鍵。

1網格化地圖及網格大小依據

游戲玩家要能準確執行指令,其背景環境中每一處元素一定要與某個數據關聯,指令執行的判斷依據便是這個數據,方法便是將地圖網格化,繪制網格大小的依據是讓網格能包含地圖中最小背景元素即可,當為每個網格標注數據后,游戲玩家能夠根據數據準確判斷是哪個背景元素,以執行相應指令,如圖1所示,地圖網格化效果。

2獲取二維數組算法描述及必要性

要得到圖1中的與地圖元素對應的二維數組,需要逐行逐列去確認地圖中背景元素情況,然后給對應二維數組元素標注數字,代表該背景元素。如果背景地圖元素簡單,地圖網格比較大,網格數量比較少,相應二維數組比較小,那么標注二維數組會非常容易,人工完成也不會很費力,但是,如果該背景地圖元素復雜,地圖網格小,網格數量多,對應二維數組將非常大,通過人工肉眼對照地圖網格逐個去確認背景元素,完后又人工逐個去標注對應二維數組元素值,工作量會非常巨大!將該過程編制成一套程序顯得尤為有意義。為了便于對問題進行描述,我們將上圖中凡是能夠通行的地方我們稱之為通路,凡是不能通行的地方,我們稱之為障礙物,那么上述構建二維數組的過程的具體做法是,將與地圖網格對應的二維數組元素全部初始化為1(代表通路),為每個網格添加點擊事件,通過點擊事件與計算機進行通信,用戶若點擊某個網格表明該網格需要標注障礙物,將該網格對應的二維數組元素修改為0(代表障礙物)。

3獲取二維數組具體實現步驟

1) 繪制一個網格

arrCreate函數最后的返回值arr至關重要,這個返回值就是我們這個項目的最終的目的,后面所有的動作算法都是為了將該二維數組與背景地圖對應起來。調用arrCreate(rows,cols)函數后,網格用二維數組數據填充效果如圖2所示,可見,此時二維數組的值與地圖背景元素布置是沒有對應的。

4) 給網格添加點擊事件。

該步驟是整個程序的核心動作,也是實現程序化構建二維數組的關鍵點,給網格添加點擊事件實現與計算機通信,要求計算機將用戶點擊的網格進行標注,本項目中對需要設置障礙標志的地方點擊后標注0。

考慮到用戶點擊過程中,可能出現一些人為因素導致點擊失誤,比如點擊網格錯位的情況,我們在設計程序時讓用戶可以通過多次點擊網格,實現設置障礙和取消障礙的隨意切換,比如:第一次點擊某個網格表示設置障礙,第二次點擊時表示取消障礙,再次點擊又是設置障礙,優化addClick函數如下:

調用優化后的addClick函數,反復點擊網格,網格數據會在0和1之間切換,效果如下圖4所示:

至此,程序化方法實現二維數組構建的方法基本完成。文章前面提到,本文僅用了0表示地圖中障礙物,1表示地圖中通路,當實際開發需要將地圖中場景元素嚴格區分時,只需在每次點擊時用不同的數據進行標注,并同步到二維數組中,計算機通過對二維數組元素值進行判斷時,就如同玩家面對地圖進行判斷一樣,有興趣的讀者可以觸類旁通完成此項工作。

參考文獻:

[1] 張志強.C++中指針的研究與應用[J].電腦知識與技術,2011(14).

[2] 譚丞.關于在C++中數組申請歸還實現的研究與應用[J].福建電腦,2009(4).

【通聯編輯:光文玲】

主站蜘蛛池模板: 亚洲欧美日韩中文字幕在线| 粉嫩国产白浆在线观看| 国产00高中生在线播放| 欧美综合区自拍亚洲综合绿色 | 国产又粗又猛又爽视频| 99成人在线观看| 中文字幕在线看视频一区二区三区| 91久久国产综合精品女同我| 亚洲精品无码高潮喷水A| 91久久夜色精品| 国产精品第一区| 黄色网页在线播放| 欧美激情第一欧美在线| 国产第八页| 亚洲一区免费看| 亚洲国内精品自在自线官| 国产成人精品2021欧美日韩| 91色在线观看| 中文字幕在线日本| 搞黄网站免费观看| 伊人蕉久影院| 国产91九色在线播放| 91精选国产大片| 午夜影院a级片| 亚洲综合狠狠| 91精品小视频| 国产97视频在线观看| 日韩在线视频网站| 欧美成a人片在线观看| 在线观看国产精品一区| 国产在线观看99| 国产成人精品日本亚洲77美色| 欧美乱妇高清无乱码免费| 欧洲极品无码一区二区三区| 91探花在线观看国产最新| 国产高清免费午夜在线视频| 久久国产香蕉| 蜜桃臀无码内射一区二区三区| 日韩欧美在线观看| 在线观看91精品国产剧情免费| 亚洲综合经典在线一区二区| 人妻少妇乱子伦精品无码专区毛片| 亚洲国产成人精品青青草原| 高清无码手机在线观看| 国产精品hd在线播放| 国产精品自在在线午夜区app| www.99精品视频在线播放| 美女啪啪无遮挡| 国产成人乱无码视频| 亚洲国产成人麻豆精品| 欧美国产另类| a级毛片一区二区免费视频| 久草热视频在线| 9啪在线视频| 91无码人妻精品一区二区蜜桃| 亚洲永久视频| 精品1区2区3区| 色窝窝免费一区二区三区| 免费不卡视频| 国产小视频a在线观看| 国产精品亚洲专区一区| 最新亚洲人成网站在线观看| 一本综合久久| 四虎影视库国产精品一区| 婷五月综合| 精品久久人人爽人人玩人人妻| 欧洲欧美人成免费全部视频| 国产91视频观看| 好吊日免费视频| 伊人久久大香线蕉影院| 在线观看av永久| 日韩成人在线视频| 久久久久亚洲av成人网人人软件| 国产激爽爽爽大片在线观看| 国产极品嫩模在线观看91| 中文字幕精品一区二区三区视频| 97影院午夜在线观看视频| 国产丝袜无码精品| 亚洲一区二区视频在线观看| 五月婷婷导航| 国产成人午夜福利免费无码r| 久久综合激情网|