Skip to content

Instantly share code, notes, and snippets.

@wizzwizz4
Created December 20, 2015 11:38
Show Gist options
  • Save wizzwizz4/b64f26c87a3240227496 to your computer and use it in GitHub Desktop.
Save wizzwizz4/b64f26c87a3240227496 to your computer and use it in GitHub Desktop.
SuperMarioLANG Working Draft
# Block (breakable)
█ Block (unbreakable)
? Question mark with Super Mushroom
+ Question mark with coin (increments current tape value)
- Question mark with coin (decrements current tape value)
= Start / end of pipe
- Horizontal pipe
| Vertical pipe
^ One way platform / pipe (up)
v One way platform / pipe (down)
< One way platform / pipe (left)
> One way platform / pipe (right)
/ Sloped platform / pipe bend
\ Sloped platform / pipe bend
L Question mark with life (shifts tape pos to right)
D Question mark with death (shifts tape pos to left, doesn't kill)
¬ Boo-lean not the current tape value (byte)
` (Boo) Bit shift the current tape value left (byte)
' (Boo) Bit shift the current tape value right (byte)
F Base of a flagpole, 16chars high. 3digit number above determines exit code
m Mario (1 char high) start position
M Super Mario (2 char high) start position
p (Boo) Print the current tape value as character / raw byte
P (Boo) Print the current tape value as decimal number
Mario is 1 block high.
Super Mario is 2 blocks high.
Boos stay still, and do stuff when you pass through them
Super Mario crouches when going through some pipes
Layers before Mario are background, layers after are foreground
Every layer is a 2d area mapped to 1d using a Hilbert curve
There can be multiple Marios in the same or different layers
The layer directly after a layer containing Mario contains the directions
@wizzwizz4
Copy link
Author

I've used some abbreviations in this. For example, "Death" means Poison Mushroom. I don't know of an "anticoin" in the original material.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment