-
Notifications
You must be signed in to change notification settings - Fork 0
Adding a new Level
LSon edited this page Jul 9, 2024
·
10 revisions
Every level is a subclass of IPTLevel
, which in turn is a TestCase
subclass.
Level classes have the naming convention IPTLevel[Chapter number][Level number]
. So the class of the third level in chapter two is named IPTLevel0203
.
Each level implements the following class methods:
-
asString
: String that contains the name of the level -
levelIndex
: The position of the level within its chapter -
visibleCodePieces
: A dictionary that contains the methods that are visible in this level. They are saved as a Tupel of the Class and method e.g. { {IPTGame. #initialize}. {IPTBall. #initialize} } -
description
: a string that is displayed in the ChapterView -
explanations
: a collection of strings, that are displayed in the explanationBox in the IPTBrowser
Furthermore, your level class contains instance methods, that test the user-written code. Add those methods to the category levelTests. The tests are then automatically executed when the user runs their code.
Each game method needs to be initialized beforehand via an asset. Change the assets as needed. Refer to the Asset Structure.
When adding a new method into the assets, do not forget to list the file in methodIndex.txt
too!