diff --git a/ejercicios/reto13/Cargo.toml b/ejercicios/reto13/Cargo.toml index 51554d4..d1583c8 100644 --- a/ejercicios/reto13/Cargo.toml +++ b/ejercicios/reto13/Cargo.toml @@ -8,3 +8,4 @@ edition = "2021" [dependencies] reqwest = "0.11.12" tokio = {version = "1", features = ["full"]} +rand = "0.8" diff --git a/ejercicios/reto13/src/main.rs b/ejercicios/reto13/src/main.rs index 224001e..bd6b2cf 100644 --- a/ejercicios/reto13/src/main.rs +++ b/ejercicios/reto13/src/main.rs @@ -13,6 +13,8 @@ * - Puedes utilizar las palabras que quieras y el número de intentos que consideres */ +use rand::Rng; + #[tokio::main] async fn main() -> Result<(), Box> { // api palabras aleatorias @@ -35,10 +37,19 @@ async fn main() -> Result<(), Box> { println!("palabra: {}", palabra); // calcula el 60% de la palabra let ocultas = palabra.len() * 6 / 10; - println!("ocultas: {}", ocultas); - for _ in 0..ocultas { - // random num entre 0 y palabra.len() - println!("*"); + println!( + "ocultas: {} {}%", + ocultas, + ocultas as f32 / palabra.len() as f32 * 100.0 + ); + // los números de caracter que va a ocultar + let mut vectorocultas: Vec = Vec::new(); + while vectorocultas.len() != ocultas { + let num = rand::thread_rng().gen_range(0..palabra.len()); + if vectorocultas.contains(&num) == false { + vectorocultas.push(num); + } + println!("num: {}", num); } Ok(()) }