Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.07 KB | None | 0 0
  1. private static void IslandCounter(ref char[,] map, ref int? island, ref int rows, ref int columns, int currentrow, int currentcolumn)
  2.         {
  3.             counter++;
  4.             if (currentrow < 0 || currentcolumn < 0)
  5.             {
  6.                 return;
  7.             }
  8.             if (map[currentrow, currentcolumn] == 'q')
  9.             {
  10.                 island += 0;
  11.                 return;
  12.             }
  13.             if ((currentrow == 0 || currentrow == rows - 1 || currentcolumn == 0 || currentcolumn == columns - 1) && map[currentrow, currentcolumn] == 'x')
  14.             {
  15.                 island = null;
  16.                 return;
  17.             }
  18.             island += 1;
  19.             map[currentrow, currentcolumn] = 'q';
  20.             if (map[currentrow - 1, currentcolumn - 1] == 'x')
  21.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn - 1);
  22.             if (map[currentrow - 1, currentcolumn] == 'x')
  23.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn);
  24.             if (map[currentrow - 1, currentcolumn + 1] == 'x')
  25.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow - 1, currentcolumn + 1);
  26.             if (map[currentrow, currentcolumn - 1] == 'x')
  27.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow, currentcolumn - 1);
  28.             if (map[currentrow, currentcolumn + 1] == 'x')
  29.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow, currentcolumn + 1);
  30.             if (map[currentrow + 1, currentcolumn - 1] == 'x')
  31.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn - 1);
  32.             if (map[currentrow + 1, currentcolumn] == 'x')
  33.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn);
  34.             if (map[currentrow + 1, currentcolumn + 1] == 'x')
  35.                 IslandCounter(ref map, ref island, ref rows, ref columns, currentrow + 1, currentcolumn + 1);
  36.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement