diff options
Diffstat (limited to 'src/engine/levels/Tutorial.ts')
-rw-r--r-- | src/engine/levels/Tutorial.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/engine/levels/Tutorial.ts b/src/engine/levels/Tutorial.ts new file mode 100644 index 0000000..165b10f --- /dev/null +++ b/src/engine/levels/Tutorial.ts @@ -0,0 +1,32 @@ +import { Level, LevelNames } from "."; +import { Game } from ".."; +import { + Curry, + FunctionApplication, + LambdaFactory, + LockedDoor, + Player, + Wall, +} from "../entities"; + +export class Tutorial extends Level { + constructor() { + super(LevelNames.Tutorial); + } + + public init(game: Game): void { + const entities = [ + new Player({ x: 2, y: 2 }), + new Wall({ x: 10, y: 9 }), + new Wall({ x: 10, y: 11 }), + new Wall({ x: 11, y: 10 }), + new Curry({ x: 10, y: 10 }), + new LockedDoor({ x: 9, y: 10 }), + new LambdaFactory({ x: 6, y: 3 }, "(λ (x) . x)", 3), + + new FunctionApplication({ x: 6, y: 6 }, "(_INPUT key)"), + ]; + + entities.forEach((entity) => game.addEntity(entity)); + } +} |