From 85da23a688dbb444efc3dbb6930e9c95ded9ac3c Mon Sep 17 00:00:00 2001 From: That_One_Nerd Date: Fri, 26 May 2023 07:18:49 -0400 Subject: [PATCH] Made CorgiCoder's Shift Cipher even more awesome! --- ShiftCipher/.vs/ShiftCipher/v17/.suo | Bin 34816 -> 36352 bytes ShiftCipher/Program.cs | 16 -- ShiftCipher/ShiftSerializer.cs | 306 ++++++++++++++++++++++++++ ShiftCipher/ShiftSerializerOptions.cs | 13 ++ Testing/Program.cs | 2 +- 5 files changed, 320 insertions(+), 17 deletions(-) delete mode 100644 ShiftCipher/Program.cs create mode 100644 ShiftCipher/ShiftSerializer.cs create mode 100644 ShiftCipher/ShiftSerializerOptions.cs diff --git a/ShiftCipher/.vs/ShiftCipher/v17/.suo b/ShiftCipher/.vs/ShiftCipher/v17/.suo index 8a4772e7d7f63ae7131bcdab59ccad9bbdbc58be..8fd6dfd49ec9fc0ed20d0d085ec0c9439ea48045 100644 GIT binary patch literal 36352 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 z z{|r!VW(!}xSC(n6lxJ_E;)rxPepq?Qvpn;*jMKR;3%{Q%PC{FbYr_`!>c5;=edx<) z-Rn8t@!o~2d%wQ^aQfeFy>|C|FK!z7`2W4BJqBj9fIBj-dT@tRe($@oCXD@mDrVWY delta 2807 zcmcImeN0nV6z_esQ0seAwR{zjQV}X2<+VjV)Q%#Jf*>uME}CqkMRd;1XtZRA8ms7l zt;yh>CHs<#8N}Ecrh{UxXpVTYVSGGt znN`qw8T50l0xQFz7J<8BFe;R=58*D?0jD^Jt_9T(V0YSTfzc{CSFD6#oSdN}P!yha z?@3%cOOr42@#(dNbQ!$5MzaVn)6W1y_kq_YLMY8Autm6_N01-7TI(A)aZU$KN|JQc zJ;c8h1{w1R1A^ux793N4G7y;v0igqTwySa(j^Z})-*X|b5HWx_ggA^)@}c~N5<~qgn!JyTA4IPiiZDZarAjYPSHHIBKx4*nIxXr$C7fkp*g}?j}*z6yHgZpnv>msmY?FdBHEr(C+_2Mz43gxoI z5!|?>uBM^8YLlZutf~>~da8oX`b|~cE{E7q*W++?i%w2+6vXvmkOEFDHgSCuoDa?g z%N{4ZzM&ONK^NQ^C`_&DHbL%R^HVO4rTx8GWbZ+*AU7x;gV5w6NF;0X45dn$qo$P1 zp!EVzq*RydY$_u1g95P%FFjr~T-nT$)d5pW+T@3(BNNU-wQ>Q$WG!|aIwn75wGLzE zM4bnfdf5ThWoiZ1VqH=VP*+a6twVQ2GIeFd-C&h2W5y0#^C1#U@aEL>0aOI1l`xdk zCpo=x#963QT(hBgH=wpbPnggT%H80NCw2p!oF16UZ{y}9SexFB+t0;WQI11;j)b>P zxLXkKDr#OZKlB!M2(nq4$~-mwgC~tY9KYB0;;p=~%iF76pMCXPFnS?dWN>JBFO0XF z!82q6dn6rNmKr6uN2-okzBO+-XnU}syynXFq4G>&^7^l}f1bVB>pcEy*4&4s^TIG* z-2+Bbl%5liV1nEn)ZGw5S#l4WO}%a{0wo%&_Rd6IbBq27UG1c_%F|LI{SI5^(f~_6<*$!wLnr~c(SD?>b zi>Q%*pxsvpT|NV1L535*sZChy%-{HLY`@*N7`pm0#dH6S@!xKi);q|XJT-S z0wj6Gld?z4X}mLRgByEz)(Tg5H|F>g9m|j$#@FU070Mbk^{=FlRzm3gNxbT#zW`(4 zyO~0!u++vEqc`@L7>xRFTWH u!0cnPP4Uw(FFHPGVqmS_3hxZRmcriCIkn)iO#FlE^5@Cut_L+lZr0y9s19%d diff --git a/ShiftCipher/Program.cs b/ShiftCipher/Program.cs deleted file mode 100644 index b73d11b..0000000 --- a/ShiftCipher/Program.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -namespace CorgiCoder.ShiftCipher; - -public class ShiftSerializer -{ - static ShiftSerializer() - { - Console.WriteLine("Loaded"); - } - - public ShiftSerializer() - { - - } -} diff --git a/ShiftCipher/ShiftSerializer.cs b/ShiftCipher/ShiftSerializer.cs new file mode 100644 index 0000000..5c18af7 --- /dev/null +++ b/ShiftCipher/ShiftSerializer.cs @@ -0,0 +1,306 @@ +using System; +using System.Runtime.CompilerServices; + +namespace CorgiCoder.ShiftCipher; + +public class ShiftSerializer +{ + public ShiftSerializerOptions Options { get; private init; } + + static ShiftSerializer() + { + // Print the logo! That's the most important part. + // This is the best way I, CorgiCoder, can think of to do this. + string[] textElements1 = new string[] + { + """ + ██████ + ██ ██ + ██ + ██ + ██ + ██ + ██ ██ + ██████ + """, + """ + + + + ██████ + ██ ██ + ██ ██ + ██ ██ + ██████ + """, + """ + + + + ██ ████ + ████ + ██ + ██ + ██ + """, + """ + + ██████ + ██ ██ + ██ ██ + ██████ + ██ + ██ ██ + ██████ + """, + """ + + + + ██ + + ██ + ██ + ██ + """, + """ + ██████ + ██ ██ + ██ + ██ + ██ + ██ + ██ ██ + ██████ + """, + """ + + + + ██████ + ██ ██ + ██ ██ + ██ ██ + ██████ + """, + """ + ██ + ██ + ██ + ████████ + ██ ██ + ██ ██ + ██ ██ + ████████ + """, + """ + + + + ██████ + ██ ██ + ████████ + ██ + ██████ + """, + """ + + + + ██ ████ + ████ + ██ + ██ + ██ + """, + """ + ██ + ██ + ██ + + + + + + """, + """ + + + + ██████ + ██ + ██████ + ██ + ██████ + """ + }; + string[] textElements2 = new string[] + { + """ + ██████ + ██ ██ + ██ + ██ + ██ + ██ + ██ ██ + ██████ + """, + """ + + + + ██████ + ██ ██ + ██ ██ + ██ ██ + ██████ + """, + """ + + + + ██ ████ + ████ + ██ + ██ + ██ + """, + """ + + ██████ + ██ ██ + ██ ██ + ██████ + ██ + ██ ██ + ██████ + """, + """ + + + + ██ + + ██ + ██ + ██ + """, + """ + ██████ + ██ ██ + ██ + ██ + ██ + ██ + ██ ██ + ██████ + """, + """ + + + + ██████ + ██ ██ + ██ ██ + ██ ██ + ██████ + """, + """ + ██ + ██ + ██ + ████████ + ██ ██ + ██ ██ + ██ ██ + ████████ + """, + """ + + + + ██████ + ██ ██ + ████████ + ██ + ██████ + """, + """ + + + + ██ ████ + ████ + ██ + ██ + ██ + """, + """ + ██ + ██ + ██ + + + + + + """, + """ + + + + ██████ + ██ + ██████ + ██ + ██████ + """ + }; + ConsoleColor[] colors = { ConsoleColor.Red, ConsoleColor.DarkYellow, ConsoleColor.Yellow, + ConsoleColor.DarkGreen, ConsoleColor.Green, ConsoleColor.Cyan, + ConsoleColor.DarkCyan, ConsoleColor.Blue, ConsoleColor.DarkBlue, + ConsoleColor.Magenta, ConsoleColor.DarkMagenta, ConsoleColor.DarkRed }; + + // Stay tuned on CorgiCoder's Shift Cipher! + int position = 0; + for (int i = 0; i < textElements1.Length; i++) + { + int maxLength = 0; + string[] lines = textElements1[i].Split('\n'); + Console.ForegroundColor = colors[i % colors.Length]; + for (int j = 0; j < lines.Length; j++) + { + Console.SetCursorPosition(position, j); + Console.WriteLine(lines[j]); + if (maxLength < lines[j].Length) maxLength = lines[j].Length; + } + if (i < textElements1.Length - 1) position += maxLength; + } + + position = 0; + for (int i = 0; i < textElements1.Length; i++) + { + int maxLength = 0; + string[] lines = textElements1[i].Split('\n'); + + Console.ForegroundColor = colors[i % colors.Length]; + for (int j = 0; j < lines.Length; j++) + { + Console.SetCursorPosition(position, j + textElements1.Length + 1); + Console.WriteLine(lines[j]); + if (maxLength < lines[j].Length) maxLength = lines[j].Length; + } + if (i < textElements1.Length - 1) position += maxLength; + } + Console.ResetColor(); + } + + private ShiftSerializer(ShiftSerializerOptions options) + { + Options = options; + } + + public static ShiftSerializer Create(ShiftSerializerOptions options) => new(options); + public static ShiftSerializer CreateDefault() => new(new()); +} diff --git a/ShiftCipher/ShiftSerializerOptions.cs b/ShiftCipher/ShiftSerializerOptions.cs new file mode 100644 index 0000000..aef099a --- /dev/null +++ b/ShiftCipher/ShiftSerializerOptions.cs @@ -0,0 +1,13 @@ +namespace CorgiCoder.ShiftCipher; + +public record class ShiftSerializerOptions +{ + public static readonly ShiftSerializerOptions Default = new(); + + public int offsetCount; + + public ShiftSerializerOptions() + { + offsetCount = 0; + } +} diff --git a/Testing/Program.cs b/Testing/Program.cs index 2484653..d909d89 100644 --- a/Testing/Program.cs +++ b/Testing/Program.cs @@ -6,6 +6,6 @@ public static class Program { public static void Main() { - ShiftSerializer shift = new(); + ShiftSerializer shift = ShiftSerializer.CreateDefault(); } }