add coffee maker

This commit is contained in:
Thomas Harvey
2015-11-23 23:35:20 -05:00
parent 4ee8623af8
commit e168de3da7

View File

@ -1,108 +0,0 @@
# containment vessel
class Pot:
def __init__(self):
self.has_pot = True
self.has_coffee = False
self.warming_plate_on = False
self.is_brewing = False
def is_ready(self):
return self.has_pot
def start(self):
self.is_brewing = True
def pause(self):
if self.
self.warming_plate_on = False
def resume(self):
if self.has_coffee:
self.warming_plate_on = True
def done(self):
self.is_brewing = False
# hot water source
class WaterSource:
def __init__(self):
# default to false later
self.has_water = True
self.boiler_on = False
self.valve_open = True
def is_ready(self):
# "NotEmpty" = True
return self.has_water
def boiling(self):
return self.boiler_on
def start(self):
self.boiler_on = True
self.valve_open = False
def pause(self):
self.valve_open = True
self.boiler_on = False
def resume(self):
self.valve_open = False
self.boiler_on = True
def done(self):
self.boiler_on = False
self.valve_open = True
class CoffeeMaker:
def __init__(self):
self.pot = Pot()
self.water_source = WaterSource()
self.brew_light = False
def push_brew_button(self):
self.brew()
def remove_pot(self):
self.pot.has_pot = False
def add_water(self):
self.water_source.has_water = True
def poll(self):
# is pot on warmer plate
if self.pot.is_ready():
if self.water_source.boiling():
self.pot.has_coffee = True
self.water_source.valve_open = False
# does pot have coffee
if self.pot.has_coffee:
self.pot.warming_plate_on = True
else:
self.pot.warming_plate_on = False
#
if not self.water_source.has_water:
self.water_source.done()
self.brew_light = True
if not self.water_source.has_water and not self.pot.has_coffee and self.pot.is_brewing:
self.pot.done()
self.brew_light = False
else:
self.water_source.valve_open = True
self.pot.has_coffee = False
def brew(self):
if not self.pot.is_ready() or not self.water_source.is_ready():
return False
self.pot.start()
while self.water_source.boiling():
self.poll()
while self.pot.has_coffee():
self.poll()