 # Random elements different positions

Hi

I want to draw squares on random positions on a grid, but I don’t want to have them on the same position. If I run the code sometimes there are two squares on the same position. I know that it has something to do with positionSquares.

This is what I have now:

``````int widthGrid = 40;
int heightGrid = 40;
int heightBlock = 20;
int widthBlock = 20;
int Square[][] = new int[widthGrid][heightGrid];
int blockX[] = new int [widthGrid];
int blockY[] = new int [heightGrid];
int xPositionBlock;
int yPositionBlock;

void setup() {
size(1000, 1000);
positionGrid();
positionSquares();
}

void draw() {
drawGrid();
drawSquares();
}

void positionSquares() {
int i  = 0;
while(i < 15){
Square[i] = blockX[(int)random(widthGrid)] * widthBlock;
Square[i] = blockY[(int)random(heightGrid)] * heightBlock;
i++;
}
}

void drawSquare(int i) {
fill(#ff0000);
rect(Square[i], Square[i], widthBlock, heightBlock);
}

void drawSquares() {
for (int i = 0; i < 15; i++) {
drawSquare(i);
}
}

void positionGrid() {
for (int i = 0; i < widthGrid; i++) {
blockX[i] = i;
}
for (int i = 0; i < heightGrid; i++) {
blockY[i] = i;
}
}

void drawGrid() {
stroke(0);

for (int i = 0; i < widthGrid; i++) {
for (int j = 0; j < heightGrid; j++) {
xPositionBlock = i * widthBlock;
yPositionBlock = j * heightBlock;
fill(#0ff09d);
rect(xPositionBlock, yPositionBlock, widthBlock, heightBlock);
}
}
}
``````

I can’t run the code

widthGrid, heightGrid and other are not known