reto13 terminado

This commit is contained in:
2023-07-02 12:25:06 +02:00
parent ce61363ec0
commit 4507728150

View File

@@ -30,7 +30,6 @@ fn creapalabra(palabra: &str, vectorocultas: &mut Vec<usize>) -> String {
for i in vectorfinal {
palabrafinal = palabrafinal + &i.to_string();
}
// TODO eliminar acentos
palabrafinal.to_string()
}
@@ -50,6 +49,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
&& i.is_empty() == false
&& i.chars().last().unwrap() != '"'
{
match *i {
"á" => "a",
"é" => "e",
"í" => "i",
"ó" => "o",
"ú" => "u",
_ => i,
};
palabra = palabra + i;
vectorpalabra.push(*i);
}
@@ -65,9 +72,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
vectorocultas.push(num);
}
}
let mut intentos: i32 = 10;
loop {
let mut intentos: i32 = 10;
let mut entrada = "".to_string();
let mut entrada = String::from("");
println!("Intentos: {}", intentos);
println!("Palabra: {}", creapalabra(&palabra, &mut vectorocultas));
println!("Ingrese una letra o la solución: ");
@@ -76,21 +83,35 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let vectorentrada: Vec<char> = entrada.chars().collect();
if vectorentrada.len() == 2 {
// Si es una letra
println!("Es una letra {}, {}", vectorentrada[0], palabra);
for i in vectorocultas.iter() {
println!("{}", vectorpalabra[*i]);
vectorocultas.sort();
let clonevectorocultas: Vec<usize> = vectorocultas.clone();
for i in clonevectorocultas.iter() {
if vectorpalabra[*i].to_string() == vectorentrada[0].to_string() {
// Hay que eliminar del vector
// y volver a generar la palabra
let index = vectorocultas.iter().position(|x| x == i).unwrap();
vectorocultas.remove(index);
break;
}
}
}
if entrada.len() == palabra.len() {
if clonevectorocultas.len() <= vectorocultas.len() {
intentos -= 1;
}
} else {
// Si es una palabra
if entrada.replace("\n", "") == palabra {
println!("Acertaste! La palabra era: {}", palabra);
break;
} else {
intentos -= 1;
}
}
if vectorocultas.len() == 0 {
println!("Acertaste! La palabra era: {}", palabra);
break;
}
if intentos == 0 {
println!("Perdiste!");
println!("Perdiste! La palabra era: {}", palabra);
break;
}
}