В настоящее время я перехожу к «Природе Кода» Даниэля Шиффмана и играю с одним из первых упражнений - простым «RandomWalker()». Я реализовал аналогичные вещи в Java & не было никаких проблем, однако по какой-то причине мой ходок всегда, кажется, идет в более или менее одинаковом направлении:Обработка - почему мой случайный ходок всегда стремится к левому верхнему углу?
Это происходит 100% времени. Вот мой код:
class Walker
{
int x;
int y;
// Constructor
Walker()
{
x = width/2;
y = height/2;
}
void display()
{
stroke(0); // Colour
point(x, y); // Colours one pixel in
}
void step()
{
float stepX;
float stepY;
stepX = random(-1, 1);
stepY = random(-1, 1);
x += stepX;
y += stepY;
}
}
Walker w;
void setup()
{
size(640, 360);
w = new Walker();
background(255);
}
void draw()
{
w.step();
w.display();
}
Является ли это какой-то артефакт случайной функции? Моя первая мысль состоит в том, что это как-то связано с псевдослучайным характером функции, но в учебнике конкретно говорится, что это не должно быть заметно, и все же это происходит каждый раз. Мне было интересно, может быть, что-то не так с моим кодом?
Заранее спасибо.
Отличный ответ, спасибо! –