rename Battle::Turn to Battle::Event

main
Bel LaPointe 2025-03-24 21:08:42 -06:00
parent dfc99e97e3
commit 5bf7d3b1d8
1 changed files with 14 additions and 9 deletions

View File

@ -187,7 +187,7 @@ pub mod battle {
Ok(()) Ok(())
} }
pub fn exec(&mut self) -> Vec<Turn> { pub fn exec(&mut self) -> Vec<Event> {
self.turn_order().iter().for_each(|idx| { self.turn_order().iter().for_each(|idx| {
match self.q[*idx].clone() { match self.q[*idx].clone() {
Move::Pass(_) => {} Move::Pass(_) => {}
@ -238,7 +238,7 @@ pub mod battle {
self.teams.iter().map(|t| t.clone()).collect() self.teams.iter().map(|t| t.clone()).collect()
} }
fn new_turn(&mut self) -> Vec<Turn> { fn new_turn(&mut self) -> Vec<Event> {
self.q = vec![]; self.q = vec![];
let mut result = vec![]; let mut result = vec![];
@ -251,10 +251,10 @@ pub mod battle {
let lost_before = teams[i].lost; let lost_before = teams[i].lost;
if !has_mon_out && has_mon_alive { if !has_mon_out && has_mon_alive {
result.push(Turn::MustSwap(i)); result.push(Event::MustSwap(i));
} else if !has_mon_alive && !lost_before { } else if !has_mon_alive && !lost_before {
self.teams[i].lost = true; self.teams[i].lost = true;
result.push(Turn::Lose(i)); result.push(Event::Lose(i));
} }
if !self.teams()[i].lost { if !self.teams()[i].lost {
@ -263,7 +263,7 @@ pub mod battle {
} }
if teams_not_lost.len() == 1 { if teams_not_lost.len() == 1 {
result.push(Turn::Win(teams_not_lost[0])); result.push(Event::Win(teams_not_lost[0]));
} }
result result
@ -456,7 +456,7 @@ pub mod battle {
} }
#[derive(Clone, Debug, PartialEq)] #[derive(Clone, Debug, PartialEq)]
pub enum Turn { pub enum Event {
MustSwap(usize), MustSwap(usize),
Lose(usize), Lose(usize),
Win(usize), Win(usize),
@ -524,7 +524,7 @@ mod mon_tests {
.expect("failed to kill"); .expect("failed to kill");
let turn_results = engine.exec(); let turn_results = engine.exec();
assert_eq!(1, turn_results.len()); assert_eq!(1, turn_results.len());
assert_eq!(battle::Turn::MustSwap(0), turn_results[0]); assert_eq!(battle::Event::MustSwap(0), turn_results[0]);
assert_eq!( assert_eq!(
engine.teams()[0].mons()[1].mon.dex.hp(), engine.teams()[0].mons()[1].mon.dex.hp(),
engine.teams()[0].mons()[1].damage() engine.teams()[0].mons()[1].damage()
@ -552,8 +552,13 @@ mod mon_tests {
.expect("failed to kill"); .expect("failed to kill");
let turn_results = engine.exec(); let turn_results = engine.exec();
assert_eq!(2, turn_results.len(), "{:?}", turn_results); assert_eq!(2, turn_results.len(), "{:?}", turn_results);
assert_eq!(battle::Turn::Lose(0), turn_results[0], "{:?}", turn_results); assert_eq!(
assert_eq!(battle::Turn::Win(1), turn_results[1], "{:?}", turn_results); battle::Event::Lose(0),
turn_results[0],
"{:?}",
turn_results
);
assert_eq!(battle::Event::Win(1), turn_results[1], "{:?}", turn_results);
assert_eq!( assert_eq!(
engine.teams()[0].mons()[0].mon.dex.hp(), engine.teams()[0].mons()[0].mon.dex.hp(),
engine.teams()[0].mons()[0].damage() engine.teams()[0].mons()[0].damage()