diff --git a/ejercicios/reto13/src/main.rs b/ejercicios/reto13/src/main.rs index bd6b2cf..11aec74 100644 --- a/ejercicios/reto13/src/main.rs +++ b/ejercicios/reto13/src/main.rs @@ -14,6 +14,25 @@ */ use rand::Rng; +use std::io; + +fn creapalabra(palabra: &str, vectorocultas: &mut Vec) -> String { + let vector: Vec = palabra.chars().collect(); + let mut vectorfinal: Vec = Vec::new(); + for (index, i) in vector.iter().enumerate() { + if vectorocultas.contains(&index) == false { + vectorfinal.push(*i); + } else { + vectorfinal.push('_'); + } + } + let mut palabrafinal: String = String::from(""); + for i in vectorfinal { + palabrafinal = palabrafinal + &i.to_string(); + } + + palabrafinal.to_string() +} #[tokio::main] async fn main() -> Result<(), Box> { @@ -34,14 +53,8 @@ async fn main() -> Result<(), Box> { } } // Ya tenemos la palabra - println!("palabra: {}", palabra); // calcula el 60% de la palabra let ocultas = palabra.len() * 6 / 10; - 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 { @@ -49,7 +62,14 @@ async fn main() -> Result<(), Box> { if vectorocultas.contains(&num) == false { vectorocultas.push(num); } - println!("num: {}", num); + } + let mut intentos = 10; + while intentos > 0 { + let mut entrada = String::new(); + println!("Intentos: {}", intentos); + println!("Palabra: {}", creapalabra(&palabra, &mut vectorocultas)); + println!("Ingrese una letra o la solución: "); + io::stdin().read_line(&mut entrada).unwrap(); } Ok(()) }