我正在编写一些处理代码以使用Monte Carlo 算法显示随机游走器。
现在我已经指定了一个带有两个重要方法的 walker 类,一个控制运动的 step 函数和一个控制速度和方向的 stepsize 函数。
但由于某种原因,我无法在 step 方法中正确调用 stepsize 方法。结果,程序在屏幕上什么也没画。代码执行,我没有错误。
我的代码:
import java.util.*;
class Walker {
float y;
float x;
float monte_carlo;
Walker() {
x = width/2;
y= height/2;
}
void display(){
stroke(0);
point(x,y);
}
float stepsize (float r1) {
while (true) {
r1 = random(0,10);
float probability = r1;
float r2 = random(0,10);
if (r2 < probability) {
return r1;
}
}
}
void step() {
x += stepsize(monte_carlo);
y += stepsize(monte_carlo);
}
}
Walker w;
void setup() {
size(400,400);
w = new Walker();
background(255);
}
void draw() {
w.display();
w.step();
}
这个问题困扰了我一段时间,如果有人能启发我,我将不胜感激!