コード例 #1
0
        public static void FillText(string text, int rowCount, int columnCount)
        {
            // начиная со второго рядка заполнять таблицу символами исходного текста
            int       index       = 0;
            const int startletter = 97;
            int       letter      = startletter; // индекс для екстра символов. Для заполнение пустых клеточек
            string    character;

            for (int i = 2; i < (int)rowCount; i++)
            {
                for (int j = 0; j < columnCount; j++)
                {
                    // Text 1.1
                    if (index < text.Length)
                    {
                        character = text[index++].ToString();
                    }
                    else if (i == rowCount - 1 && j == columnCount - 1)
                    {
                        int number = letter - startletter + 1; // считает сколько дополнительных символов было использовано. +1, куда записываеться сам результат
                        character = number.ToString();
                    }
                    else
                    {
                        character = ((char)letter).ToString();
                        letter++;
                    }
                    // Grid
                    SquareCreator.create(MainWindow.OriginalTable, character, i, j);
                }
            }
        }
コード例 #2
0
        public static void FillKeyWord(string keyWord, int columnCount)
        {
            string text; // представляет символ, который будет записан в клеточку

            // первый и второй ряд - секретное слово и индекс
            for (int i = 0; i < columnCount; i++)
            {
                // Text
                text = keyWord[i].ToString();
                // Grid
                SquareCreator.create(MainWindow.OriginalTable, text, 0, i);

                // Text
                int num = (int)keyWord[i];
                text = num.ToString();
                // Grid
                SquareCreator.create(MainWindow.OriginalTable, text, 1, i);
            }
        }
コード例 #3
0
 public static void FillEncryptedTable(Grid table, int[] keyWordIndexes, int rowCount)
 {
     for (int i = 0; i < keyWordIndexes.Length; i++)
     {
         for (int j = 0; j < keyWordIndexes.Length; j++)
         {
             TextBlock textBlock = Find(table, 1, j);
             int       number    = int.Parse(textBlock.Text);
             if (keyWordIndexes[i] == number)
             {
                 for (int k = 0; k < rowCount; k++)
                 {
                     textBlock = Find(table, k, j);
                     string text = textBlock.Text;
                     SquareCreator.create(MainWindow.EncryptedTable, text, k, i);
                 }
             }
         }
     }
 }