#javascript
#язык JavaScript
Вопрос:
мой код работает, создавая линию по диагонали вперед и вниз, но светлый цвет никогда не меняется, он всегда остается красным. Кто-нибудь может помочь мне это исправить? Кстати, красная часть относится к более ранней части кода, что означает, что ни один из операторов if не работает в цикле, код управляет светом с правой стороны дома
function lightsDown(x,y,ln,s) { for (u = 0; u lt; ln; u ) { var c = random(1,4) if (c === 1) { fill('green') } if (c === 2) { fill ('red') } if (c === 3) { fill('yellow') } if (c === 4) { fill('blue') } circle((x 4.5*s)-(2.67*s/ln)*u,y-(2.67*s/ln*u), s/4) }
}
Ответ №1:
Random возвращает десятичное число преобразуйте его в целое число с помощью:
var c = math.floor(random(1, 4))
Ответ №2:
Вы ставите условие, если утверждение кажется неправильным. Это должно быть (c === 1). И преобразование переменной c в int.
Комментарии:
1. все еще не работает, я обновил страницу, показывающую, что она делает
2. это потому, что случайная функция возвращает значение с плавающей точкой. Вы должны попробовать преобразовать его в int с помощью Math.floor