ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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";
            }
        }
    }
    

Designed by Tistory.