53 lines
1.9 KiB
Rust
53 lines
1.9 KiB
Rust
/*
|
|
* Crea un programa que calcule quien gana más partidas al piedra,
|
|
* papel, tijera, lagarto, spock.
|
|
* - El resultado puede ser: "Player 1", "Player 2", "Tie" (empate)
|
|
* - La función recibe un listado que contiene pares, representando cada jugada.
|
|
* - El par puede contener combinaciones de "🗿" (piedra), "📄" (papel),
|
|
* "✂️" (tijera), "🦎" (lagarto) o "🖖" (spock).
|
|
* - Ejemplo. Entrada: [("🗿","✂️"), ("✂️","🗿"), ("📄","✂️")]. Resultado: "Player 2".
|
|
* - Debes buscar información sobre cómo se juega con estas 5 posibilidades.
|
|
|
|
Reglas del juego piedra papel tijera lagarto Spock.
|
|
|
|
Tijera corta a papel.
|
|
Papel envuelve a piedra.
|
|
Piedra aplasta a lagarto.
|
|
Lagarto envenena a Spock.
|
|
Spock rompe a tijera.
|
|
Tijera decapita a lagarto.
|
|
Lagarto devora a papel.
|
|
Papel desautoriza a Spock.
|
|
Spock vaporiza a piedra.
|
|
Piedra aplasta a tijera.
|
|
*/
|
|
use rand::Rng;
|
|
|
|
fn main() {
|
|
let simbolos: Vec<&str> = vec!["piedra", "lagarto", "spook", "tijera", "papel"];
|
|
// random jugadas
|
|
let num1 = rand::thread_rng().gen_range(0..simbolos.len());
|
|
let num2 = rand::thread_rng().gen_range(0..simbolos.len());
|
|
let jugada: Vec<&str> = vec![simbolos[num1], simbolos[num2]];
|
|
println!("{} {}", jugada[0], jugada[1]);
|
|
if jugada[0] != jugada[1] {
|
|
let mut ordenado: Vec<&str> = Vec::new();
|
|
let mut index = simbolos.iter().position(|&r| r == jugada[0]).unwrap();
|
|
// println!("{} {}", index, jugada[0]);
|
|
for _ in 0..5 {
|
|
if index == simbolos.len() {
|
|
index = 0
|
|
}
|
|
ordenado.push(simbolos[index]);
|
|
index = index + 1;
|
|
}
|
|
if ordenado[1] == jugada[1] || ordenado[3] == jugada[1] {
|
|
println!("Player 1");
|
|
} else {
|
|
println!("Player 2");
|
|
}
|
|
} else {
|
|
println!("Empate");
|
|
}
|
|
}
|