#javascript #calculator #algebra #procedural-generation
#javascript #калькулятор #алгебра #процедурная генерация
Вопрос:
Я работаю над ванильной игрой на JavaScript и использую массив для сохраненных высот по оси y. Моя проблема в том, что в рамках моей генерации высоты я хочу создать биом с холмами. Это требует от меня использования парабол, чтобы я мог правильно генерировать кривые. Каждая единица X фиксирована как график, но координаты y могут быть изменены.
Насколько мне известно, кажется, я написал это правильно. Я использовал множество ссылок, прежде чем прийти сюда.
function constructMountains(spot, last, gradient) {
var randomHeight = (Math.random() * 1.5) 0.3;//creats a random intensity for the parabola
var lengthOfHill = Math.floor(Math.random() * 35) 4;// creates a random width for parabola
var parabolaVertexY = (-randomHeight*((q-lengthOfHill/2)-(lengthOfHill/2))^2) last;//gets max height of curve
for (var q = 0; q <= lengthOfHill; q ) {
test[q spot] = (-randomHeight*((q-lengthOfHill/2)-(lengthOfHill/2))^2) parabolaVertexY;//vertex is half way through so half the length is the iterator's offset
}
return spot lengthOfHill;//returns place in the main loop
}
var biome = 1
for (x=0; x<blockAmount 101 1000; x ) {
//set up this way for testing
if (x == 0) {
x = constructMountains(x, 45, toggleGradient);//toggleGradient will be used to flip curve, not implemented yet
}
}
Это должно создавать повторяющиеся параболы разных размеров. Данные можно передавать визуально, потому что у меня есть функция, которая использует холст HTML5 для обводки () значений координат. То, как он ведет себя в настоящее время, не имеет абсолютно никакого смысла.
Комментарии:
1. У вас действительно есть вопрос?
Ответ №1:
a^b
является побитовым XOR; не возведение в степень в Javascript. Вы ищете Math.pow(a,b)
.