void popuniRacunar(int ***matrix)
{
int i, x, y, num, **arr;
arr = (int **)calloc(4, sizeof(int *));
if(arr == NULL)
exit(1);
for(i = 0; i < 4; i++)
{
arr[i] = (int *)calloc(2, sizeof(int));
if(arr[i] == NULL)
exit(1);
}
x = generisiBroj(1, 11);
y = generisiSlovo();
(*matrix)[x][y] = 4;
arr[0][0] = (proveriKoordinateInput(x+1, y, 4, 1, *matrix) == 1) ? (x + 1) : 11;
arr[0][1] = (proveriKoordinateInput(x+1, y, 4, 1, *matrix) == 1) ? y : 11;
arr[1][0] = (proveriKoordinateInput(x-1, y, 4, 1, *matrix) == 1) ? (x - 1) : 11;
arr[1][1] = (proveriKoordinateInput(x-1, y, 4, 1, *matrix) == 1) ? y : 11;
arr[2][0] = (proveriKoordinateInput(x, y-1, 4, 1, *matrix) == 1) ? x : 11;
arr[2][1] = (proveriKoordinateInput(x, y-1, 4, 1, *matrix) == 1) ? (y - 1) : 11;
arr[3][0] = (proveriKoordinateInput(x, y+1, 4, 1, *matrix) == 1) ? x : 11;
arr[3][1] = (proveriKoordinateInput(x, y+1, 4, 1, *matrix) == 1) ? (y + 1) : 11;
num = generisiBroj(0, 4);
x = arr[num][0];
y = arr[num][1];
while(!proveriKoordinateInput(x, y, 4, 1, *matrix))
{
num = generisiBroj(0, 4);
x = arr[num][0];
y = arr[num][1];
}
(*matrix)[x][y] = 4;
if((*matrix)[x][y-1] == 4)
{
(*matrix)[x][y+1] = 4;
(*matrix)[x][y+2] = 4;
}
else
if((*matrix)[x][y+1] == 4)
{
(*matrix)[x][y-1] = 4;
(*matrix)[x][y-2] = 4;
}
else
if((*matrix)[x-1][y] == 4)
{
(*matrix)[x+1][y] = 4;
(*matrix)[x+2][y] = 4;
}
else
{
(*matrix)[x-1][y] = 4;
(*matrix)[x-2][y] = 4;
}
for(i = 0; i < 2; i++)
{
x = generisiBroj(1, 11);
y = generisiBroj(1, 11);
while(!proveriKoordinateInput(x, y, 3, 0, *matrix))
{
x = generisiBroj(1, 11);
y = generisiBroj(1, 11);
}
(*matrix)[x][y] = 3;
arr[0][0] = (proveriKoordinateInput(x+1, y, 3, 1, *matrix) == 1) ? (x + 1) : 11;
arr[0][1] = (proveriKoordinateInput(x+1, y, 3, 1, *matrix) == 1) ? y : 11;
arr[1][0] = (proveriKoordinateInput(x-1, y, 3, 1, *matrix) == 1) ? (x - 1) : 11;
arr[1][1] = (proveriKoordinateInput(x-1, y, 3, 1, *matrix) == 1) ? y : 11;
arr[2][0] = (proveriKoordinateInput(x, y-1, 3, 1, *matrix) == 1) ? x : 11;
arr[2][1] = (proveriKoordinateInput(x, y-1, 3, 1, *matrix) == 1) ? (y - 1) : 11;
arr[3][0] = (proveriKoordinateInput(x, y+1, 3, 1, *matrix) == 1) ? x : 11;
arr[3][1] = (proveriKoordinateInput(x, y+1, 3, 1, *matrix) == 1) ? (y + 1) : 11;
num = generisiBroj(0, 4);
x = arr[num][0];
y = arr[num][1];
while(!proveriKoordinateInput(x, y, 3, 1, *matrix))
{
num = generisiBroj(1, 4);
x = arr[num][0];
y = arr[num][1];
}
(*matrix)[x][y] = 3;
if((*matrix)[x][y-1] == 3)
(*matrix)[x][y+1] = 3;
else
if((*matrix)[x][y+1] == 3)
(*matrix)[x][y-1] = 3;
else
if((*matrix)[x-1][y] == 3)
(*matrix)[x+1][y] = 3;
else
(*matrix)[x-1][y] = 3;
}
for(i = 0; i < 3; i++)
{
x = generisiBroj(1, 11);
y = generisiBroj(1, 11);
while(!proveriKoordinateInput(x, y, 2, 0, *matrix))
{
x = generisiBroj(1, 11);
y = generisiSlovo();
}
(*matrix)[x][y] = 2;
arr[0][0] = (proveriKoordinateInput(x+1, y, 2, 1, *matrix) == 1) ? (x + 1) : 11;
arr[0][1] = (proveriKoordinateInput(x+1, y, 2, 1, *matrix) == 1) ? y : 11;
arr[1][0] = (proveriKoordinateInput(x-1, y, 2, 1, *matrix) == 1) ? (x - 1) : 11;
arr[1][1] = (proveriKoordinateInput(x-1, y, 2, 1, *matrix) == 1) ? y : 11;
arr[2][0] = (proveriKoordinateInput(x, y-1, 2, 1, *matrix) == 1) ? x : 11;
arr[2][1] = (proveriKoordinateInput(x, y-1, 2, 1, *matrix) == 1) ? (y - 1) : 11;
arr[3][0] = (proveriKoordinateInput(x, y+1, 2, 1, *matrix) == 1) ? x : 11;
arr[3][1] = (proveriKoordinateInput(x, y+1, 2, 1, *matrix) == 1) ? (y + 1) : 11;
num = generisiBroj(0, 4);
x = arr[num][0];
y = arr[num][1];
while(!proveriKoordinateInput(x, y, 2, 1, *matrix))
{
num = generisiBroj(0, 4);
x = arr[num][0];
y = arr[num][1];
}
(*matrix)[x][y] = 2;
}
for(i = 0; i < 4; i++)
{
x = generisiBroj(1, 11);
y = generisiBroj(1, 11);
while(!proveriKoordinateInput(x, y, 1, 0, *matrix))
{
x = generisiBroj(1, 11);
y = generisiBroj(1, 11);
}
(*matrix)[x][y] = 1;
}
for(i = 0; i < 4; i++)
free(arr[i]);
free(arr);
}