We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Bomberman

From Esolang
Jump to navigation Jump to search

Bomberman is an esolang made by User:↑. It was made to be Hammy-complete. It has a stack and variable system. If a command is not using the variable parameter, the value is used from and to the stack.

Commands

Command What it does
drop(a) Asks for input.
boom(a) Prints an output.
bomb(a)(b) Defines a variable.
chain(a)(params): Defines a function.
powerup(a)(b) Increments a variable by the amount of times specified.
powerdown(a)(b) Same as powerup, but decrements instead.
kick(a): Loop command.
hand(a)(b) Multiplies a variable by the amount specified.
trap(a)(b) Divides a variable by the amount specified.
escape(case): If command.

Hammy-completeness proof

  • it outputs with boom and inputs with drop.
  • it can interpret deadfish (space is a keyword for space and it does not go to a newline because it needs a nl keyword for it to do so):
bomb(accumulator)(0)
chain(inc):
    powerup(accumulator)(1)
chain(dec):
    powerdown(accumulator)(1)
chain(squ):
    hand(accumulator)(accumulator)
chain(out):
    boom((accumulator)+space)
escape((accumulator)=(-1)):
    bomb(accumulator)(0)
escape((accumulator)=(256)):
    bomb(accumulator)(0)

example:

commands: inc;inc;squ;out
result: 4

if you want newline instead of space, you can change space by nl.

  • the cat program is drop;boom (9 chars) (and ; is used as separator)
  • it is plushie complete
  • also there is a ! command in the level 2 expansion pack that prints a specified amount of digits of a specified constant.