Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime, time
- class Bazooka(object):
- reload = 3
- damage = 9999
- ammo = 4
- last_shot = time.time() - reload
- def fire(self):
- if self.ammo:
- if time.time() >= self.last_shot + self.reload:
- self.ammo -= 1
- self.last_shot = time.time()
- else:
- time.sleep(self.last_shot + self.reload - time.time())
- self.ammo -= 1
- self.last_shot = time.time()
- else:
- print('No missiles left!')
- def charge(self):
- self.ammo = 4
- class Truck(object):
- speed = 100
- fuel = 500
- economy = 4
- mileage = 0
- def drive(self, distance):
- if self.fuel / self.economy >= distance:
- self.fuel -= self.economy * distance
- self.mileage += distance
- else:
- return 'Need {} more fuel to cross given distance'.format(distance - self.fuel / self.economy)
- @property
- def max_distance(self):
- return self.fuel / self.economy
- class Tank(Bazooka, Truck):
- shots = 0
- damage_done = 0
- def fire(self):
- super().fire()
- if self.ammo:
- self.shots += 1
- self.damage_done += self.damage
- little_tank = Tank()
- little_tank.drive(little_tank.max_distance / 2)
- print('The tank crossed {} miles and {} fuel left'.format(little_tank.mileage, little_tank.fuel))
- little_tank.fire()
- print('The tank shot {shots} time(s) and did {damage} damage, so {ammo} missiles left.'.format(ammo=little_tank.ammo, damage=little_tank.damage_done, shots=little_tank.shots))
- little_tank.drive(Tank().max_distance / 4)
- print('The tank crossed {} miles and {} fuel left'.format(little_tank.mileage, little_tank.fuel))
- little_tank.fire()
- print('The tank shot {shots} time(s) and did {damage} damage, so {ammo} missiles left.'.format(ammo=little_tank.ammo, damage=little_tank.damage_done, shots=little_tank.shots))
- little_tank.fire()
- print('The tank shot {shots} time(s) and did {damage} damage, so {ammo} missiles left.'.format(ammo=little_tank.ammo, damage=little_tank.damage_done, shots=little_tank.shots))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement