Advertisement
Lusien_Lashans

Saper

Aug 6th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.69 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3.  
  4. namespace SaperMatrix
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var random= new Random();
  11.             var high = 20;
  12.             var width = 20;
  13.             var countOfMines = 0;
  14.             var matrix = new int[high, width];
  15.             for (int i = 0; i < high; i++)  //заполним матрицу коэффицентами
  16.                 for (int j = 0; j < width; j++)
  17.                 {
  18.                     matrix[i, j] = random.Next(0, 20);
  19.                     if (matrix[i, j] > 16)
  20.                         countOfMines++;
  21.                 }
  22.  
  23.             for (int i = 0; i < high; i++) //заполним матрицу условными минами
  24.                 for (int j = 0; j < width; j++)
  25.                     matrix[i, j] = (matrix[i, j] > 16) ? -1 : 0;
  26.  
  27.  
  28.             for (int i = 0; i < high; i++)
  29.                 for (int j = 0; j < width; j++)
  30.                     if (matrix[i, j] == -1)
  31.                     {
  32.                         if (j - 1 > -1)
  33.                             if (matrix[i, j - 1] != -1)
  34.                                 matrix[i, j - 1]++;
  35.                         if (j + 1 < width)
  36.                             if (matrix[i, j + 1] != -1)
  37.                                 matrix[i, j + 1]++;
  38.                         if (i + 1 < high)
  39.                             if (matrix[i + 1, j] != -1)
  40.                                 matrix[i + 1, j]++;
  41.                         if (i - 1 > -1)
  42.                             if (matrix[i - 1, j] != -1)
  43.                                 matrix[i - 1, j]++;
  44.  
  45.                         if ((j - 1 > -1) && (i + 1 < high))
  46.                             if (matrix[i + 1, j - 1] != -1)
  47.                                 matrix[i + 1, j - 1]++;
  48.                         if ((j + 1 < width) && (i + 1 < high))
  49.                             if (matrix[i + 1, j + 1] != -1)
  50.                                 matrix[i + 1, j + 1]++;
  51.                         if ((j - 1 > -1) && (i - 1 > -1))
  52.                             if (matrix[i - 1, j - 1] != -1)
  53.                                 matrix[i - 1, j - 1]++;
  54.                         if ((j + 1 < width) && (i - 1 > -1))
  55.                             if (matrix[i - 1, j + 1] != -1)
  56.                                 matrix[i - 1, j + 1]++;
  57.                     }
  58.  
  59.             var output = "";
  60.             for (int i = 0; i < high; i++)
  61.             {
  62.                 for (int j = 0; j < width; j++)
  63.                     output += matrix[i, j].ToString() + " ";
  64.                 output += "\r\n";
  65.             }
  66.             File.Delete("out.txt");
  67.             File.AppendAllText("out.txt",output);
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement