Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace PlayFair
  12. {
  13. public partial class Form1 : Form
  14. {
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19.  
  20. private void button1_Click(object sender, EventArgs e)
  21. {
  22. string parsedKey = parseKey(txtKey.Text);
  23. txtKey.Text = parsedKey;
  24. char[] keyArray = new char[25];
  25. char[,] playKey = new char[5, 5];
  26.  
  27.  
  28. // Mbushe arr me parsedKey
  29. for (int i = 0; i < parsedKey.Length; i++)
  30. {
  31. keyArray[i] = parsedKey[i];
  32. }
  33.  
  34.  
  35. char fillChar = 'A';
  36. int fillCounter = 0;
  37. for (int i = parsedKey.Length; i < 25; i++)
  38. {
  39. if(fillChar + fillCounter != 'J' && !keyArray.Contains((char)(fillChar + fillCounter)))
  40. {
  41. keyArray[i] = (char)((int)fillChar + fillCounter);
  42. } else
  43. {
  44. i--;
  45. }
  46. fillCounter++;
  47.  
  48. }
  49.  
  50. int tCounter = 0;
  51. for (int i = 0; i < 5; i++)
  52. {
  53. for (int j = 0; j < 5; j++)
  54. {
  55. if(tCounter < keyArray.Length)
  56. {
  57. playKey[i, j] = keyArray[tCounter];
  58. tCounter++;
  59. }
  60. }
  61. }
  62.  
  63. // Mbush labels me shkronjat e celsit
  64. displayKey(playKey, parsedKey.Length);
  65.  
  66.  
  67. }
  68.  
  69. private string parseKey(string key)
  70. {
  71.  
  72. // Zevendesojme shkronjen J me I
  73. key = key.Replace("J", "I");
  74. StringBuilder parsedKey = new StringBuilder();
  75.  
  76.  
  77. for(int i = 0; i < key.Length; i++)
  78. {
  79. if (parsedKey.ToString().IndexOf(key[i]) == -1)
  80. {
  81. parsedKey.Append(key[i].ToString());
  82. }
  83. }
  84.  
  85. System.Diagnostics.Debug.WriteLine("DONE");
  86. return parsedKey.ToString();
  87. }
  88.  
  89. // Metoda qe i popullon labels me pjeset e celsit
  90. private void displayKey(char[,] key, int wordLength)
  91. {
  92. // REFACTOR ASAP - krejt metoden!
  93. List<Label> myLabels = new List<Label> {label1, label2, label3, label4, label5,
  94. label6, label7, label8, label9, label10,
  95. label11, label12, label13, label14, label15,
  96. label16, label17, label18, label19, label20,
  97. label21, label22, label23, label24, label25
  98. };
  99.  
  100. int labelCounter = 0;
  101. for (int i = 0; i < 5; i++)
  102. {
  103. for (int j = 0; j < 5; j++)
  104. {
  105. if(labelCounter < wordLength) {
  106. myLabels[labelCounter].Font = new Font(myLabels[labelCounter].Font.Name, 9, FontStyle.Bold);
  107. }
  108. myLabels[labelCounter].Text = key[i,j].ToString();
  109. labelCounter++;
  110. }
  111. }
  112. }
  113. }
  114.  
  115.  
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement