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