private int GetStateNumber( int x, int y )
{
int c1 = ( map[y - 1, x - 1] != 0 ) ? 1 : 0;
int c2 = ( map[y - 1, x] != 0 ) ? 1 : 0;
int c3 = ( map[y - 1, x + 1] != 0 ) ? 1 : 0;
int c4 = ( map[y, x + 1] != 0 ) ? 1 : 0;
int c5 = ( map[y + 1, x + 1] != 0 ) ? 1 : 0;
int c6 = ( map[y + 1, x] != 0 ) ? 1 : 0;
int c7 = ( map[y + 1, x - 1] != 0 ) ? 1 : 0;
int c8 = ( map[y, x - 1] != 0 ) ? 1 : 0;
return c1 |
( c2 << 1 ) |
( c3 << 2 ) |
( c4 << 3 ) |
( c5 << 4 ) |
( c6 << 5 ) |
( c7 << 6 ) |
( c8 << 7 );
}
}