목표
랜덤한 수를 생성하고, 생성된 숫자를 지정된 횟수 내에 맞추면 승리하고 맞추지 못하면 실패하는 게임을 윈도우 프로그램으로 만듭니다.
사용 기술
개발 환경

Random 클래스를 사용하여 랜덤 숫자를 생성하는 방법을 익혔습니다.if 문을 사용하여 조건에 따라 다른 코드를 실행하고, for 또는 while 문을 사용하여 반복적인 작업을 처리하는 방법을 익혔습니다.Int32.Parse() 메서드를 사용하여 문자열을 숫자로 변환하는 방법을 배웠습니다.레이블(Label)

텍스트박스(TextBox)
버튼(Button)
버튼은 게임을 시작하고, 숫자를 입력하기 위해 사용합니다.
입력 버튼: 버튼(Button) 컨트롤을 가져와 화면에 배치하고,속성창에서 (Name) 속성값은 ButtonInput으로 변경합니다.
게임 시작 버튼: 버튼(Button) 컨트롤을 가져와 화면에 배치하고, 버튼의 (Name) 속성값은 ButtonStart로 변경합니다. (Text) 속성값은 "게임 시작", (Dock) 속성값은 Bottom으로 변경합니다.
실행 결과

using System;
using System.Windows.Forms;
namespace FindNumber
{
public partial class Form1 : Form
{
private int findNumber = 0;
private int chance = 0;
public Form1()
{
InitializeComponent();
}
private void ButtonStart_Click(object sender, EventArgs e)
{
var rand = new Random();
findNumber = rand.Next(1, 21);
chance = 10;
display.Text = "맞출 숫자를 입력하세요.";
}
}
}
ButtonStart_Click 메서드
display 변수는 레이블(Label)의 (Name) 속성에서 정한 이름입니다. 따라서 display.Text에 문자열을 넣으면 레이블에 해당 문자열이 출력됩니다. Random 클래스
Random 클래스를 생성해 rand 라는 인스턴스 변수를 생성합니다. Random 클래스는 임의의 수를 생성할 때 사용하는 클래스이며, Next 메서드를 통해 임의의 정수를 생성합니다. Next 메서드: 매개 변수가 하나인 경우 0부터 입력된 매개 변수 보다 1작은 수의 범위 중 하나를 반환합니다. 매개 변수가 두 개인 경우 시작과 종료의 범위를 정할 수 있습니다. Next(1, 21)이라고 할 경우 1부터 20까지의 정수 중 하나를 가져옵니다. 1부터 20 사이의 정수를 가져와 findNumber 변수에 저장합니다. 실행 결과

using System;
using System.Windows.Forms;
namespace FindNumber
{
public partial class Form1 : Form
{
private int findNumber = 0;
private int chance = 0;
public Form1()
{
InitializeComponent();
}
private void ButtonStart_Click(object sender, EventArgs e)
{
var rand = new Random();
findNumber = rand.Next(1, 21);
chance = 10;
display.Text = "맞출 숫자를 입력하세요.";
}
private void ButtonInput_Click(object sender, EventArgs e)
{
int inputNumber = Int32.Parse(textBox.Text);
if(inputNumber == findNumber)
{
display.Text = "승리했습니다!!!";
}
else
{
chance--;
display.Text = "기회는 " + chance + "번 남았습니다.";
}
if(chance <= 0)
{
display.Text = "실패했습니다.";
}
}
}
}
Int32.Parse()
Int32 메소드는 다른 형식을 32비트 부호가 있는 정수형으로 변환합니다. Int32 메소드로 텍스트박스에 입력된 문자를 숫자로 변환합니다. inputNumber 변수에는 사용자가 입력한 문자열을 숫자로 변환한 값을 저장합니다. 조건문
if 문을 사용하여 정답 확인 및 게임 종료 조건을 판별합니다.실행 결과

