micro gg


##################
# #
# #
# #
# #
# #
# ###?# G #
# #
# P #
##################

P = Player

P

# = Brick

#

? = QuestionBrick

?

G = Goomba

G


// List syntax
ThingsThatFall = [ Player Goomba ]

// Accelerate down, like gravity. On everything in the list
{ ThingsThatFall } -> { DOWN ThingsThatFall }

// Move sideways with <LEFT> and <RIGHT> arrow keys
{ <HORIZONTAL> Player } -> { HORIZONTAL Player }

// Jump when <UP> is pressed and when the bottom of Player
// is touching Wall (Wall = anything)
DOWN { <UP> Player | Wall } -> { JUMP Player | Wall }

// Player dies if touching Goomba on the side or from below
HORIZONTAL { Player | Goomba } -> { DEAD Player | Goomba }
UP { Player | Goomba } -> { DEAD Player | Goomba }

// Jumping on top of Goomba kills the Goomba
DOWN { Player | Goomba } -> { Player | DEAD Goomba }

// Break bricks by head-butting
UP { Player | Brick } -> { Player | DEAD Brick }

// Head-butting QuestionBrick turns it into a Goomba
UP { Player | QuestionBrick } -> { Player | JUMP Goomba }


#

#

#

?

#

G

P