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