0
我實際上正在爲一款遊戲設計一個「地面指標引擎」。我基本上做的是真正的地圖數據複製到另一個關聯數組,並將其映射一些度量屬性等生育力或溼度,這裏是一個示例代碼:關聯數組中的美麗數字
this.metricsMap = {};
this.generatedFertilities = {};
for (var i = 0; i < this.groundMap.data.length; i++) {
this.generatedFertilities[i] = this.groundMap.data[i].map(function() {
// TODO
});
}
for (var i = 0; i < this.groundMap.data.length; i++) {
this.metricsMap[i] = this.generatedFertilities[i].map(function (res) {
return {
ownedBy: "",
fertility: res,
humidity: 50
}
});
}
地圖數據是作爲關聯數組[32 ] [32]。我想生成相應的「生育矩陣」一致性和「數浪」,這裏是什麼,我想嘗試做一個小的關聯數組大圖:
[68, 69, 70, 71, 72, 73, 74, 75, 74, 73],
[69, 70, 71, 72, 73, 74, 75, 74, 73, 72],
[70, 71, 72, 73, 74, 75, 74, 73, 72, 71],
[71, 72, 73, 74, 75, 74, 73, 72, 71, 60],
[72, 73, 74, 75, 74, 73, 72, 71, 60, 59],
[73, 74, 75, 74, 73, 72, 71, 60, 59, 58],
[74, 75, 74, 73, 72, 71, 60, 59, 58; 57],
[75, 74, 73, 72, 71, 60, 59, 58; 57, 56],
[74, 73, 72, 71, 60, 59, 58; 57, 56, 55],
[73, 72, 71, 60, 59, 58; 57, 56, 55, 54]
我們想象的要多「的格局例如,在矩陣中間更集中的地方。
我嘗試這樣的東西很多東西:
var baseRand = Math.floor(Math.random() * 100) + 1;
for (var i = 0; i < this.groundMap.data.length; i++) {
var counter = 0;
this.generatedFertilities[i] = this.groundMap.data[i].map(function() {
counter++;
// think of i like the y axis and counter like the x axis
if(i % 8 == 0){
if(counter < 8){
return Math.abs(Math.floor(baseRand++));
} else {
return Math.abs(Math.floor(baseRand--));
}
} else {
if(counter > 8){
return Math.abs(Math.floor(baseRand--));
} else {
return Math.abs(Math.floor(baseRand++));
}
}
});
}
但是,這並不讓我在某處,我與它背後的數學麻煩。你們會如何設計這樣的算法?
不,我沒有綁定到實際地圖數據 – graph1ZzLle