C#

(C#,윈폼) 숫자 맞히기 게임

코딩ABC 2023. 6. 24. 21:26
반응형

컴퓨터가 임의로 생성한 숫자를 맞히는 게임을 C#언어로 만들어 봅니다.

윈도우 응용 프로그램입니다.

 

1. 비주얼스튜디오를 실행합니다 - 여기서는 비주얼스튜디오 2022 버전을 사용했습니다.

 

2. 프로젝트를 생성합니다.

- Windows Forms 앱(.NET Framework)

 

3. 폼을 다음과 같이 디자인하고, 속성을 변경합니다.

숫자 맞히기 게임

폼 디자인

속성을 아래와 같이 변경합니다.

컨트롤 이름(Name) 속성
라벨(label) msg Text: "msg"
Font: Size:12, Bold:True
텍스트 박스(TextBox) txtInput  
버튼(button) btnOK
btnStart
Text: "확인"
Text: "게임 시작"
Form1 Size: 360, 230
Text: "숫자 맞히기 게임"
BorderStyle: FixedToolWindow

디자인된 모양을 다음과 같습니다.

숫자 맞히기 게임

4. 코드를 작성합니다.

폼과 [게임 시작] 버튼을 더블 클릭해서 아래의 코드를 작성합니다.

namespace GuessNumber
{
    public partial class Form1 : Form
    {
        int computerNumber = 0;
        int count = 0;
        
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            msg.Text = "[게임 시작] 버튼을 클릭하세요.";

        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            // 게임 시작
            Random r = new Random();
            computerNumber = r.Next(1, 101);  // 1 ~ 100 사이의 난수 생성
            count = 0;
            txtInput.Enabled = false;   // 입력을 못하게 합니다. [게임 시작]을 누르면 입력 가능...
        }
    }
}

 

[확인] 버튼을 더블클릭해서, 다음 코드를 작성합니다.

        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtInput.Text.Trim() == "")
            {
                msg.Text = "1~100 사이의 숫자를 입력하세요.";
                txtInput.Focus();
                return;
            }

            int n = int.Parse(txtInput.Text);

            if (n == computerNumber)
            {
                msg.Text = "정답입니다.";
            }
            else if (n < computerNumber)
            {
                msg.Text = "더 큰수를 입력하세요.";
            }
            else
            {
                msg.Text = "더 작은 수를 입력하세요.";
            }
            count++;
            if(count >10)
            {
                msg.Text = "맞히지 못했습니다.";
                txtInput.Enabled = false;// 입력을 못하게 설정
            }
        }
 

혹시 빠지 코드가 있는지 몰라서 전체 코드를 보여줍니다.

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 GuessNumber
{
    public partial class Form1 : Form
    {
        int computerNumber = 0;
        int count = 0;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            msg.Text = "[게임 시작] 버튼을 클릭하세요.";
            txtInput.Enabled = false;

        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            // 게임 시작
            Random r = new Random();
            computerNumber = r.Next(1, 101);  // 1 ~ 100 사이의 난수 생성
            count = 0;
            txtInput.Enabled = true;
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtInput.Text.Trim() == "")
            {
                msg.Text = "1~100 사이의 숫자를 입력하세요.";
                txtInput.Focus();
                return;
            }

            int n = int.Parse(txtInput.Text);

            if (n == computerNumber)
            {
                msg.Text = "정답입니다.";
            }
            else if (n < computerNumber)
            {
                msg.Text = "더 큰수를 입력하세요.";
            }
            else
            {
                msg.Text = "더 작은 수를 입력하세요.";
            }
            count++;
            if(count >10)
            {
                msg.Text = "맞히지 못했습니다.";
                txtInput.Enabled = false;// 입력을 못하게 설정
            }
        }
    }
}

 

(결과 화면)

숫자 맞히기 게임
숫자 맞히기 게임
숫자 맞히기 게임

 

 

[실행파일 다운로드]  

- 실행 환경: 윈도우 10, 11 이상

GuessNumber.zip
0.00MB

반응형