24.10.07 Day58

최지원·2024년 10월 7일

WinForm

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 FindNumber {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }
        private int findNumber = 0; //1~20사이의 랜덤수
        private int chance = 0; //몇번만에 맞추었나?

        private void ButtonStart_Click(object sender, EventArgs e) {
            //1부터 20사이의 랜덤수 발생!
            Random random = new Random();
            this.findNumber = random.Next(1, 20);

            //10회 찬스 설정
            this.chance = 10;

            //게임 초기화
            display.Text = "1부터 20사이의 수를 맞추세요.";
        }

        private void textBox_TextChanged(object sender, EventArgs e) {

        }

        private void Form1_Load(object sender, EventArgs e) {

        }

        private void display_Click(object sender, EventArgs e) {

        }

        private void ButtonInput_Click(object sender, EventArgs e) {
            //텍스트박스의 입력된 숫자를 가져오기
            //string => int로 바꾸기
            int inputNumber = Int32.Parse(textBox.Text);

            //랜덤수와 입력된 숫자를 비교하기
            //1. 일치한 경우 = "승리했습니다."
            if (inputNumber == this.findNumber) {
                display.Text = $"승리했습니다.({this.chance})";
            }

            if (this.chance == 1) { //마지막 찬스였을때
                display.Text = "실패했습니다";
            } else if (inputNumber < this.findNumber) {
                display.Text = $"틀렸습니다. 더 큰 수 입니다.\n 찬스가 {this.chance}회 남았습니다.";
            } else if (inputNumber > this.findNumber) {
                display.Text = $"틀렸습니다. 더 작은 수 입니다.\n 찬스가 {this.chance}회 남았습니다.";
            }
            this.chance -= 1; //찬스를 1 감소한다.
        }
    }
}

0개의 댓글