Facebook
From Cobalt Motmot, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 205
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp3
  8. {
  9.     class Program
  10.     {
  11.         static int[,] grid = new int[9, 9];
  12.         static string s;
  13.         static void Init(ref int[,] grid)
  14.         {
  15.             for (int i = 0; i < 9; i++)
  16.             {
  17.                 for (int j = 0; j < 9; j++)
  18.                     grid[i, j] = (i * 3 + i / 3 + j) % 9 + 1;
  19.             }
  20.         }
  21.  
  22.         static void Draw(ref int[,] grid, out string _s)
  23.         {
  24.             for (int x = 0; x < 9; x++)
  25.             {
  26.                 for (int y = 0; y < 9; y++)
  27.                 {
  28.                     s += grid[x, y].ToString() + "";
  29.  
  30.                 }
  31.                 s += "n";
  32.             }
  33.             Console.WriteLine(s);
  34.             _s = s;
  35.             s = "";
  36.         }
  37.  
  38.         static void ChangeTwoCell(ref int[,] grid, int ZnajdzLiczbe1, int ZnajdzLiczbe2)
  39.         {
  40.  
  41.             int xParam1, yParam1, xParam2, yParam2;
  42.             xParam1 = yParam1 = xParam2 = yParam2 = 0;
  43.             for (int i = 0; i < 9; i += 3)
  44.             {
  45.                 for (int k = 0; k < 9; k += 3)
  46.                 {
  47.                     for (int j = 0; j < 3; j++)
  48.                     {
  49.                         for (int z = 0; z < 3; z++)
  50.                         {
  51.                             if (grid[i + j, k + z] == ZnajdzLiczbe1)
  52.                             {
  53.                                 xParam1 = i + j;
  54.                                 yParam1 = k + z;
  55.                             }
  56.                             if (grid[i + j, k + z] == ZnajdzLiczbe2)
  57.                             {
  58.                                 xParam2 = i + j;
  59.                                 yParam2 = k + z;
  60.                             }
  61.                         }
  62.                     }
  63.                     grid[xParam1, yParam1] = ZnajdzLiczbe2;
  64.                     grid[xParam2, yParam2] = ZnajdzLiczbe1;
  65.  
  66.                 }
  67.                
  68.             }
  69.            
  70.         }
  71.     static void Ulepszenie(ref int [,] grid, int Przesuniecia)
  72.         {
  73.             for (int powtorka = 0; powtorka < Przesuniecia; powtorka++)
  74.             {
  75.                 Random losowy = new Random(Guid.NewGuid().GetHashCode());
  76.                 Random losowy1 = new Random(Guid.NewGuid().GetHashCode());
  77.                 ChangeTwoCell(ref grid, losowy.Next(1, 9), losowy1.Next(1, 9));
  78.             }
  79.         }
  80.         [STAThread]
  81.         static void Main(string[] args)
  82.         {
  83.             Console.BackgroundColor = ConsoleColor.Blue;
  84.             s = "";
  85.             string click1;
  86.             Init(ref grid);
  87.             Ulepszenie(ref grid, 10);
  88.             Draw(ref grid, out click1);
  89.             System.Windows.Forms.Clipboard.SetText(click1);
  90.             Console.ReadKey();
  91.         }
  92.     }
  93. }
  94.