/* * Escribe un programa que muestre cómo transcurre un juego de tenis y quién lo ha ganado. * El programa recibirá una secuencia formada por "P1" (Player 1) o "P2" (Player 2), según quien * gane cada punto del juego. * * - Las puntuaciones de un juego son "Love" (cero), 15, 30, 40, "Deuce" (empate), ventaja. * - Ante la secuencia [P1, P1, P2, P2, P1, P2, P1, P1], el programa mostraría lo siguiente: * 15 - Love * 30 - Love * 30 - 15 * 30 - 30 * 40 - 30 * Deuce * Ventaja P1 * Ha ganado el P1 * - Si quieres, puedes controlar errores en la entrada de datos. * - Consulta las reglas del juego si tienes dudas sobre el sistema de puntos. */ fn main() { let secuencia = vec!["P1", "P1", "P2", "P2", "P1", "P2", "P1", "P1"]; let puntos = vec!["Love", "15", "30", "40"]; let mut jugador1 = 0; let mut jugador2 = 0; let mut puntos1; let mut puntos2; for ele in secuencia { if ele == "P1" { jugador1 += 1; } else if ele == "P2" { jugador2 += 1; } if jugador1 < puntos.len() { puntos1 = puntos[jugador1].to_string(); } else { puntos1 = "+".to_string(); } puntos2 = if jugador2 < puntos.len() { puntos[jugador2].to_string() } else { "+".to_string() }; if jugador1 > 2 && jugador2 > 2 && jugador1 == jugador2 { println!("Deuce"); } else if jugador1 > 2 && jugador2 > 2 && jugador1 + 1 == jugador2 { println!("Ventaja P2"); } else if jugador1 > 2 && jugador2 > 2 && jugador2 + 1 == jugador1 { println!("Ventaja P1"); } else if jugador1 > 3 && jugador1 > jugador2 { println!("Ha ganado el P1"); } else if jugador1 > 3 && jugador2 > jugador1 { println!("Ha ganado el P2"); } else { println!("{} - {}", puntos1, puntos2); } } }