-
C# 숫자야구 윈폼C# 2020. 8. 20. 17:54
Random 정답 세개 안겹치게 생산하기
private void Form1_Load(object sender, EventArgs e) { Random aRandom = new Random(); int[] intArray = new int[3] { 100, 100, 100 }; for(int i=0;i<intArray.Length;i++)//랜덤 숫자를 저장할 곳 { int iTemp = aRandom.Next(0,10); if (intArray.Contains(iTemp))//생성된 랜덤 숫자가 겹치는지 비교 { iTemp= aRandom.Next(0,10); i--; } else { intArray[i] = iTemp; } } lbRand1.Text = intArray[0].ToString(); lbRand2.Text = intArray[1].ToString(); lbRand3.Text = intArray[2].ToString(); }
입력 숫자와 랜덤 숫자 비교
private void button1_Click(object sender, EventArgs e) { int Strike = 0; int Ball = 0; int[] inputArray = new int[intArray.Length]; inputArray[0] = Convert.ToInt32(tbinput1.Text); inputArray[1] = Convert.ToInt32(tbinput2.Text); inputArray[2] = Convert.ToInt32(tbinput3.Text); for (int i = 0; i < inputArray.Length; i++) { if (intArray[i] == inputArray[i]) Strike++; for (int j = 0; j < inputArray.Length; j++) { if (intArray[i] == inputArray[j]&&i!=j) { Ball++; } } } lbStrike.Text = Strike.ToString(); lbBall.Text = Ball.ToString(); Count++; lbCount.Text = Count.ToString(); if (Strike == intArray.Length) MessageBox.Show("Clear!!!! \n" + Count + " 회만에 클리어"); }
입력 숫자와 정답 숫자 세개가 인덱스와 값 모두 일치하면 Strike증가 값만 일치하면 Ball증가
스트라이크가 정답숫자 개수와 일치하면 메세지 박스 및 클리어
+리셋버튼까지
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 numberbaseball { public partial class Form1 : Form { private int[] intArray; private int Count; int Strike; int Ball; public Form1() { InitializeComponent(); } private void init() { Strike = 0; Ball = 0; Count = 0; Random aRandom = new Random(); intArray = new int[3] { 100, 100, 100 }; for (int i = 0; i < intArray.Length; i++)//랜덤 숫자를 저장할 곳 { int iTemp = aRandom.Next(0, 10); if (intArray.Contains(iTemp))//생성된 랜덤 숫자가 겹치는지 비교 { iTemp = aRandom.Next(0, 10); i--; } else { intArray[i] = iTemp; } } //lbRand1.Text = intArray[0].ToString(); //lbRand2.Text = intArray[1].ToString(); //lbRand3.Text = intArray[2].ToString(); } private void Form1_Load(object sender, EventArgs e) { init(); } private void button1_Click(object sender, EventArgs e) { int[] inputArray = new int[intArray.Length]; inputArray[0] = Convert.ToInt32(tbinput1.Text); inputArray[1] = Convert.ToInt32(tbinput2.Text); inputArray[2] = Convert.ToInt32(tbinput3.Text); for (int i = 0; i < inputArray.Length; i++) { if (intArray[i] == inputArray[i]) Strike++; for (int j = 0; j < inputArray.Length; j++) { if (intArray[i] == inputArray[j]&&i!=j) { Ball++; } } } lbStrike.Text = Strike.ToString(); lbBall.Text = Ball.ToString(); Count++; lbCount.Text = Count.ToString(); if (Strike == intArray.Length) MessageBox.Show("Clear!!!! \n" + Count + " 회만에 클리어"); } private void button2_Click(object sender, EventArgs e) { init(); lbStrike.Text = "0"; lbBall.Text = "0"; tbinput1.Text = ""; tbinput2.Text = ""; tbinput3.Text = ""; lbCount.Text = "0"; } } }
'C#' 카테고리의 다른 글
내가 쓰려고 만든 C# 윈폼 템플릿 (SELECT) (0) 2020.09.15 C# IComparable을 이용한 List정렬 (0) 2020.08.21 C# 윈폼 DateTimePicker와 Tab 컨트롤을 사용한 알람시계 (0) 2020.08.20 C# 윈폼 타이머를 이용한 스탑워치 (0) 2020.08.20 C# 기초 정리 (0) 2020.06.25