drop unused battle::Idx

main
Bel LaPointe 2025-03-24 20:20:54 -06:00
parent fa3c80105f
commit dcbdc29f78
1 changed files with 7 additions and 13 deletions

View File

@ -180,8 +180,8 @@ pub mod battle {
self.teams[w_team_idx] = w_team.to_owned();
}
Move::Swap(to_idx) => {
let mut team = self.teams[to_idx.team].clone();
Move::Swap(team_idx, mon_idx) => {
let mut team = self.teams[team_idx].clone();
team.mons = team
.mons
.iter()
@ -191,8 +191,8 @@ pub mod battle {
m
})
.collect();
team.mons[to_idx.mon].out = true;
self.teams[to_idx.team] = team;
team.mons[mon_idx].out = true;
self.teams[team_idx] = team;
}
};
});
@ -214,7 +214,7 @@ pub mod battle {
i,
match &self.q[i] {
Move::Pass(_) => 0,
Move::Swap(_) => -10,
Move::Swap(_, _) => -10,
Move::Attack(r_team, _) => self.teams[r_team.to_owned()]
.mons
.iter()
@ -372,17 +372,11 @@ pub mod battle {
}
}
#[derive(Clone, Debug)]
pub struct Idx {
pub team: usize,
pub mon: usize,
}
#[derive(Clone, Debug)]
pub enum Move {
Pass(usize),
Attack(usize, usize),
Swap(Idx),
Swap(usize, usize),
}
}
@ -418,7 +412,7 @@ mod mon_tests {
// team0mon0 swaps with team0mon0
// team1mon0 attacks team0
engine.enqueue(battle::Move::Attack(1, 0));
engine.enqueue(battle::Move::Swap(battle::Idx { team: 0, mon: 1 }));
engine.enqueue(battle::Move::Swap(0, 1));
engine.exec();
assert_eq!(6, engine.teams()[0].mons()[0].damage());
assert_eq!(1, engine.teams()[0].mons()[1].damage());