diff --git a/LottoPicker/LottoPicker.sln b/LottoPicker/LottoPicker.sln new file mode 100644 index 0000000..575f977 --- /dev/null +++ b/LottoPicker/LottoPicker.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33530.505 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LottoPicker", "LottoPicker\LottoPicker.csproj", "{663F4E31-3B1F-480D-937B-F7F836C57756}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {663F4E31-3B1F-480D-937B-F7F836C57756}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {663F4E31-3B1F-480D-937B-F7F836C57756}.Debug|Any CPU.Build.0 = Debug|Any CPU + {663F4E31-3B1F-480D-937B-F7F836C57756}.Release|Any CPU.ActiveCfg = Release|Any CPU + {663F4E31-3B1F-480D-937B-F7F836C57756}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9E985056-9FC0-4279-97EC-0F8CFC05C94B} + EndGlobalSection +EndGlobal diff --git a/LottoPicker/LottoPicker/App.config b/LottoPicker/LottoPicker/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/LottoPicker/LottoPicker/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/CustomControl/BallControl.Designer.cs b/LottoPicker/LottoPicker/CustomControl/BallControl.Designer.cs new file mode 100644 index 0000000..8bdd4a2 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallControl.Designer.cs @@ -0,0 +1,45 @@ +namespace LottoPicker.CustomControl +{ + partial class BallControl + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // BallControl + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Name = "BallControl"; + this.Paint += new System.Windows.Forms.PaintEventHandler(this.BallControl_Paint); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/LottoPicker/LottoPicker/CustomControl/BallControl.cs b/LottoPicker/LottoPicker/CustomControl/BallControl.cs new file mode 100644 index 0000000..cb77693 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallControl.cs @@ -0,0 +1,69 @@ +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 LottoPicker.CustomControl +{ + public partial class BallControl : UserControl + { + private Color _ballColor = Color.Transparent; + private string _ballNumber = "0"; + public Color BallColor + { + get { return _ballColor; } + set + { + _ballColor = value; + this.Refresh(); + } + } + + public string BallNumber + { + get { return _ballNumber; } + set + { + _ballNumber = value; + this.Refresh(); + } + } + + public BallControl() + { + InitializeComponent(); + } + + private void BallControl_Paint(object sender, PaintEventArgs e) + { + Graphics g = e.Graphics; + g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; + + Pen pen = new Pen(Color.Black); + pen.Width = 2f; + + // 공 그리기 + SolidBrush brush = new SolidBrush(_ballColor); + float margin = pen.Width * 2; + g.DrawEllipse(pen, margin, margin, this.Width - margin * 2, this.Height - margin * 2); + g.FillEllipse(brush, margin, margin, this.Width - margin * 2, this.Height - margin * 2); + + // 텍스트부 그리기 + float halfWidth = this.Width / 2; + float halfHeight = this.Height / 2; + float centerEllipsRadius = this.Width / 4; + g.DrawEllipse(pen, halfWidth - centerEllipsRadius, halfHeight - centerEllipsRadius, 2 * centerEllipsRadius, 2 * centerEllipsRadius); + g.FillEllipse(new SolidBrush(Color.White), halfWidth - centerEllipsRadius, halfHeight - centerEllipsRadius, 2 * centerEllipsRadius, 2 * centerEllipsRadius); + + // 텍스트 그리기 + float factor = _ballNumber.Length == 1 ? 2f : 3f; + float halfFontSize = centerEllipsRadius / factor; + g.DrawString(_ballNumber, new Font("Malgun Gothic", halfFontSize * factor, FontStyle.Bold), new SolidBrush(Color.Black), halfWidth - halfFontSize * factor, halfHeight - halfFontSize * factor); + } + } +} diff --git a/LottoPicker/LottoPicker/CustomControl/BallControl.resx b/LottoPicker/LottoPicker/CustomControl/BallControl.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallControl.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/CustomControl/BallSelectControl.Designer.cs b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.Designer.cs new file mode 100644 index 0000000..5a438d7 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.Designer.cs @@ -0,0 +1,77 @@ +namespace LottoPicker.CustomControl +{ + partial class BallSelectControl + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.cboType = new System.Windows.Forms.ComboBox(); + this.ctrBall = new LottoPicker.CustomControl.BallControl(); + this.SuspendLayout(); + // + // cboType + // + this.cboType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboType.FormattingEnabled = true; + this.cboType.Items.AddRange(new object[] { + "노랑", + "파랑", + "빨강", + "회색", + "초록"}); + this.cboType.Location = new System.Drawing.Point(12, 12); + this.cboType.Name = "cboType"; + this.cboType.Size = new System.Drawing.Size(100, 20); + this.cboType.TabIndex = 0; + // + // ctrBall + // + this.ctrBall.BackColor = System.Drawing.Color.White; + this.ctrBall.BallColor = System.Drawing.Color.Black; + this.ctrBall.BallNumber = "0"; + this.ctrBall.Location = new System.Drawing.Point(12, 59); + this.ctrBall.Name = "ctrBall"; + this.ctrBall.Size = new System.Drawing.Size(100, 100); + this.ctrBall.TabIndex = 1; + // + // BallSelectControl + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Controls.Add(this.ctrBall); + this.Controls.Add(this.cboType); + this.Name = "BallSelectControl"; + this.Size = new System.Drawing.Size(122, 178); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ComboBox cboType; + private BallControl ctrBall; + } +} diff --git a/LottoPicker/LottoPicker/CustomControl/BallSelectControl.cs b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.cs new file mode 100644 index 0000000..4bd05d8 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.cs @@ -0,0 +1,36 @@ +using LottoPicker.Utility; +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 LottoPicker.CustomControl +{ + public partial class BallSelectControl : UserControl + { + public BallSelectControl() + { + InitializeComponent(); + cboType.SelectedIndex = 0; + ctrBall.Visible = false; + } + + public void Pick() + { + ctrBall.Visible = false; + + int index = cboType.SelectedIndex; + ctrBall.BallColor = Utils.Palettes[index]; + + int num = Utils.GetNumber(index); + ctrBall.BallNumber = num.ToString(); + + ctrBall.Visible = true; + } + } +} diff --git a/LottoPicker/LottoPicker/CustomControl/BallSelectControl.resx b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LottoPicker/LottoPicker/CustomControl/BallSelectControl.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/LottoPicker.csproj b/LottoPicker/LottoPicker/LottoPicker.csproj new file mode 100644 index 0000000..df3bd2b --- /dev/null +++ b/LottoPicker/LottoPicker/LottoPicker.csproj @@ -0,0 +1,107 @@ + + + + + Debug + AnyCPU + {663F4E31-3B1F-480D-937B-F7F836C57756} + WinExe + LottoPicker + LottoPicker + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + lotto.ico + + + + + + + + + + + + + + + + + UserControl + + + BallControl.cs + + + UserControl + + + BallSelectControl.cs + + + Form + + + MainForm.cs + + + + + + BallControl.cs + + + BallSelectControl.cs + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/MainForm.Designer.cs b/LottoPicker/LottoPicker/MainForm.Designer.cs new file mode 100644 index 0000000..9b051d2 --- /dev/null +++ b/LottoPicker/LottoPicker/MainForm.Designer.cs @@ -0,0 +1,132 @@ +namespace LottoPicker +{ + partial class MainForm + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.button1 = new System.Windows.Forms.Button(); + this.ballSelectControl1 = new LottoPicker.CustomControl.BallSelectControl(); + this.ballSelectControl2 = new LottoPicker.CustomControl.BallSelectControl(); + this.ballSelectControl3 = new LottoPicker.CustomControl.BallSelectControl(); + this.ballSelectControl4 = new LottoPicker.CustomControl.BallSelectControl(); + this.ballSelectControl5 = new LottoPicker.CustomControl.BallSelectControl(); + this.ballSelectControl6 = new LottoPicker.CustomControl.BallSelectControl(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(12, 208); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(797, 45); + this.button1.TabIndex = 1; + this.button1.Text = "Generate"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // ballSelectControl1 + // + this.ballSelectControl1.BackColor = System.Drawing.Color.White; + this.ballSelectControl1.Location = new System.Drawing.Point(12, 12); + this.ballSelectControl1.Name = "ballSelectControl1"; + this.ballSelectControl1.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl1.TabIndex = 2; + // + // ballSelectControl2 + // + this.ballSelectControl2.BackColor = System.Drawing.Color.White; + this.ballSelectControl2.Location = new System.Drawing.Point(147, 12); + this.ballSelectControl2.Name = "ballSelectControl2"; + this.ballSelectControl2.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl2.TabIndex = 2; + // + // ballSelectControl3 + // + this.ballSelectControl3.BackColor = System.Drawing.Color.White; + this.ballSelectControl3.Location = new System.Drawing.Point(282, 12); + this.ballSelectControl3.Name = "ballSelectControl3"; + this.ballSelectControl3.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl3.TabIndex = 2; + // + // ballSelectControl4 + // + this.ballSelectControl4.BackColor = System.Drawing.Color.White; + this.ballSelectControl4.Location = new System.Drawing.Point(417, 12); + this.ballSelectControl4.Name = "ballSelectControl4"; + this.ballSelectControl4.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl4.TabIndex = 2; + // + // ballSelectControl5 + // + this.ballSelectControl5.BackColor = System.Drawing.Color.White; + this.ballSelectControl5.Location = new System.Drawing.Point(552, 12); + this.ballSelectControl5.Name = "ballSelectControl5"; + this.ballSelectControl5.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl5.TabIndex = 2; + // + // ballSelectControl6 + // + this.ballSelectControl6.BackColor = System.Drawing.Color.White; + this.ballSelectControl6.Location = new System.Drawing.Point(687, 12); + this.ballSelectControl6.Name = "ballSelectControl6"; + this.ballSelectControl6.Size = new System.Drawing.Size(122, 178); + this.ballSelectControl6.TabIndex = 2; + // + // MainForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(824, 265); + this.Controls.Add(this.ballSelectControl6); + this.Controls.Add(this.ballSelectControl5); + this.Controls.Add(this.ballSelectControl4); + this.Controls.Add(this.ballSelectControl3); + this.Controls.Add(this.ballSelectControl2); + this.Controls.Add(this.ballSelectControl1); + this.Controls.Add(this.button1); + this.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "MainForm"; + this.Text = "Lotto Picker"; + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button button1; + private CustomControl.BallSelectControl ballSelectControl1; + private CustomControl.BallSelectControl ballSelectControl2; + private CustomControl.BallSelectControl ballSelectControl3; + private CustomControl.BallSelectControl ballSelectControl4; + private CustomControl.BallSelectControl ballSelectControl5; + private CustomControl.BallSelectControl ballSelectControl6; + } +} + diff --git a/LottoPicker/LottoPicker/MainForm.cs b/LottoPicker/LottoPicker/MainForm.cs new file mode 100644 index 0000000..91b78a6 --- /dev/null +++ b/LottoPicker/LottoPicker/MainForm.cs @@ -0,0 +1,30 @@ +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 LottoPicker +{ + public partial class MainForm : Form + { + public MainForm() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + ballSelectControl1.Pick(); + ballSelectControl2.Pick(); + ballSelectControl3.Pick(); + ballSelectControl4.Pick(); + ballSelectControl5.Pick(); + ballSelectControl6.Pick(); + } + } +} diff --git a/LottoPicker/LottoPicker/MainForm.resx b/LottoPicker/LottoPicker/MainForm.resx new file mode 100644 index 0000000..868bc17 --- /dev/null +++ b/LottoPicker/LottoPicker/MainForm.resx @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + iv8P78wCc+AH79MAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/Program.cs b/LottoPicker/LottoPicker/Program.cs new file mode 100644 index 0000000..fb838c6 --- /dev/null +++ b/LottoPicker/LottoPicker/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LottoPicker +{ + internal static class Program + { + /// + /// 해당 애플리케이션의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/LottoPicker/LottoPicker/Properties/AssemblyInfo.cs b/LottoPicker/LottoPicker/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..58ea2b5 --- /dev/null +++ b/LottoPicker/LottoPicker/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("Lotto Picker")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Lotto Picker")] +[assembly: AssemblyCopyright("Copyright © 2023 Peace!")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("663f4e31-3b1f-480d-937b-f7f836c57756")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +// 기본값으로 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/LottoPicker/LottoPicker/Properties/Resources.Designer.cs b/LottoPicker/LottoPicker/Properties/Resources.Designer.cs new file mode 100644 index 0000000..bd107fa --- /dev/null +++ b/LottoPicker/LottoPicker/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace LottoPicker.Properties +{ + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 + // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LottoPicker.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/LottoPicker/LottoPicker/Properties/Resources.resx b/LottoPicker/LottoPicker/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/LottoPicker/LottoPicker/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LottoPicker/LottoPicker/Properties/Settings.Designer.cs b/LottoPicker/LottoPicker/Properties/Settings.Designer.cs new file mode 100644 index 0000000..1f2491a --- /dev/null +++ b/LottoPicker/LottoPicker/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace LottoPicker.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/LottoPicker/LottoPicker/Properties/Settings.settings b/LottoPicker/LottoPicker/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/LottoPicker/LottoPicker/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/LottoPicker/LottoPicker/Utility/Utils.cs b/LottoPicker/LottoPicker/Utility/Utils.cs new file mode 100644 index 0000000..52dda3e --- /dev/null +++ b/LottoPicker/LottoPicker/Utility/Utils.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LottoPicker.Utility +{ + internal static class Utils + { + // 노 파 빨 회 초 + public static Color[] Palettes = new Color[] + { + Color.FromArgb(245, 233, 77), + Color.FromArgb(15, 76, 129), + Color.FromArgb(191, 25, 50), + Color.FromArgb(147, 149, 151), + Color.FromArgb(0, 148, 115), + }; + + // 1-10, 11-20, 21-30, 31-40, 41-45 + public static int GetNumber(int index) + { + int min = 1; + int max = 46; + switch (index) + { + case 0: + min = 1; + max = 11; + break; + case 1: + min = 11; + max = 21; + break; + case 2: + min = 21; + max = 31; + break; + case 3: + min = 31; + max = 41; + break; + case 4: + min = 41; + max = 46; + break; + default: + break; + } + + Random rand = new Random(); + return rand.Next(min, max); + } + } +} diff --git a/LottoPicker/LottoPicker/lotto.ico b/LottoPicker/LottoPicker/lotto.ico new file mode 100644 index 0000000..966c7a9 Binary files /dev/null and b/LottoPicker/LottoPicker/lotto.ico differ diff --git a/LottoPicker/Resources/lotto.ico b/LottoPicker/Resources/lotto.ico new file mode 100644 index 0000000..966c7a9 Binary files /dev/null and b/LottoPicker/Resources/lotto.ico differ