diff --git a/game/sim/builtinLevels.py b/game/sim/builtinLevels.py new file mode 100644 index 0000000..a37eacd --- /dev/null +++ b/game/sim/builtinLevels.py @@ -0,0 +1,67 @@ +from .level import parseAscii, PlatformSpawn + +meadowMap = [ + " ", + " o o o o ", + " = = = o o o ", + " f ", + " = = ", + " = = o o o G v ", + " o o = = o o o ", + " p g g c @ s g f E ", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", +] + +cavernMap = [ + " ", + " o o o ", + " TTT @ o o ", + " HHH ##### ", + " HHH X ^ ^ k ", + " p HHH g /X S S f E ", + "XXXXXXXXXXXXXXXX~~~~XXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXX~~~~XXXXXXXXXXXXXXXXXXXXX", + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", +] + +skywayMap = [ + " ", + " o o o o o o ", + " = = = ", + " p G @ ", + " XXXXXX c E ", + " XXXXXX ^^^^^^ XXXXXXXXXXXXXX ", + " DDDDDD DDDDDDDDDDDDDD ", + " ", +] + + +def buildMeadow(): + level = parseAscii("meadow", meadowMap) + return level + + +def buildCavern(): + level = parseAscii("cavern", cavernMap) + return level + + +def buildSkyway(): + level = parseAscii("skyway", skywayMap) + level.platforms.append(PlatformSpawn(9 * 16, 5 * 16, 48, 12, 26 * 16, 5 * 16, 1.1)) + level.platforms.append(PlatformSpawn(20 * 16, 3 * 16, 32, 12, 20 * 16, 1 * 16, 0.9)) + return level + + +def buildAll(): + return [buildMeadow(), buildCavern(), buildSkyway()] + + +levelBuilders = { + "meadow": buildMeadow, + "cavern": buildCavern, + "skyway": buildSkyway, +}