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