Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace PlayFair
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- string parsedKey = parseKey(txtKey.Text);
- txtKey.Text = parsedKey;
- char[] keyArray = new char[25];
- char[,] playKey = new char[5, 5];
- // Mbushe arr me parsedKey
- for (int i = 0; i < parsedKey.Length; i++)
- {
- keyArray[i] = parsedKey[i];
- }
- char fillChar = 'A';
- int fillCounter = 0;
- for (int i = parsedKey.Length; i < 25; i++)
- {
- if(fillChar + fillCounter != 'J' && !keyArray.Contains((char)(fillChar + fillCounter)))
- {
- keyArray[i] = (char)((int)fillChar + fillCounter);
- } else
- {
- i--;
- }
- fillCounter++;
- }
- int tCounter = 0;
- for (int i = 0; i < 5; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if(tCounter < keyArray.Length)
- {
- playKey[i, j] = keyArray[tCounter];
- tCounter++;
- }
- }
- }
- // Mbush labels me shkronjat e celsit
- displayKey(playKey, parsedKey.Length);
- }
- private string parseKey(string key)
- {
- // Zevendesojme shkronjen J me I
- key = key.Replace("J", "I");
- StringBuilder parsedKey = new StringBuilder();
- for(int i = 0; i < key.Length; i++)
- {
- if (parsedKey.ToString().IndexOf(key[i]) == -1)
- {
- parsedKey.Append(key[i].ToString());
- }
- }
- System.Diagnostics.Debug.WriteLine("DONE");
- return parsedKey.ToString();
- }
- // Metoda qe i popullon labels me pjeset e celsit
- private void displayKey(char[,] key, int wordLength)
- {
- // REFACTOR ASAP - krejt metoden!
- List<Label> myLabels = new List<Label> {label1, label2, label3, label4, label5,
- label6, label7, label8, label9, label10,
- label11, label12, label13, label14, label15,
- label16, label17, label18, label19, label20,
- label21, label22, label23, label24, label25
- };
- int labelCounter = 0;
- for (int i = 0; i < 5; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if(labelCounter < wordLength) {
- myLabels[labelCounter].Font = new Font(myLabels[labelCounter].Font.Name, 9, FontStyle.Bold);
- }
- myLabels[labelCounter].Text = key[i,j].ToString();
- labelCounter++;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement