pub struct Fuel {
value: i32,
}
impl Fuel {
pub fn new(value: i32) -> Self {
Fuel { value }
}
pub fn adjust(&mut self, fuel: i32) {
self.value = self.value.saturating_add(fuel);
}
pub fn consume(&mut self, fuel: i32) {
self.adjust(fuel.saturating_neg());
}
pub fn should_continue(&self) -> bool {
self.value > 0
}
}