嘿,那么,所以我敲在一起随机模式生成的东西。随机指示,没有重复..(不好说明)
到目前为止我的代码:
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);
}
我的问题是,我将如何去获得的代码没有食言本身?
例如该代码说“走左”,但通过它的下一个循环说“去右”,我怎么能阻止呢?
注意:setP打开一个特定的像素。
干杯人!
正是我在找的东西! – 2010-03-24 10:44:50
除了随机生成器连续多次提出'lastRndTurn'。这并不是说这一点很重要,而你在每次回合之后等待25分钟...... – sbi 2010-03-24 10:48:32
尽管这样做可行,但通常不是一个好的做法,可以强制一个可接受的值。我认为下面的解决方案好得多。将最后的移动(比如说2)存储为整数。创建一个数组,并使用for-next循环,添加数字1 2 3 4,但前提是该数字与最后一次移动不相同。然后做一个随机的。你必须扭转答案。 – NibblyPig 2010-03-24 10:49:32