Files
basic-computer-games/70_Poetry/csharp/Poem.cs
2022-10-03 22:00:42 +11:00

32 lines
696 B
C#

using static Poetry.Resources.Resource;
namespace Poetry;
internal class Poem
{
internal static void Compose(IReadWrite io, IRandom random)
{
io.Write(Streams.Title);
var context = new Context(io, random);
while (true)
{
context.WritePhrase();
context.MaybeWriteComma();
context.WriteSpaceOrNewLine();
while (true)
{
context.Update(random);
context.MaybeIndent();
if (context.GroupNumberIsValid) { break; }
context.ResetGroup(io);
if (context.MaybeCompleteStanza()) { break; }
}
}
}
}