c# index out of bounds of array Vyřešeno
Napsal: 08 črc 2013 11:50
zdravím, mám problém, stím, že když je políčko mina, tak všechna políčka kolem něj dostanou hodnotu 1, ale v případě, že je mina na kraji pole, tak se dostanu mimo pole, nevíte někdo jendoduché řešení?

Kód: Vybrat vše
for (int a = 0; a < Array.x ; a++)
{
for (int b = 0; b < Array.y ; b++)
{
if (Array.pole[a, b] == 1)
{
Array.poleM[a, b] = 0;
if (Array.pole[a, b + 1] != 1)
{
//dolu
Array.poleM[a, b + 1] += 1;
//dolu
}
if (Array.pole[a + 1, b] != 1)
{
//doprava
Array.poleM[a + 1, b] += 1;
//doprava
}
if (Array.pole[a - 1, b] != 1)
{
//doleva
Array.poleM[a - 1, b] += 1;
//doleva
}
if (Array.pole[a, b - 1] != 1)
{
//nahoru
Array.poleM[a, b - 1] += 1;
//nahoru
}
if (Array.pole[a - 1, b - 1] != 1)
{
//vlevo nahore
Array.poleM[a - 1, b - 1] += 1;
//vlevo nahore
}
if (Array.pole[a + 1, b - 1] != 1)
{
//vpravo nahore
Array.poleM[a + 1, b - 1] += 1;
//vpravo nahore
}
if (Array.pole[a - 1, b + 1] != 1)
{
//vlevo dole
Array.poleM[a - 1, b + 1] += 1;
//vlevo dole
}
if (Array.pole[a + 1, b + 1] != 1)
{
//vpravo dole
Array.poleM[a + 1, b + 1] += 1;
//vpravo dole
}
}