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.У кого-нибудь есть советы?