Compare commits
3 commits
master
...
testing-gr
Author | SHA1 | Date | |
---|---|---|---|
e4ff99c68f | |||
43675af036 | |||
da0def2486 |
13
cce/App.cs
13
cce/App.cs
|
@ -18,7 +18,7 @@ namespace cce {
|
|||
byte reset = 0;
|
||||
(int, int) since = (0,0);
|
||||
while (true) {
|
||||
Title = Title + " >>> Settings";
|
||||
Title = Program.title + " >>> Settings";
|
||||
if (since.Item1 >= 4) {
|
||||
saved = false;
|
||||
since.Item1 = 0;
|
||||
|
@ -56,11 +56,22 @@ namespace cce {
|
|||
since.Item2++;
|
||||
}
|
||||
}
|
||||
static internal void Dev() {
|
||||
if (!File.Exists("dev")) {
|
||||
BackgroundColor = ConsoleColor.Red;
|
||||
WriteLine(" \n" +
|
||||
" Unable to comply, not a dev \n" +
|
||||
" ");
|
||||
ResetColor();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
internal class AppSettings {
|
||||
static internal byte Lgwrite = 1;
|
||||
static internal string Common = "common.json";
|
||||
static internal string Extended = "extended.json";
|
||||
static internal string Dictionary = "dictionary.json";
|
||||
static internal string Settings = "settings.json";
|
||||
static internal (int, int) top_bottom = (0, 0);
|
||||
static internal void Check() {
|
||||
|
|
|
@ -27,20 +27,21 @@ namespace cce {
|
|||
WriteCrypto();
|
||||
choice = Chooser();
|
||||
CursorVisible = false;
|
||||
var entry = "";
|
||||
var entry = new List<string>();
|
||||
if ((new int[] {1,2}).Contains(choice)) {
|
||||
Utils.LagWrite("Please enter the sentence: ");
|
||||
Utils.LagWrite("Please enter the sentence (Enter to submit, Ctrl+Enter for another line):", true);
|
||||
CursorVisible = true;
|
||||
//Write("Please enter the sentence: ");
|
||||
entry = ReadLine();
|
||||
entry = Utils.Entry();
|
||||
CursorVisible = false;
|
||||
}
|
||||
bool skip = false;
|
||||
if (choice == 1) { Transcoder.Encode(entry); Utils.Clip(Transcoder.result); }
|
||||
if (choice == 1) { Transcoder.Encode(entry, out string enc); Utils.Clip(enc); }
|
||||
else if (choice == 2) Transcoder.Decode(entry);
|
||||
else if (choice == 5) Transcoder.Teacher();
|
||||
else if (choice == 8) skip = App.Settings();
|
||||
else if (choice == 9) Transcoder.head_transcribe();
|
||||
else if (choice == 9) App.Dev();
|
||||
else if (choice == 253) { Clear(); continue; }
|
||||
else if (choice == 254) Help();
|
||||
else if (choice == 255) { Beep(4000, 200); return; }
|
||||
|
||||
|
@ -61,7 +62,8 @@ namespace cce {
|
|||
+"\n[5] Teach new words"
|
||||
+"\n-------------------------"
|
||||
+"\n[8] Settings"
|
||||
+"\n[9] DEV: Update JSON files using sorted files from python"
|
||||
+"\n[9] DEV"
|
||||
+"\n[c] Clear Console"
|
||||
+"\n[?] Help"
|
||||
+"\n[Backspace] Exit"
|
||||
+"\n>>> ");
|
||||
|
@ -91,6 +93,10 @@ namespace cce {
|
|||
case ',':
|
||||
if ((new char[] { '?','/','-',','}).Contains(choice.KeyChar)) return 254;
|
||||
return byte.Parse(choice.KeyChar.ToString());
|
||||
case 'c':
|
||||
case 'C':
|
||||
if ((new char[] { 'c', 'C' }).Contains(choice.KeyChar)) return 253;
|
||||
return byte.Parse(choice.KeyChar.ToString());
|
||||
default:
|
||||
WriteLine("Not a valid option");
|
||||
break;
|
||||
|
|
|
@ -12,8 +12,8 @@ using static System.Threading.Thread;
|
|||
namespace cce {
|
||||
class Transcoder {
|
||||
static internal string result = "";
|
||||
static private Dictionary<string, string> extended_dict = null;
|
||||
static private Dictionary<string, string> common_dict = null;
|
||||
static private List<string> extended_dict = null;
|
||||
static private List<string> common_dict = null;
|
||||
static private Dictionary<char, char> substitution = new Dictionary<char, char>{
|
||||
{'a','a' },
|
||||
{'b','t' },
|
||||
|
@ -88,15 +88,15 @@ namespace cce {
|
|||
if (extended_dict == null || common_dict == null) init();
|
||||
switch (cki) {
|
||||
case '1':
|
||||
if (common_dict.ContainsKey(translation)) {
|
||||
if (common_dict.Contains(translation)) {
|
||||
WriteLine("Error: Unable to add a new translation. Translation already present.");
|
||||
} else common_dict.Add(translation, cyphered);
|
||||
} else common_dict.Add(translation);
|
||||
entered = true;
|
||||
break;
|
||||
case '2':
|
||||
if (extended_dict.ContainsKey(translation)) {
|
||||
if (extended_dict.Contains(translation)) {
|
||||
WriteLine("Error: Unable to add a new translation. Translation already present.");
|
||||
} else extended_dict.Add(translation, cyphered);
|
||||
} else extended_dict.Add(translation);
|
||||
entered = true;
|
||||
break;
|
||||
default:
|
||||
|
@ -108,12 +108,47 @@ namespace cce {
|
|||
WriteLine("Translation Added"); ResetColor();
|
||||
update();
|
||||
}
|
||||
static internal void Encode(string entry) {
|
||||
result = raw_encode(entry);
|
||||
WriteLine("Transcoding:\n{0}\n", entry);
|
||||
Utils.LagWrite(result);
|
||||
static internal void Encode(List<string> entry, out string encrypted) {
|
||||
var temp = new List<string>();
|
||||
WriteLine("Transcoding:\n{0}\n", String.Join("\n", entry));
|
||||
for (int i = 0; i < entry.Count; i++) {
|
||||
result = raw_encode(entry[i]);
|
||||
Utils.LagWrite(result);
|
||||
temp.Add(result);
|
||||
if(entry.Count>1) WriteLine();
|
||||
}
|
||||
encrypted = String.Join("\n", temp);
|
||||
}
|
||||
static internal void Decode(string entry) {
|
||||
static internal void Decode(List<string> lines) {
|
||||
for (int i = 0; i < lines.Count; i++) {
|
||||
raw_decode(lines[i]);
|
||||
if (lines.Count <= 1 || i == lines.Count-1) break;
|
||||
SetCursorPosition(0, WindowHeight - 2);
|
||||
Write("Press Enter to write the next line");
|
||||
while (true) {
|
||||
var cki = ReadKey();
|
||||
if (cki.Key == ConsoleKey.Enter) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
static private void update() {
|
||||
uniquere();
|
||||
var dict = new Dictionary<string, List<string>>();
|
||||
File.WriteAllText(AppSettings.Dictionary, JsonConvert.SerializeObject(dict));
|
||||
}
|
||||
static private string raw_encode(string entry) {
|
||||
var sentence = entry.ToLower();
|
||||
char[] encoded = new char[entry.Length];
|
||||
for (int i = 0; i < sentence.Length; i++) {
|
||||
if (substitution.TryGetValue(sentence[i], out char substituted)) {
|
||||
encoded[i] = Char.IsUpper(entry[i]) ? Char.ToUpper(substituted) : Char.ToLower(substituted);
|
||||
} else {
|
||||
encoded[i] = entry[i];
|
||||
}
|
||||
}
|
||||
return String.Join("", encoded);
|
||||
}
|
||||
static private void raw_decode(string entry) {
|
||||
var sentence = entry.ToLower();
|
||||
//120x30, buffer 240x60
|
||||
if (sentence.Length >= 120) { BufferWidth = sentence.Length * 2; WindowWidth = sentence.Length + 20; }
|
||||
|
@ -144,26 +179,12 @@ namespace cce {
|
|||
Write(string.Join("", writeout));
|
||||
for (int i = 0; i < decode.Length; i++) {
|
||||
if (symbols[left] != 'x') left++;
|
||||
//var options = new List<string>();
|
||||
CursorTop = memTop;
|
||||
Console.BackgroundColor = ConsoleColor.Green;
|
||||
Console.ForegroundColor = ConsoleColor.Black;
|
||||
wordwrite(common_dict, decode[i], entry, left, i);
|
||||
/*foreach (var item in common_dict) {
|
||||
if (item.Value == decode[i]) {
|
||||
CursorLeft = left;
|
||||
//options.Add(item.Key);
|
||||
for (int j = 0; j < item.Key.Length; j++) {
|
||||
Write(Char.IsUpper(entry[i]) ? char.Parse(item.Key[j].ToString().ToUpper()) : char.Parse(item.Key[j].ToString().ToLower()));
|
||||
}
|
||||
Write(item.Key.ToUpper());
|
||||
Sleep(100);
|
||||
CursorTop++;
|
||||
}
|
||||
}*/
|
||||
wordwrite(common_dict, decode[i], entry, left);
|
||||
Console.BackgroundColor = ConsoleColor.Blue;
|
||||
Console.ForegroundColor = ConsoleColor.Black;
|
||||
wordwrite(extended_dict, decode[i], entry, left, i);
|
||||
wordwrite(extended_dict, decode[i], entry, left);
|
||||
ResetColor();
|
||||
List<List<char>> letter_decode = new List<List<char>>();
|
||||
for (int j = 0; j < decode[i].Length; j++) {
|
||||
|
@ -173,7 +194,8 @@ namespace cce {
|
|||
letterlist.Add(substituted[h]);
|
||||
}
|
||||
letter_decode.Add(letterlist);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
letter_decode.Add(new List<char> { sentence[j] });
|
||||
}
|
||||
}
|
||||
|
@ -197,95 +219,31 @@ namespace cce {
|
|||
ResetColor();
|
||||
//return string.Join(" ", decoded);
|
||||
}
|
||||
static internal void head_transcribe() {
|
||||
if(!File.Exists("dev")) {
|
||||
Clear();
|
||||
BackgroundColor = ConsoleColor.Red;
|
||||
Utils.LagWrite(" \n" +
|
||||
" Unable to comply. Not a dev version \n"+
|
||||
" ", true);
|
||||
ResetColor();
|
||||
return;
|
||||
}
|
||||
raw_transcribe("common_dict.txt", "common_dict.json");
|
||||
raw_transcribe("extended_dict.txt", "extended_dict.json");
|
||||
uniquire();
|
||||
}
|
||||
static private void update() {
|
||||
uniquire();
|
||||
File.WriteAllText(AppSettings.Extended, JsonConvert.SerializeObject(extended_dict));
|
||||
File.WriteAllText(AppSettings.Common, JsonConvert.SerializeObject(common_dict));
|
||||
}
|
||||
static private string raw_encode(string entry) {
|
||||
var sentence = entry.ToLower();
|
||||
char[] encoded = new char[entry.Length];
|
||||
for (int i = 0; i < sentence.Length; i++) {
|
||||
if (substitution.TryGetValue(sentence[i], out char substituted)) {
|
||||
encoded[i] = Char.IsUpper(entry[i]) ? Char.ToUpper(substituted) : Char.ToLower(substituted);
|
||||
} else {
|
||||
encoded[i] = entry[i];
|
||||
}
|
||||
}
|
||||
return String.Join("", encoded);
|
||||
}
|
||||
static internal bool init() {
|
||||
if (common_dict != null && extended_dict != null) return true;
|
||||
var checker = true;
|
||||
var dict = new Dictionary<string, List<string>>();
|
||||
WriteLine("[Loading Dictionary]");
|
||||
if (File.Exists(AppSettings.Extended)) extended_dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(File.ReadAllText(AppSettings.Extended));
|
||||
else { WriteLine("File missing"); checker = false; }
|
||||
if (File.Exists(AppSettings.Common)) common_dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(File.ReadAllText(AppSettings.Common));
|
||||
if (File.Exists(AppSettings.Dictionary)) dict = JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(File.ReadAllText(AppSettings.Dictionary));
|
||||
else { WriteLine("File missing"); checker = false; }
|
||||
common_dict = dict["common"];
|
||||
extended_dict = dict["extended"];
|
||||
return checker;
|
||||
}
|
||||
static private void uniquire() {
|
||||
static private void uniquere() {
|
||||
init();
|
||||
foreach (var item in common_dict) {
|
||||
if (extended_dict.ContainsKey(item.Key)) extended_dict.Remove(item.Key);
|
||||
if (extended_dict.Contains(item)) extended_dict.Remove(item);
|
||||
}
|
||||
}
|
||||
static private void raw_transcribe(string input, string output) {
|
||||
var lines = File.ReadAllLines(input);
|
||||
for (int i = 0; i < lines.Length; i++) {
|
||||
lines[i] = lines[i].ToLower();
|
||||
}
|
||||
var English = new string[lines.Length];
|
||||
lines.CopyTo(English, 0);
|
||||
for (int i = 0; i < English.Length; i++) {
|
||||
var word = new char[English[i].Length];
|
||||
for (int j = 0; j < English[i].Length; j++) {
|
||||
if (substitution.TryGetValue(English[i][j], out char substituted)) {
|
||||
word[j] = substituted;
|
||||
}
|
||||
else {
|
||||
word[j] = English[i][j];
|
||||
}
|
||||
}
|
||||
lines[i] = String.Join("", word);
|
||||
WriteLine($"{English[i]}:{lines[i]}");
|
||||
}
|
||||
Dictionary<string, string> vals = new Dictionary<string, string>();
|
||||
for (int i = 0; i < English.Length; i++) {
|
||||
if (vals.ContainsKey(English[i])) continue;
|
||||
vals.Add(English[i], lines[i]);
|
||||
}
|
||||
File.WriteAllText(output, JsonConvert.SerializeObject(vals));
|
||||
}
|
||||
static internal void concat() {
|
||||
init();
|
||||
var dict = new Dictionary<string, Dictionary<string, string>>();
|
||||
dict.Add("short", common_dict);
|
||||
dict.Add("long", extended_dict);
|
||||
File.WriteAllText("dictionary.json", JsonConvert.SerializeObject(dict));
|
||||
|
||||
}
|
||||
static private void wordwrite(Dictionary<string, string> collection, string decode, string entry,int left, int i) {
|
||||
static private void wordwrite(List<string> collection, string decode, string entry,int left) {
|
||||
foreach (var item in collection) {
|
||||
if (item.Value == decode) {
|
||||
var trans = raw_encode(item);
|
||||
if (trans == decode) {
|
||||
CursorLeft = left;
|
||||
//options.Add(item.Key);
|
||||
for (int j = 0; j < item.Key.Length; j++) {
|
||||
Write(Char.IsUpper(entry[CursorLeft]) ? Char.ToUpper(item.Key[j]) : Char.ToLower(item.Key[j]));
|
||||
for (int j = 0; j < item.Length; j++) {
|
||||
Write(Char.IsUpper(entry[CursorLeft]) ? Char.ToUpper(item[j]) : Char.ToLower(item[j]));
|
||||
}
|
||||
Utils.VarSleep(10, low: 20,high:100);
|
||||
CursorTop++;
|
||||
|
|
37
cce/Utils.cs
37
cce/Utils.cs
|
@ -27,7 +27,7 @@ namespace cce {
|
|||
WriteLine();
|
||||
if (Char.ToLower(cki) == 'y') { Clipboard.SetText(clip); WriteLine("Writing to Clipboard: Done!"); } else WriteLine("Writing to Clipboard: Canceled by User");
|
||||
}
|
||||
internal static void LagWrite(string input, bool newline = false) {
|
||||
static internal void LagWrite(string input, bool newline = false) {
|
||||
if (AppSettings.Lgwrite == 0) {
|
||||
if (newline) WriteLine(input);
|
||||
else Write(input);
|
||||
|
@ -59,5 +59,40 @@ namespace cce {
|
|||
if (newline || i < phrases.Count - 1) WriteLine();
|
||||
}
|
||||
}
|
||||
static internal List<string> Entry() {
|
||||
var list = new List<string>();
|
||||
ConsoleKeyInfo input = new ConsoleKeyInfo();
|
||||
bool exit = false;
|
||||
do {
|
||||
List<char> chars = new List<char>();
|
||||
exit = false;
|
||||
for (int i = 0; i < 30; i++) {
|
||||
input = ReadKey();
|
||||
if (chars.Count > 0 && input.Key == ConsoleKey.Enter && input.Modifiers == ConsoleModifiers.Control) {
|
||||
list.Add(String.Join("", chars));
|
||||
break;
|
||||
}
|
||||
else if (i > 20 && input.Key == ConsoleKey.Spacebar || i > 29) {
|
||||
list.Add(String.Join("", chars));
|
||||
WriteLine();
|
||||
break;
|
||||
}
|
||||
else if (chars.Count > 0 && input.Key == ConsoleKey.Enter && input.Modifiers == 0) {
|
||||
list.Add(String.Join("", chars));
|
||||
exit = true;
|
||||
break;
|
||||
}
|
||||
else if (input.Key == ConsoleKey.Backspace) {
|
||||
chars.RemoveAt(chars.Count-1);
|
||||
if (CursorLeft >0) {
|
||||
Write(" "); CursorLeft--;
|
||||
}
|
||||
}
|
||||
else chars.Add(input.KeyChar);
|
||||
}
|
||||
|
||||
} while (!exit);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
1004
cce/necessary files/common.txt
Normal file
1004
cce/necessary files/common.txt
Normal file
File diff suppressed because it is too large
Load diff
1
cce/necessary files/dictionary.json
Normal file
1
cce/necessary files/dictionary.json
Normal file
File diff suppressed because one or more lines are too long
465544
cce/necessary files/extended.txt
Normal file
465544
cce/necessary files/extended.txt
Normal file
File diff suppressed because it is too large
Load diff
26
cce/necessary files/strip.py
Normal file
26
cce/necessary files/strip.py
Normal file
|
@ -0,0 +1,26 @@
|
|||
import json
|
||||
|
||||
f1 = open('common.json', 'r')
|
||||
f2 = open('extended.json', 'r')
|
||||
data1 = json.load(f1)
|
||||
data2 = json.load(f2)
|
||||
f1.close()
|
||||
f2.close()
|
||||
|
||||
words1 = []
|
||||
words2 = []
|
||||
|
||||
for key in data1:
|
||||
words1.append(key)
|
||||
for key in data2:
|
||||
words2.append(key)
|
||||
|
||||
dict = {
|
||||
'common':words1,
|
||||
'extended':words2
|
||||
}
|
||||
|
||||
f = open("dictionary.json", "w")
|
||||
json.dump(dict, f)
|
||||
f.close()
|
||||
print("done")
|
1
cce/strip.py
Normal file
1
cce/strip.py
Normal file
|
@ -0,0 +1 @@
|
|||
import json
|
BIN
last functional release/CCE/Newtonsoft.Json.dll
Normal file
BIN
last functional release/CCE/Newtonsoft.Json.dll
Normal file
Binary file not shown.
11305
last functional release/CCE/Newtonsoft.Json.xml
Normal file
11305
last functional release/CCE/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load diff
BIN
last functional release/CCE/corpus-cypher.exe
Normal file
BIN
last functional release/CCE/corpus-cypher.exe
Normal file
Binary file not shown.
1
last functional release/CCE/dictionary.json
Normal file
1
last functional release/CCE/dictionary.json
Normal file
File diff suppressed because one or more lines are too long
BIN
last functional release/Newtonsoft.Json.dll
Normal file
BIN
last functional release/Newtonsoft.Json.dll
Normal file
Binary file not shown.
11305
last functional release/Newtonsoft.Json.xml
Normal file
11305
last functional release/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load diff
BIN
last functional release/cce.zip
Normal file
BIN
last functional release/cce.zip
Normal file
Binary file not shown.
BIN
last functional release/corpus-cypher.exe
Normal file
BIN
last functional release/corpus-cypher.exe
Normal file
Binary file not shown.
6
last functional release/corpus-cypher.exe.config
Normal file
6
last functional release/corpus-cypher.exe.config
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
1
last functional release/dictionary.json
Normal file
1
last functional release/dictionary.json
Normal file
File diff suppressed because one or more lines are too long
1
last functional release/settings.json
Normal file
1
last functional release/settings.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"LagWrite":"1","Common":"common.json","Extended":"extended.json","Settings":"settings.json"}
|
BIN
last functional release/start-cee.lnk
Normal file
BIN
last functional release/start-cee.lnk
Normal file
Binary file not shown.
Loading…
Reference in a new issue