Files
cs8803p3/grammars/overland.grm
2012-03-18 16:17:04 -04:00

45 lines
2.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#VAR name = LevelComponent.TYPE
VAR S = LEVEL
VAR LAND_SEGMENT = LEVEL_SEGMENT
VAR LO_HI = LO_HI
VAR HI_LO = HI_LO
VAR LO_PATH = LO_PATH
VAR HI_PATH = HI_PATH
VAR lo_path = FLAT_LO
VAR hi_path = FLAT_HI
###
#Coin Dive (Some empty blocks. The user climbs them and runs off; coins line their path as they fall back to the ground.)
#Free power-up. (Sets the player up to get a power-up with little or no challenge.)
#Straight. (A straight stretch of land with maybe one enemy and maybe some coins or blocks.)
#Single Pit (A pit that the user must jump over; rocks on either side.)
#Bowling Alley (A red koopa right before a long line of enemies. Kill them all in a row by throwing the shell.)
#Cannon Line (A stack of 2-3 canons.)
#Maze (A... yknow... maze.)
#Lemming Trap (A little pit with a few enemies that jump down into it.)
#Platform Jump (A bunch of platforms to jump between.)
#Pipe Jump (A bunch of thin pipes to jump between. This can be rendered much easier, because sometimes the space between the pipes is filled.)
###
VAR coin_dive = COIN_DIVE
VAR power_up = POWER_UP
VAR single_pit = SINGLE_PIT
VAR bowling_alley = BOWLING_ALLEY
VAR cannon_line = CANNON_LINE
VAR maze = MAZE
VAR lemming_trap = LEMMING_TRAP
VAR platform_jump = PLATFORM_JUMP
VAR pipe_jump = PIPE_JUMP
VAR CHALLENGE = CHALLENGE
#RULE name -> {probabilities}, (clause) [+,|] (clause)...
RULE S -> LAND_SEGMENT + LAND_SEGMENT
RULE LAND_SEGMENT -> {0.25,0.65,0.10}, (LO_HI + HI_LO) | (LO_PATH) | (LAND_SEGMENT + LAND_SEGMENT)
RULE LO_HI -> LO_PATH + CHALLENGE
RULE HI_LO -> CHALLENGE + LO_PATH
#RULE HI_PATH -> {0.10,0.60,0.30}, (HI_PATH + HI_PATH) | (hi_path + CHALLENGE + hi_path) | (hi_path)
RULE LO_PATH -> {0.10,0.60,0.30}, (LO_PATH + LO_PATH) | (lo_path + CHALLENGE + lo_path) | (lo_path)
RULE CHALLENGE -> {0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10}, coin_dive | power_up | lo_path | single_pit | bowling_alley | cannon_line | maze | lemming_trap | platform_jump | pipe_jump
#START variable name
START = S