46 lines
862 B
D
46 lines
862 B
D
module coffeewithhook;
|
|
|
|
import std.stdio : write, writeln, readln;
|
|
import std.uni : toLower;
|
|
import std.algorithm : startsWith;
|
|
import caffeinebeveragewithhook;
|
|
|
|
class CoffeeWithHook : CaffeineBeverageWithHook
|
|
{
|
|
override void brew()
|
|
{
|
|
writeln("Dripping Coffee through filter");
|
|
}
|
|
|
|
override void addCondiments()
|
|
{
|
|
writeln("Adding Sugar and Milk");
|
|
}
|
|
|
|
override bool customerWantsCondiments()
|
|
{
|
|
if (getUserInput().toLower().startsWith("y"))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
string getUserInput()
|
|
{
|
|
string answer;
|
|
|
|
write("Would you like milk and sugar with your coffee (y/n)? ");
|
|
|
|
if ((answer = readln()) !is null)
|
|
{
|
|
return answer;
|
|
}
|
|
|
|
return "no";
|
|
}
|
|
}
|