Помогите пожалуйста исправить цвета в моем коде

как надо чтобы было

Я структуру выполнил , осталось только исправить очередность цветов , уже сотни раз попробовал исправить как в оригинале , но не получилось . Буду рад если поможете

width(2);
fo = 2;
let s = 0;
goto(3, -34);
for (let index = 0; index < 7; index++) {
  for (let index = 0; index < 40; index++) {
    if (s < 25) {
      colour(255, 0, 0, 1);
    } else if (s < 50 && s > 25) {
      colour(0, 0, 255, 1);
    }
    left(50);
    forward((fo += 0.8));
    s = (s + 1) % 50;
  }
}

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Этот код рисует похожую картинку:

const colours = [[255, 0, 0, 0], [0, 0, 255, 0]];
right(180);
let step = 1;
for (let i = 0; i < 308; ++i) {
    colour(...colours[i % 2]);
    forward(step);
    right(59);
    step += 1;
}

введите сюда описание изображения

const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');

let x = 0;
let y = 0;
let d = 0;

const colour = (r, g, b, a) => context.strokeStyle = `rgb(${r} ${g} ${b})`;

const forward = dist => {
    context.beginPath();
    context.moveTo(canvas.width / 2 + x, canvas.height / 2 - y);
    x += dist * Math.cos(Math.PI / 180 * d);
    y += dist * Math.sin(Math.PI / 180 * d);
    context.lineTo(canvas.width / 2 + x, canvas.height / 2 - y);
    context.stroke();
};

const right = angle => { d += angle; };

const colours = [[255, 0, 0, 0], [0, 0, 255, 0]];
right(180);
let step = 1;
for (let i = 0; i < 308; ++i) {
    colour(...colours[i % 2]);
    forward(step);
    right(59);
    step += 1;
}
<canvas id="canvas" width="800" height="800"></canvas>

→ Ссылка