rename Battle::Turn to Battle::Event
parent
dfc99e97e3
commit
5bf7d3b1d8
|
|
@ -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()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue