无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基礎(chǔ) | Roguelike隨機地圖----洞穴類(二)

2020-02-27 11:18 作者:有木乘舟  | 我要投稿

本系列為筆者初學(xué)c/c++和游戲AI開發(fā)的學(xué)習(xí)經(jīng)歷,練習(xí)為主,不涉及到具體的游戲開發(fā)軟件學(xué)習(xí)(如unity,虛幻4等),適合剛?cè)腴T的小伙伴一起學(xué)習(xí)探討,歡迎在評論區(qū)留下意見。

  • 開發(fā)語言:c/c++

  • 開發(fā)平臺:macOS mojave / Linux

  • 編譯器:vs Code

該章節(jié)知識點:

  • vector容器

  • random庫

  • & 引用

1.初始化地圖

  • 在二維平面坐標系(笛卡爾坐標系)中生成一張初始地圖,以二維數(shù)組方式表達,數(shù)組中每個元素對應(yīng)坐標系上每個點。

  • 對每個點,以小于0.45的概率生成墻壁(以1表示,0為地面)。

圖1 初始化地圖

2.生成隨機地圖

關(guān)于細胞自動機的知識不再贅述,b站就有很多up主發(fā)過視頻,可搜索“生命游戲”。

遍歷數(shù)組,對每個點執(zhí)行下列規(guī)則:

  • 若其周圍1的數(shù)量大于4,則設(shè)其為1

  • 若其周圍1的數(shù)量小于4,則設(shè)其為0

圖2 通過&引用來直接改變initMap的值

其中,需要額外函數(shù)來判斷該點周圍墻壁的數(shù)量:

圖3?計算周圍墻壁數(shù)量

要注意的是:?

  1. 計算時候要明確邊界?

  2. 某點本身不計算在內(nèi)

  3. 周圍是指以某點為中心,九宮格內(nèi)其余八個點:

圖4?藍色為需要計算的點

相關(guān)代碼在github獲取:https://github.com/linpeijie/GameToy/tree/master/GameAI/Map

基礎(chǔ) | Roguelike隨機地圖----洞穴類(二)的評論 (共 條)

分享到微博請遵守國家法律
靖安县| 青神县| 全椒县| 临夏市| 鹰潭市| 樟树市| 和硕县| 康马县| 苍山县| 宁城县| 新平| 夏津县| 金华市| 铁岭县| 巩留县| 苍梧县| 闻喜县| 西吉县| 罗甸县| 临泉县| 斗六市| 邹城市| 法库县| 合川市| 明水县| 荣成市| 娄底市| 松滋市| 高青县| 岳阳市| 开封市| 赤壁市| 新蔡县| 尚志市| 三江| 博乐市| 泊头市| 独山县| 子洲县| 吉木萨尔县| 旬阳县|