JamogusLamogusAmogus
Jump to navigation
Jump to search
JamogusLamogusAmogus (refer to it as "Jlamogus" in formal situations) is a very "sussy" esoteric interpreted programming language made in python. JamogusLamogusAmogus uses the incredibly unique file extension of "ඞ".
List of JamogusLamogusAmogus' functions:
| Function | Parameters | Usage |
|---|---|---|
| JoinGame | Var | Sets a variable to 0 (initializes variable if it doesn't exist already). |
| guysTheImposterIs | Var | Takes a variable, converts its value to Unicode, and prints it to the console. |
| addNewVent | VentName | Creates a new vent. |
| vent | VentName | Sets program counter to position of vent. |
| completeTask | Var | increments a variable by one. |
| sabotage | Var | decrements a variable by one. |
| slice | Var | halves a variable. |
| twoAmogus | Var | doubles a variable. |
| where? | Var | sets variable to user input read as a float. |
| {arg0} hasCompleted {arg1} tasks | Var, Float | sets a variable to a float value. |
| ventIf {arg0} {arg1} {arg2} {arg3} | Var, equallySus/moreSus/lessSus, Float, VentName | vents to a vent if a variable is > or = or < than a float. |
Hello World (x10)
joinGame letter; joinGame i; addNewVent hello; completeTask i; letter hasCompleted 72 tasks; guysTheImposterIs letter; letter hasCompleted 101 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 111 tasks; guysTheImposterIs letter; letter hasCompleted 32 tasks; guysTheImposterIs letter; letter hasCompleted 87 tasks; guysTheImposterIs letter; letter hasCompleted 111 tasks; guysTheImposterIs letter; letter hasCompleted 114 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 100 tasks; guysTheImposterIs letter; letter hasCompleted 33 tasks; guysTheImposterIs letter; letter hasCompleted 10 tasks; guysTheImposterIs letter; ventIf i moreSus 10 done; ventIf i equallySus 10 done; vent hello; addNewVent done;
Running ".ඞ" files:
Run "python Jlamogus.py main.ඞ" in the terminal.
Jlamogus.py:
import os
import sys
def represents_int(s):
try:
float(s)
except ValueError:
return False
else:
return True
def execCode(code:str):
variables = {}
tasks = {}
codeList = code.replace("\n","").split(";")
counter = 0
for i in codeList:
c = i.split(" ")
if c[0] == "addNewVent":
tasks[c[1]] = counter
counter += 1
counter = 0
while True:
try:
line = codeList[counter]
except IndexError:
return
sections = line.split(" ")
if len(sections) == 2:
if sections[0] == "joinGame":
variables[sections[1]] = 0
elif sections[0] == "guysTheImposterIs":
print(chr(int(float(variables[sections[1]]))), end="")
elif sections[0] == "vent":
counter = tasks[sections[1]]
elif sections[0] == "completeTask":
variables[sections[1]] += 1
elif sections[0] == "sabotage":
variables[sections[1]] -= 1
elif sections[0] == "slice":
variables[sections[1]] /= 2
elif sections[0] == "twoAmogus":
variables[sections[1]] *= 2
elif sections[0] == "where?":
variables[sections[1]] = float(input("> "))
elif len(sections) == 4:
if sections[1] == "hasCompleted" and sections[3] == "tasks":
variables[sections[0]] = float(sections[2])
elif len(sections) == 5:
if sections[0] == "ventIf":
if sections[2] == "equallySus":
if represents_int(sections[3]):
if variables[sections[1]] == float(sections[3]):
counter = tasks[sections[4]]
else:
if variables[sections[1]] == variables[sections[3]]:
counter = tasks[sections[4]]
elif sections[2] == "moreSus":
if represents_int(sections[3]):
if variables[sections[1]] > float(sections[3]):
counter = tasks[sections[4]]
else:
if variables[sections[1]] > variables[sections[3]]:
counter = tasks[sections[4]]
elif sections[2] == "lessSus":
if represents_int(sections[3]):
if variables[sections[1]] < float(sections[3]):
counter = tasks[sections[4]]
else:
if variables[sections[1]] < variables[sections[3]]:
counter = tasks[sections[4]]
counter+=1
os.system('cls' if os.name == 'nt' else 'clear')
execCode(open(sys.argv[1],"r").read())