Expand description
The level builder, and what a level does at run time: prepare, validate, start.
A level is one builder chain: identity and prose, a Fixture describing its files,
the answer and requirements that complete it, an optional cd policy and file
descriptor rule, and a reference solution. Everything a session needs is a plain public
field; everything a level can do is a method here, so the contract lives in one place
instead of in each level.
Structs§
- Level
- A level. Build one with
levelorintroand chain the methods below. - Solution
- How a level proves it can be completed: a shell script that does the task.
Enums§
- Level
Kind - Whether a level is graded, or only read.
- Start
- Where the player is placed when the level starts.
Functions§
- intro
- Start a section intro (
N.0): read, then Enter. It has the standard hint (messages::INTRO_HINT) and no start directory unless one is set. - level
- Start a regular level:
level(8, "Integrační výzva"). The number is explicit, so reordering never renumbers anything.