diff --git a/src/main.rs b/src/main.rs index 267441bd3aefca70ae4417427482623e17e4c7ab..1ee36b493bdbf160876fbaf6f768816235adb8c9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ - +// External crate that is used in this code extern crate rand; // Librarys to include @@ -7,56 +7,56 @@ use std::cmp::Ordering; use rand::Rng; // Main function -fn main() -{ - let mut tries = 0; - let mut wins = 0; - let mut rng = gen_rng_num(); - let mut stat = 0.0; - - println!("Guess the number!"); // Prints a string - - loop - { - if tries != 0 || wins != 0 - { - stat = (wins as f32 / tries as f32) * 100.0; - } - - println!("\n"); - println!("{} Tries, {} Wins, {}%", tries, wins, stat); - println!("Please input you guess."); - - let mut guess = String::new(); // creates a mutable variable - - io::stdin().read_line(&mut guess) - .expect("Failed to read line"); - - let guess: u32 = guess.trim().parse() - .expect("Please type a number!"); - - println!("You guessed: {}", guess); - - match guess.cmp(&rng) - { - Ordering::Less => println!("Too small!"), - Ordering::Greater => println!("Too big!"), - Ordering::Equal => { - println!("You win!"); - rng = gen_rng_num(); - println!("Changed secret number."); - wins = wins + 1; - } - } - - tries = tries + 1; - } - +fn main() { + let mut tries = 0; + let mut wins = 0; + let mut rng = gen_rng_num(); + let mut stat = 0.0; + + println!("Guess the number!"); // Prints a string + + loop { + if tries != 0 || wins != 0 { + stat = (wins as f32 / tries as f32) * 100.0; + } + + println!("{} Tries, {} Wins, {}%", tries, wins, stat); + println!("Please input you guess."); + + let mut guess = String::new(); // creates a mutable variable + + io::stdin() + .read_line(&mut guess) + .expect("Failed to read line"); + + let guess: u32 = match guess.trim().parse() { + Ok(input_guess) => input_guess, + Err(_) => { + println!("ERROR: Invalid input.\nPlease input you guess."); + continue; + } + }; + + println!("You guessed: {}", guess); + + match guess.cmp(&rng) { + Ordering::Less => println!("Too small!"), + Ordering::Greater => println!("Too big!"), + Ordering::Equal => { + println!("You win!"); + rng = gen_rng_num(); + println!("Changed secret number."); + wins += 1; + } + } + + tries += 1; + } } -fn gen_rng_num() -> u32 -{ - let random = rand::thread_rng().gen_range(1, 11); +// Function that generates and returns a random number of type u32 +fn gen_rng_num() -> u32 { + let random = rand::thread_rng().gen_range(1, 101); - random -} \ No newline at end of file + random +} diff --git a/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e b/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e index bf9867b9a549c66fe73478411b39e66bafcd7380..2896bb1f4252582f144a7ae9a4036b5026d75156 100644 --- a/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e +++ b/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e @@ -1 +1 @@ -c6e8ec41ef87dc46 \ No newline at end of file +144695f777658e36 \ No newline at end of file diff --git a/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e.json b/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e.json index c2e5bc5d6ab69d92b51c2cd8dfa7f27b8f5404d8..ce31e189911e069f831d46acdd31af2588b882bd 100644 --- a/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e.json +++ b/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/bin-guessing_game-4705d3f68048a38e.json @@ -1 +1 @@ -{"rustc":16691645817143570650,"features":"[]","target":16451677792840550653,"profile":731176819336294830,"deps":[["rand v0.3.17",8180839007690546724]],"local":[{"MtimeBased":[[1509475178,195873100],"/mnt/c/Users/Shawnshank/Desktop/Skola/D7018E - Rust/projects/guessing_game/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/dep-bin-guessing_game-4705d3f68048a38e"]}],"rustflags":[]} \ No newline at end of file +{"rustc":16691645817143570650,"features":"[]","target":16451677792840550653,"profile":731176819336294830,"deps":[["rand v0.3.17",8180839007690546724]],"local":[{"MtimeBased":[[1509565835,895567000],"/mnt/c/Users/Shawnshank/Desktop/Skola/D7018E - Rust/projects/guessing_game/target/debug/.fingerprint/guessing_game-4705d3f68048a38e/dep-bin-guessing_game-4705d3f68048a38e"]}],"rustflags":[]} \ No newline at end of file diff --git a/target/debug/deps/guessing_game-4705d3f68048a38e b/target/debug/deps/guessing_game-4705d3f68048a38e index c0191be6bca2edfa17f402c99aaa5c719c64b506..f6cf895b0f2c2db9d80bb28469a17750bfaf9025 100644 Binary files a/target/debug/deps/guessing_game-4705d3f68048a38e and b/target/debug/deps/guessing_game-4705d3f68048a38e differ diff --git a/target/debug/guessing_game b/target/debug/guessing_game index c0191be6bca2edfa17f402c99aaa5c719c64b506..f6cf895b0f2c2db9d80bb28469a17750bfaf9025 100644 Binary files a/target/debug/guessing_game and b/target/debug/guessing_game differ diff --git a/target/release/.cargo-lock b/target/release/.cargo-lock new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e new file mode 100644 index 0000000000000000000000000000000000000000..f3ab08341daa2f37e83a2b0c27d67946ac48be47 --- /dev/null +++ b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e @@ -0,0 +1 @@ +675b7fdea3e93241 \ No newline at end of file diff --git a/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e.json b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e.json new file mode 100644 index 0000000000000000000000000000000000000000..606ea95eee9dfd7ceed09a1355cd99b03953ec6a --- /dev/null +++ b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/bin-guessing_game-ff40b6649dac356e.json @@ -0,0 +1 @@ +{"rustc":16691645817143570650,"features":"[]","target":16451677792840550653,"profile":8410117760005530537,"deps":[["rand v0.3.17",348553782181811498]],"local":[{"MtimeBased":[[1509565850,198346600],"/mnt/c/Users/Shawnshank/Desktop/Skola/D7018E - Rust/projects/guessing_game/target/release/.fingerprint/guessing_game-ff40b6649dac356e/dep-bin-guessing_game-ff40b6649dac356e"]}],"rustflags":[]} \ No newline at end of file diff --git a/target/release/.fingerprint/guessing_game-ff40b6649dac356e/dep-bin-guessing_game-ff40b6649dac356e b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/dep-bin-guessing_game-ff40b6649dac356e new file mode 100644 index 0000000000000000000000000000000000000000..22ebda89892f20120d8961ea33088aa1957ddc82 Binary files /dev/null and b/target/release/.fingerprint/guessing_game-ff40b6649dac356e/dep-bin-guessing_game-ff40b6649dac356e differ diff --git a/target/release/.fingerprint/libc-2ef5206794533cd4/dep-lib-libc-2ef5206794533cd4 b/target/release/.fingerprint/libc-2ef5206794533cd4/dep-lib-libc-2ef5206794533cd4 new file mode 100644 index 0000000000000000000000000000000000000000..be35f0c16819bb120e64dc0815eb82fdc5b68879 Binary files /dev/null and b/target/release/.fingerprint/libc-2ef5206794533cd4/dep-lib-libc-2ef5206794533cd4 differ diff --git a/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4 b/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4 new file mode 100644 index 0000000000000000000000000000000000000000..8616aa6790562a0f93568c7be99dec6dbf5583a4 --- /dev/null +++ b/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4 @@ -0,0 +1 @@ +155b034a2eb3471c \ No newline at end of file diff --git a/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4.json b/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4.json new file mode 100644 index 0000000000000000000000000000000000000000..b964413adaabe15cd2f7c6cde697a61636005335 --- /dev/null +++ b/target/release/.fingerprint/libc-2ef5206794533cd4/lib-libc-2ef5206794533cd4.json @@ -0,0 +1 @@ +{"rustc":16691645817143570650,"features":"[\"default\", \"use_std\"]","target":7622704963989053380,"profile":8410117760005530537,"deps":[],"local":[{"Precalculated":"0.2.33"}],"rustflags":[]} \ No newline at end of file diff --git a/target/release/.fingerprint/rand-74d8781095965d13/dep-lib-rand-74d8781095965d13 b/target/release/.fingerprint/rand-74d8781095965d13/dep-lib-rand-74d8781095965d13 new file mode 100644 index 0000000000000000000000000000000000000000..3e05f0baf014a69a76112ab5a8bfd2cbe4a09458 Binary files /dev/null and b/target/release/.fingerprint/rand-74d8781095965d13/dep-lib-rand-74d8781095965d13 differ diff --git a/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13 b/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13 new file mode 100644 index 0000000000000000000000000000000000000000..8363f4bf3dfeee62257fa3b66ec916de9e34b934 --- /dev/null +++ b/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13 @@ -0,0 +1 @@ +2ad51074d14fd604 \ No newline at end of file diff --git a/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13.json b/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13.json new file mode 100644 index 0000000000000000000000000000000000000000..ee1f206aec485d12061a57d101d5bf130d0a30f2 --- /dev/null +++ b/target/release/.fingerprint/rand-74d8781095965d13/lib-rand-74d8781095965d13.json @@ -0,0 +1 @@ +{"rustc":16691645817143570650,"features":"[]","target":4824587992598157425,"profile":8410117760005530537,"deps":[["libc v0.2.33",2037794367800040213]],"local":[{"Precalculated":"0.3.17"}],"rustflags":[]} \ No newline at end of file diff --git a/target/release/deps/guessing_game-ff40b6649dac356e b/target/release/deps/guessing_game-ff40b6649dac356e new file mode 100644 index 0000000000000000000000000000000000000000..6472b0f82580c8511c14b83e68a7ebbfebbc7cb1 Binary files /dev/null and b/target/release/deps/guessing_game-ff40b6649dac356e differ diff --git a/target/release/deps/liblibc-2ef5206794533cd4.rlib b/target/release/deps/liblibc-2ef5206794533cd4.rlib new file mode 100644 index 0000000000000000000000000000000000000000..8961b6c678adbfeb1b8a01152ccf559e0b5c443d Binary files /dev/null and b/target/release/deps/liblibc-2ef5206794533cd4.rlib differ diff --git a/target/release/deps/librand-74d8781095965d13.rlib b/target/release/deps/librand-74d8781095965d13.rlib new file mode 100644 index 0000000000000000000000000000000000000000..59789d888053c9ba0febd290e37e9a24c3ebca75 Binary files /dev/null and b/target/release/deps/librand-74d8781095965d13.rlib differ diff --git a/target/release/guessing_game b/target/release/guessing_game new file mode 100644 index 0000000000000000000000000000000000000000..6472b0f82580c8511c14b83e68a7ebbfebbc7cb1 Binary files /dev/null and b/target/release/guessing_game differ diff --git a/target/release/guessing_game.d b/target/release/guessing_game.d new file mode 100644 index 0000000000000000000000000000000000000000..2c3c4c5e689e077015abfa1147526f93ab136e8e --- /dev/null +++ b/target/release/guessing_game.d @@ -0,0 +1 @@ +/mnt/c/Users/Shawnshank/Desktop/Skola/D7018E\ -\ Rust/projects/guessing_game/target/release/guessing_game: /mnt/c/Users/Shawnshank/Desktop/Skola/D7018E\ -\ Rust/projects/guessing_game/src/main.rs