1
0
Fork 0

First Half

This commit is contained in:
Yohan Boujon 2023-10-11 21:49:47 +02:00
parent ae8c7447db
commit 7ab07edd05
2 changed files with 8 additions and 7 deletions

View file

@ -5,6 +5,7 @@ mod rps;
fn main()
{
// Checking if the file is found.
let mut score : u64 = 0;
let mut oponent : Vec<String> = read_to_string("input").unwrap().split_whitespace().map(|s| s.to_string()).collect();
let mut player = oponent.clone();
oponent.retain(|s| s == "A" || s == "B" || s == "C");
@ -12,10 +13,10 @@ fn main()
assert!(oponent.len() == player.len(), "Oponent and Player don't play as many turns.");
let converter : HashMap<char, rps::RockPaperScissors> = rps::get_converter();
let player = converter.get(&'Y').unwrap().battle(converter.get(&'A').unwrap());
println!("First battle = {}", player);
let player = converter.get(&'X').unwrap().battle(converter.get(&'B').unwrap());
println!("Second battle = {}", player);
let player = converter.get(&'Z').unwrap().battle(converter.get(&'C').unwrap());
println!("Third battle = {}", player);
for tools in oponent.iter().zip(player.iter_mut()) {
let o = tools.0.char_indices().next().unwrap().1;
let p = tools.1.char_indices().next().unwrap().1;
score += converter.get(&p).unwrap().battle(converter.get(&o).unwrap());
}
println!("Final score: {}", score);
}