From 3a4d617933deb7906270aec9b0a21dad9d446d5f Mon Sep 17 00:00:00 2001 From: Heli-o Date: Mon, 18 Apr 2022 16:53:21 +0200 Subject: [PATCH] Helio left nut --- cce.ico | Bin 0 -> 51478 bytes cce/App.cs | 39 +++++++++++++++++++++++++++++++++++++++ cce/Program.cs | 7 +++++-- cce/Transcoder.cs | 12 ++++-------- cce/Utils.cs | 2 +- cce/cce.csproj | 11 +++++++++-- cce/cce.ico | Bin 0 -> 51478 bytes 7 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 cce.ico create mode 100644 cce/App.cs create mode 100644 cce/cce.ico diff --git a/cce.ico b/cce.ico new file mode 100644 index 0000000000000000000000000000000000000000..ef2c93e36f8ec6ca3f5fdae9669e53ddb3963862 GIT binary patch literal 51478 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 Pw ToDict () { + //Add properties and finish this method + return new Dictionary (); + } + static internal void Update() { + var settings = JsonConvert.DeserializeObject>(File.ReadAllText(Path.Settings)); + } + } +} diff --git a/cce/Program.cs b/cce/Program.cs index 7b3e87a..980d301 100644 --- a/cce/Program.cs +++ b/cce/Program.cs @@ -12,7 +12,7 @@ using static System.Threading.Thread; namespace cce { class Program { static internal string title = "Corpus Cypher Executable (CCE)"; - [STAThreadAttribute] + [STAThread] static void Main(string[] args) { byte choice = 255; while (true) { @@ -58,7 +58,9 @@ namespace cce { +"\n-------------------------" +"\n[5] Teach new words" +"\n-------------------------" ++"\n[8] Settings" +"\n[9] DEV: Update JSON files using sorted files from python" ++"\n[?] Help" +"\n[0] Exit" +"\n>>> "); /*Write(@"Options? @@ -78,6 +80,7 @@ namespace cce { case '2': case '5': case '9': + case '8': case '0': case '?': case '/': @@ -119,7 +122,7 @@ namespace cce { CursorLeft = WindowWidth - crypto[i].Length - 2; foreach (char c in crypto[i]) { Write(c); - if (c != ' ') Sleep(1); + if (Utils.rng.NextDouble()>0.8 && c != ' ') Sleep(1); } } SetCursorPosition(pos.CursorLeft, pos.CursorTop); diff --git a/cce/Transcoder.cs b/cce/Transcoder.cs index 9c0b402..47a9606 100644 --- a/cce/Transcoder.cs +++ b/cce/Transcoder.cs @@ -58,10 +58,6 @@ namespace cce { {'b',"z" } }; - static private Dictionary path = new Dictionary{ - {"common","common_dict.json" }, - {"extended","extended_dict.json"} - }; static internal void Teacher() { var pos = CursorTop; Write("Please enter the encrypted word: "); @@ -213,8 +209,8 @@ namespace cce { } static private void update() { uniquire(); - File.WriteAllText(path["extended"], JsonConvert.SerializeObject(extended_dict)); - File.WriteAllText(path["common"], JsonConvert.SerializeObject(common_dict)); + File.WriteAllText(App.path["extended"], JsonConvert.SerializeObject(extended_dict)); + File.WriteAllText(App.path["common"], JsonConvert.SerializeObject(common_dict)); } static private string raw_encode(string entry) { var sentence = entry.ToLower(); @@ -231,9 +227,9 @@ namespace cce { static private void init() { if (common_dict != null && extended_dict != null) return; WriteLine("[Loading Dictionary]"); - if (File.Exists(path["extended"])) extended_dict = JsonConvert.DeserializeObject>(File.ReadAllText(path["extended"])); + if (File.Exists(App.path["extended"])) extended_dict = JsonConvert.DeserializeObject>(File.ReadAllText(App.path["extended"])); else WriteLine("File missing"); - if (File.Exists(path["common"])) common_dict = JsonConvert.DeserializeObject>(File.ReadAllText(path["common"])); + if (File.Exists(App.path["common"])) common_dict = JsonConvert.DeserializeObject>(File.ReadAllText(App.path["common"])); else WriteLine("File missing"); } static private void uniquire() { diff --git a/cce/Utils.cs b/cce/Utils.cs index 698fd15..06869e4 100644 --- a/cce/Utils.cs +++ b/cce/Utils.cs @@ -11,7 +11,7 @@ using static System.Threading.Thread; namespace cce { class Utils { - static private Random rng = new Random(); + static internal Random rng = new Random(); static internal void VarSleep(int adj, int low = 0, int high = 300, int step = 10, decimal chance = 0.25m) { var del = rng.Next(Math.Abs(adj)); diff --git a/cce/cce.csproj b/cce/cce.csproj index 356b8a4..f090c39 100644 --- a/cce/cce.csproj +++ b/cce/cce.csproj @@ -6,8 +6,8 @@ AnyCPU {F8D0AB76-7AC7-4F50-8556-58A2C2255D40} Exe - corpus_decoder - corpus decoder + cce + corpus-cypher v4.7.2 512 true @@ -32,6 +32,9 @@ prompt 4 + + cce.ico + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll @@ -47,6 +50,7 @@ + @@ -56,5 +60,8 @@ + + + \ No newline at end of file diff --git a/cce/cce.ico b/cce/cce.ico new file mode 100644 index 0000000000000000000000000000000000000000..ef2c93e36f8ec6ca3f5fdae9669e53ddb3963862 GIT binary patch literal 51478 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 Pw