[Chapter #2.3] `rand` 크레이트 추가와 난수 생성

이번엔 `rand` 크레이트 추가와 난수 생성 / 추릿값과 정답 비교 쪽을 봅니다. 추리 게임을 만들기 시작하면 입력을 받고 결과를 보여 주는 흐름부터 잡게 됩니다. 기능을 한꺼번에 넣으면 어디서 꼬였는지 찾기 힘들어서, 이번에는 실행되는 최소 단위만 남겨 봅니다.

난수는 어디서 오는가

여기서는 결과가 멋지게 보이는 것보다 입력부터 출력까지 한 바퀴 도는지가 더 중요합니다. 막히면 코드를 늘리기 전에 마지막으로 확인된 값을 먼저 봅니다.

cargo add rand
use rand::Rng;
let secret = rand::thread_rng().gen_range(1..=100);

직접 확인할 부분

  • 크레이트를 Cargo에 추가한다
  • 난수를 만드는 코드와 비교 코드를 분리한다
  • 실행할 때마다 값이 달라지는지 확인한다

난수가 들어오면서 같은 코드도 실행할 때마다 다른 결과를 냅니다. 이제 반복해서 추리할 준비가 됩니다.

이제 게임이 돌아갈 뼈대는 생겼습니다. 다음부터는 입력이 이상할 때 프로그램이 어떻게 반응하는지 보겠습니다.