int one = 0;
int two = 0;
int three = 0;
int four = 0;
int five = 0;
int six = 0;
int seven = 0;
int eight = 0;
for(int i = 0;i <= MyWorld.PICTURE_COUNT*2;i++){
int n = Greenfoot.getRandomNumber(MyWorld.PICTURE_COUNT) + 1;
if(n == 1){
if(one <= 1){
setImage("1.png");
one++;
}
else{
n++;
}
}
if(n == 2){
if(two <= 1){
setImage("2.png");
two++;
}
else{
n++;
}
}if(n == 3){
if(three <= 1){
setImage("3.png");
three++;
}
else{
n++;
}
}if(n == 4){
if(four <= 1){
setImage("4.png");
four++;
}
else{
n++;
}
}if(n == 5){
if(five <= 1){
setImage("5.png");
five++;
}
else{
n++;
}
}if(n == 6){
if(six <= 1){
setImage("6.png");
six++;
}
else{
n++;
}
}if(n == 7){
if(seven <= 1){
setImage("7.png");
seven++;
}
else{
n++;
}
}if(n == 8){
if(eight <= 1){
setImage("8.png");
eight++;
}
else{
n=1;
}
}
这里有整数(一个,两个等),以确保当两个相同的图像存在时,不应再显示该图像,因为这就是内存的工作方式。但是,当我对此进行测试时,我会定期得到三个相同的图像。
我不知道为什么会这样,这似乎是不可能的,因为它甚至不应该检查if语句。有人提示吗?