AmogusScript

From Esolang
Jump to navigation Jump to search

AmogusScript is a very sussy esoteric programming language, invented on August 21, 2023 by User:Quito0567 and modified the following day. It was made to commemorate the abandoning of Amogus Wiki.

Commands

The commands in AmogusScript are based on features in or slang terms about the game Among Us.
To declare a variable, simply type the variable name followed by the value you are assigning to it. However, all variables must begin with 'gus' and variables cannot be manually set to a value in this way after declaration. You can also join commands into one line by separating them with commas:

gus 69, gus2 100

To print something, just type that thing:

"Hello, World!" 

The mogus command followed by a variable increments that variable by 1 while sugoma decrements it. If no variable is given, automatically affects the last used variable:

gus 69, mogus, gus (prints 70) 

Furthermore, you can get user input with the vote command followed by a prompt:

vote "Which crewmate are you voting out? "

You can create loops by typing a command coming after or followed by how many repetitions you want. For multiple commands, surround them in parentheses, braces, or curly braces. You can also swap out the number with for eternity to make the code execute forever. The following code will print the numbers 0 to 20:

gus 0, 21 (gus, mogus)

Next, function definitions are marked by the task keyword. In the example below, 'square' is the function name and 'gus' is its one parameter. The vent command is equivalent to 'return' in something like Python:

task square gus: gus vote, gus+ gus, sugoma gus, (mogus gus+) gus+, vent gus
square 5 (prints 25)

An AmogusScript conditional consists of the if keyword followed by a condition, a colon, and then what should happen if the condition is True. Conditions can be joined with the and & or operators. Below is a list of valid conditions:

x is y (x are y also works)        (x == y)
x is shorter than y                (x < y)
x is shorter than or as tall as y  (x <= y)
x is taller than y                 (x > y)
x is taller than or as tall as y   (x => y)
x is a crewmate                    (x == last used variable)
x is an impostor                   (x != last used variable)
x is sus                           (True if the value of x does not appear anywhere in the program)
the impostor is sus                (True if the value of the last used variable does not appear anywhere in the program)
impostor                           (True if the previous conditional returned False)

A line is treated a comment if it begins with the character .

ඞ WARNING: The following code is very sus.

Various Other Features

shapeshift from 0 into 100           (returns a random number from 0 to 100)
shapeshift into crewmate or imposter (returns either crewmate or imposter)
the remains of x when eaten by y     (returns y mod x)
eject                                (ends the current loop or if not in a loop, terminates the program)
height of x                          (returns how many characters are in x)

There is also the built-in sussify function utilizing the formula ((n2 - √n3) · ⍝)/4200, where ⍝ is the Sus Constant,
or 69/420. So 'sussify 69' would print around 1.111152.

Reviews

  • "it's sussy" - Adriana Istrate, the pioneer of amogus
  • "the sus lang" - OhNoman1259
  • "Wow. How revolutionary." - Quito0567's cousin

Example programs

Truth Machine

gus vote "Enter 0 or 1: "
if gus is 0: 0
if gus is 1: 1 for eternity

FizzBuzz

gus 0
100 {
mogus, if the remains of 3 eaten by gus are 0 and the remains of 5 eaten by gus are 0: "FizzBuzz"
if impostor and the remains of 3 eaten by gus are 0: "Fizz"
if impostor and the remains of 5 eaten by gus are 0: "Buzz"
if impostor: gus
}

99 Bottles of Beer

task sing bottles end {
if bottles is 0: "No more bottles " end
if impostor and bottles is 1: "1 bottle " end
if impostor: bottles " bottles " end
}

gus 99
100 {
sing gus "of beer on the wall,"
sing gus "of beer,"
"Take one down, pass it around,"
sugoma
sing gus "of beer on the wall."
}

amogus