嘿那里,所以我把一个随机模式生成的东西拼凑起来.
我的代码到目前为止:
int permutes = 100;
int y = 31;
int x = 63;
while (permutes > 0) {
int rndTurn = random(1, 4);
if (rndTurn == 1) { y = y - 1; } //go up
if (rndTurn == 2) { y = y + 1; } //go down
if (rndTurn == 3) { x = x - 1; } //go right
if (rndTurn == 4) { x = x + 1; } //go left
setP(x, y, 1);
delay(250);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何才能让代码不再回归?
例如,代码说"向左走",但下一个循环说"走右",我怎么能阻止这个?
注意:setP打开特定像素.
干杯人!
这取决于你的意思.
如果你的意思是"避免回到我以前最常见的一步"那么你必须记住最后一次运动的方向.那就是如果你向上移动你的下一个动作就不能倒下.
如果你的意思是"避免回到你曾经去过的地方",那么你将不得不记住你曾经去过的每个地方.这可以使用哈希表有效地实现,该哈希表使用具有表示具有适当的Equals/HashCode函数的坐标的类的键.