Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void IslandCounter(ref char[,] map, ref int? island, ref int rows, ref int columns, int currentrow, int currentcolumn)
- {
- counter++;
- if (currentrow < 0 || currentcolumn < 0)
- {
- return;
- }
- if (map[currentrow, currentcolumn] == 'q')
- {
- island += 0;
- return;
- }
- if ((currentrow == 0 || currentrow == rows - 1 || currentcolumn == 0 || currentcolumn == columns - 1) && map[currentrow, currentcolumn] == 'x')
- {
- island = null;
- return;
- }
- island += 1;
- map[currentrow, currentcolumn] = 'q';
- if (map[currentrow - 1, currentcolumn - 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn - 1);
- if (map[currentrow - 1, currentcolumn] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn);
- if (map[currentrow - 1, currentcolumn + 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn + 1);
- if (map[currentrow, currentcolumn - 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow, currentcolumn - 1);
- if (map[currentrow, currentcolumn + 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow, currentcolumn + 1);
- if (map[currentrow + 1, currentcolumn - 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn - 1);
- if (map[currentrow + 1, currentcolumn] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn);
- if (map[currentrow + 1, currentcolumn + 1] == 'x')
- IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn + 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement