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;
- using System.Text.RegularExpressions;
- using System.Threading;
- using System.IO;
- namespace SpintaxDecoder
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- List<string> sentences = new List<string>();
- public int Count = 0;
- private void button1_Click(object sender, EventArgs e)
- {
- button1.Text = "Generating...";
- button1.Enabled = false;
- Application.DoEvents();
- string data = richTextBox1.Text;
- Random rand = new Random(this.Timestamp());
- for (; ; )
- {
- string spun = this.spintax(rand, data);
- if (sentences.Contains(spun) != true)
- {
- sentences.Add(spun);
- }
- else
- {
- this.Count++;
- }
- if (this.Count == 1000)
- {
- break;
- }
- }
- label2.Text = this.sentences.Count().ToString();
- foreach (string sentence in sentences)
- {
- richTextBox2.Text += sentence + "\n";
- }
- MessageBox.Show("Completed!", "Information!", MessageBoxButtons.OK, MessageBoxIcon.Information);
- button1.Enabled = true;
- button1.Text = "Start Decoding";
- this.sentences.Clear();
- this.Count = 0;
- }
- public int Timestamp()
- {
- long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks;
- ticks /= 10000000;
- return Convert.ToInt32(ticks);
- }
- public string spintax(Random rnd, string str)
- {
- string pattern = "{[^{}]*}";
- Match m = Regex.Match(str, pattern);
- while (m.Success)
- {
- string seg = str.Substring(m.Index + 1, m.Length - 2);
- string[] choices = seg.Split('|');
- str = str.Substring(0, m.Index) + choices[rnd.Next(choices.Length)] + str.Substring(m.Index + m.Length);
- m = Regex.Match(str, pattern);
- }
- return str;
- }
- private void button2_Click(object sender, EventArgs e)
- {
- saveFileDialog1.Filter = "Text File|.txt";
- saveFileDialog1.InitialDirectory = "C:\\";
- saveFileDialog1.ShowDialog();
- string file = saveFileDialog1.FileName;
- if (file.Trim() != "")
- {
- StreamWriter writer = new StreamWriter(file);
- string[] lines = richTextBox2.Text.Split('\n');
- foreach(string line in lines)
- {
- writer.WriteLine(line);
- }
- writer.Close();
- MessageBox.Show("File saved!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement