From 24650f768cad10309537a2025f26c5df99ddaa89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20K=C3=BCpeli?= Date: Thu, 21 Jul 2022 09:59:52 +0300 Subject: [PATCH] rust port --- 76_Russian_Roulette/rust/Cargo.toml | 9 ++++ 76_Russian_Roulette/rust/src/main.rs | 67 ++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 76_Russian_Roulette/rust/Cargo.toml create mode 100644 76_Russian_Roulette/rust/src/main.rs diff --git a/76_Russian_Roulette/rust/Cargo.toml b/76_Russian_Roulette/rust/Cargo.toml new file mode 100644 index 00000000..3b1d02f5 --- /dev/null +++ b/76_Russian_Roulette/rust/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "rust" +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" diff --git a/76_Russian_Roulette/rust/src/main.rs b/76_Russian_Roulette/rust/src/main.rs new file mode 100644 index 00000000..7475ad5c --- /dev/null +++ b/76_Russian_Roulette/rust/src/main.rs @@ -0,0 +1,67 @@ +use std::time::Duration; + +use rand::Rng; + +fn main() { + println!("\n\t\tRUSSIAN ROULETTE"); + println!("CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"); + println!("\nTHIS IS A GAME OF >>>>>>>>>>RUSSIAN ROULETTE.\n"); + println!("HERE IS A REVOLVER."); + + loop { + println!("TYPE '1' TO SPIN CHAMBER AND PULL TRIGGER"); + println!("TYPE '2' TO GIVE UP."); + println!("GO"); + + let mut tries = 0; + + loop { + let mut pull_trigger = true; + + loop { + println!("?"); + let mut input = String::new(); + + std::io::stdin() + .read_line(&mut input) + .expect("Error reading line!"); + + match input.trim() { + "1" => break, + "2" => { + pull_trigger = false; + break; + } + _ => println!("Invalid input."), + } + } + + if pull_trigger { + std::thread::sleep(Duration::from_secs(1)); + + match rand::thread_rng().gen_range(0..6) { + 0 => { + println!("\tBANG!!!!! YOU'RE DEAD!"); + println!("CONDOLENCES WILL BE SENT TO YOUR RELATIVES."); + println!("\n\n...NEXT VICTIM..."); + break; + } + _ => { + println!("- CLICK -"); + tries += 1; + } + } + + if tries >= 10 { + println!("YOU WIN!!!!!"); + println!("LET SOMEONE ELSE BLOW HIS BRAINS OUT.\n"); + break; + } + } else { + println!("\tCHICKEN!!!!!"); + println!("\n\n...NEXT VICTIM..."); + break; + } + } + } +}