parent
d1f90dbc5b
commit
4b1c22ac3f
@ -0,0 +1,30 @@ |
||||
# VS Code |
||||
.vscode/* |
||||
!.vscode/settings.json |
||||
!.vscode/tasks.json |
||||
!.vscode/launch.json |
||||
!.vscode/extensions.json |
||||
!.vscode/*.code-snippets |
||||
|
||||
# Local History for Visual Studio Code |
||||
.history/ |
||||
|
||||
# Built Visual Studio Code Extensions |
||||
*.vsix |
||||
|
||||
|
||||
# rust |
||||
# Generated by Cargo |
||||
# will have compiled files and executables |
||||
debug/ |
||||
target/ |
||||
|
||||
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries |
||||
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html |
||||
Cargo.lock |
||||
|
||||
# These are backup files generated by rustfmt |
||||
**/*.rs.bk |
||||
|
||||
# MSVC Windows builds of rustc generate these, which store debugging information |
||||
*.pdb |
||||
@ -0,0 +1,9 @@ |
||||
[package] |
||||
name = "guessing_game" |
||||
version = "0.1.0" |
||||
edition = "2021" |
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
||||
|
||||
[dependencies] |
||||
rand = "0.8.5" |
||||
@ -0,0 +1,40 @@ |
||||
use std::io; |
||||
use std::cmp::Ordering; |
||||
use rand::Rng; |
||||
|
||||
fn main() { |
||||
println!("Guess the number!"); |
||||
|
||||
let secret_number = rand::thread_rng().gen_range(1..=100); |
||||
|
||||
println!("The secret number is: {secret_number}"); |
||||
|
||||
loop { |
||||
|
||||
println!("Please input your guess."); |
||||
|
||||
let mut guess = String::new(); |
||||
|
||||
io::stdin() |
||||
.read_line(&mut guess) |
||||
.expect("Failed to read line"); |
||||
|
||||
//let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||
let guess: u32 = match guess.trim().parse() { |
||||
Ok(num) => num, |
||||
Err(_) => continue, |
||||
}; |
||||
|
||||
println!("You guessed: {guess}"); |
||||
|
||||
match guess.cmp(&secret_number) { |
||||
Ordering::Less => println!("Too small!"), |
||||
Ordering::Greater => println!("Too big!"), |
||||
Ordering::Equal => { |
||||
println!("You win!"); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue