vec magic
This commit is contained in:
parent
e7b3891095
commit
2dd7128455
41
src/lib.rs
41
src/lib.rs
@ -16,14 +16,10 @@ struct Turn {
|
|||||||
def: u64,
|
def: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[derive(Debug)]
|
|
||||||
// pub struct Battle {
|
|
||||||
// cryps: Vec<Cryp>,
|
|
||||||
// }
|
|
||||||
|
|
||||||
fn att_roll(att: u64) -> u64 {
|
fn att_roll(att: u64) -> u64 {
|
||||||
let mut rng = thread_rng();
|
let mut rng = thread_rng();
|
||||||
let roll: u64 = rng.gen();
|
let roll: u64 = rng.gen();
|
||||||
|
println!("{:b} & {:b}", att, roll);
|
||||||
return att & roll;
|
return att & roll;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +46,7 @@ fn assign_dmg(a: &Cryp, t: &Turn) -> Cryp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn combat_phase(a: Cryp, b: Cryp) -> (Cryp, Cryp) {
|
fn combat_phase(a: &Cryp, b: &Cryp) -> (Cryp, Cryp) {
|
||||||
let a_turn = cryp_turn(&a);
|
let a_turn = cryp_turn(&a);
|
||||||
let b_turn = cryp_turn(&b);
|
let b_turn = cryp_turn(&b);
|
||||||
return (
|
return (
|
||||||
@ -60,28 +56,55 @@ fn combat_phase(a: Cryp, b: Cryp) -> (Cryp, Cryp) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn battle(a: Cryp, b: Cryp) -> (Cryp, Cryp) {
|
fn battle(a: Cryp, b: Cryp) -> (Cryp, Cryp) {
|
||||||
|
let mut cryps = vec![
|
||||||
|
a.clone(),
|
||||||
|
b.clone()
|
||||||
|
];
|
||||||
loop {
|
loop {
|
||||||
let combat = combat_phase(a.clone(), b.clone());
|
let combat = combat_phase(&cryps[0], &cryps[1]);
|
||||||
println!("{:?}", combat);
|
println!("{:?}", combat);
|
||||||
if combat.0.stam == 0 || combat.1.stam == 0 {
|
if combat.0.stam == 0 || combat.1.stam == 0 {
|
||||||
return combat;
|
return combat;
|
||||||
}
|
}
|
||||||
|
cryps = vec![combat.0, combat.1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fn main() {
|
||||||
|
// let mut bodies = vec![
|
||||||
|
// Body { x: 10, y: 10, v: 0 },
|
||||||
|
// Body { x: 20, y: 30, v: 0 },
|
||||||
|
// ];
|
||||||
|
|
||||||
|
// for _ in 0..2 {
|
||||||
|
// let next_bodies = bodies
|
||||||
|
// .iter()
|
||||||
|
// .map(|b| {
|
||||||
|
// let next_v = bodies
|
||||||
|
// .iter()
|
||||||
|
// .fold(b.v, { |a, b_inner| a + b.x * b_inner.x });
|
||||||
|
// Body { v: next_v, ..*b }
|
||||||
|
// })
|
||||||
|
// .collect();
|
||||||
|
// bodies = next_bodies;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// println!("{:?}", bodies);
|
||||||
|
// }
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let a = Cryp {
|
let a = Cryp {
|
||||||
name: "pronounced \"creeep\"".to_string(),
|
name: "pronounced \"creeep\"".to_string(),
|
||||||
dmg: 10,
|
dmg: 10,
|
||||||
def: 5,
|
def: 5,
|
||||||
stam: 5,
|
stam: 25,
|
||||||
};
|
};
|
||||||
|
|
||||||
let b = Cryp {
|
let b = Cryp {
|
||||||
name: "lemongrass tea".to_string(),
|
name: "lemongrass tea".to_string(),
|
||||||
dmg: 8,
|
dmg: 8,
|
||||||
def: 8,
|
def: 8,
|
||||||
stam: 10,
|
stam: 25,
|
||||||
};
|
};
|
||||||
|
|
||||||
battle(a, b);
|
battle(a, b);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user