reto13 while intentos>0
This commit is contained in:
@@ -14,6 +14,25 @@
|
||||
*/
|
||||
|
||||
use rand::Rng;
|
||||
use std::io;
|
||||
|
||||
fn creapalabra(palabra: &str, vectorocultas: &mut Vec<usize>) -> String {
|
||||
let vector: Vec<char> = palabra.chars().collect();
|
||||
let mut vectorfinal: Vec<char> = 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<dyn std::error::Error>> {
|
||||
@@ -34,14 +53,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
}
|
||||
}
|
||||
// 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<usize> = Vec::new();
|
||||
while vectorocultas.len() != ocultas {
|
||||
@@ -49,7 +62,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
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(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user