반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MSA
- 무화과
- 구피
- for
- 애플 달팽이
- golang 강좌
- 쌈채소
- 분산 신원
- rust 강좌
- PKI
- 카디날
- Config server
- Python 강좌
- 가재
- 조건문
- 물생활
- 반복문
- 체리새우
- 치비
- Feign
- RSA
- Tendermint
- 텐더민트
- 분산 식별자
- did
- rust 소개
- rust
- 주말농장
- MSSQL
- 기본문법
Archives
- Today
- Total
comnic's Dev&Life
[Rust 예제] 숫자 맞추기 게임 본문
반응형
1~100까지 랜덤한 숫자를 생성하고, 생성된 숫자를 맞추는 게임입니다.
추측하는 숫자를 입력하면, 랜덤 숫자가 큰지, 작은지 알려 줍니다.
얼마나 빨리 맞출수 있는 지 확인 해 보세요!!! ^^
상세 설명은 주석으로 달아 두었습니다.
// rand::Rng 트레이트를 사용하여 난수 생성을 위한 라이브러리를 가져옵니다.
use rand::Rng;
fn main() {
// 시도 횟수를 기록하는 변수를 선언하고 초기화합니다.
let mut try_num = 1;
// 1에서 100까지의 난수를 생성하여 secret_number에 할당합니다.
let secret_number = rand::thread_rng().gen_range(1..101);
// 게임의 시작 메시지를 출력합니다.
println!("1에서 100까지 숫자를 맞춰보세요!");
// 무한 루프를 시작합니다.
loop {
// 사용자에게 숫자를 입력하도록 안내하는 메시지를 출력합니다.
println!("[{}번째 시도]숫자인지 입력하세요!", try_num);
// 사용자 입력을 받기 위한 변수를 선언하고, 사용자가 입력한 값을 저장합니다.
let mut guess = String::new();
std::io::stdin().read_line(&mut guess)
.expect("Failed to read line"); // 사용자 입력 오류를 처리합니다.
// 입력받은 문자열을 숫자로 변환하고, 변환이 실패한 경우 무시하고 반복문을 다시 시작합니다.
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
// 입력한 숫자를 출력합니다. (디버깅용 코드)
// println!("입력한 숫자: {}", guess);
// 입력한 숫자와 비밀 숫자를 비교하고, 결과에 따라 메시지를 출력합니다.
match guess.cmp(&secret_number) {
std::cmp::Ordering::Less => println!("입력한 숫자보다 큽니다."),
std::cmp::Ordering::Greater => println!("입력한 숫자보다 작습니다."),
std::cmp::Ordering::Equal => {
// 정답을 맞춘 경우 축하 메시지를 출력하고, 무한 루프를 종료합니다.
println!("정답!");
break;
}
}
// 시도 횟수를 1 증가시킵니다.
try_num += 1;
// 한 번의 시도가 끝날 때마다 빈 줄을 출력하여 가독성을 높입니다.
println!("");
}
}
반응형
'Rust' 카테고리의 다른 글
[Rust] 3. 기본 문법과 데이터 타입 (0) | 2023.12.03 |
---|---|
[Rust] 2-1. 패키지 관리자 Util(Cargo-edit) (2) | 2023.12.02 |
[Rust] 2. 패키지 관리자(Cargo) (0) | 2023.12.01 |
[Rust] 1. 소개와 설치 (1) | 2023.11.30 |
[Rust]소개와 연재 시작 (1) | 2023.11.30 |
Comments