battle struct
This commit is contained in:
parent
c42bc386dd
commit
eb84b5b934
@ -34,6 +34,12 @@ struct Encounter {
|
||||
player: Cryp,
|
||||
}
|
||||
|
||||
pub struct Battle {
|
||||
a: Cryp,
|
||||
b: Cryp,
|
||||
// winner: Option<Cryp>,
|
||||
}
|
||||
|
||||
fn att_roll(value: u64, att: Attribute) -> Roll {
|
||||
let mut rng = thread_rng();
|
||||
let roll: u64 = rng.gen();
|
||||
@ -59,7 +65,7 @@ fn cryp_turn(c: &Cryp) -> Turn {
|
||||
return Turn { dmg, def }
|
||||
}
|
||||
|
||||
pub fn battle(mut a: Cryp, mut b: Cryp) -> (Cryp, Cryp) {
|
||||
pub fn battle(mut a: Cryp, mut b: Cryp) -> Battle {
|
||||
// println!("battle:",);
|
||||
// println!("{:?}", cryps[0]);
|
||||
// println!("{:?}", cryps[1]);
|
||||
@ -72,8 +78,16 @@ pub fn battle(mut a: Cryp, mut b: Cryp) -> (Cryp, Cryp) {
|
||||
b = b.assign_dmg(&a, &b_turn, &a_turn);
|
||||
// println!("{:?}", combat);
|
||||
|
||||
if vec![&a, &b].iter().any(|c| c.hp == 0) {
|
||||
break (a, b);
|
||||
|
||||
let mut finished = false;
|
||||
{
|
||||
if vec![&a, &b].iter().any(|c| c.hp == 0) {
|
||||
finished = true
|
||||
}
|
||||
}
|
||||
|
||||
if finished {
|
||||
break Battle { a, b };
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -88,7 +102,8 @@ fn pve(plr: Cryp) -> Encounter {
|
||||
.create();
|
||||
|
||||
// have to reassign here because battle takes ownership
|
||||
let (plr, mob) = battle(plr, mob);
|
||||
let Battle { a: plr, b: mob } = battle(plr, mob);
|
||||
|
||||
let win = vec![&plr, &mob].iter().any(|c| c.id == plr.id && c.hp > 0);
|
||||
|
||||
if win {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user