Bell

From Esolang
Jump to navigation Jump to search

Bell is an Esoteric programming language created by User:Buckets in An Unknown year.

Bell is Solely a programming language For creating games; Games with n Dimensions.

Commands Shortened Commands Instructions
` ` Toggle to Shortened Commands.
Create Player P Create a Player character.
Key{}[] K{}[] When the Key Input from The curly Braces, Active the Code from the Square brackets.
Question Q Ask for an input.
Answer A The vatiable from the Question's Input.
Set a to b @a2b@ Set the variable/Number a to The Variable b.
{c o d} :cod: The Answer to The Variable/number c o( Operation by) Variable/number d.
Touch()[] T()[] If The Player is Touching the element's Name or ID in the Parentheses, Run the code within the Square brackets.
!Touch()[] !T()[] If The Player is not Touching the element's Name or ID in the Parentheses, Run the code within the Square brackets.
Create NPC C Create an NPC.
Move()<e,f,g...> ()<e,f,g...> Apply the Change The coordinates within The angle Brackets to The element In the Parentheses.
TurnA(){} A{} Rotate the element in the Parentheses clockwise By the number within The curly Braces.
TurnB(){} B{} Rotate the element in the Parentheses Anti-clockwise By the number within The curly Braces.
SpriteHitBox() S() Apply A hitbox To the element in the Parentheses via the Sprite Dimensions.
PixelHitBox() P() Apply A hitbox To the element in the Parentheses via the Sprite's pixels.
TextBox<(),(),()...>"" <(),(),()...>"" Display A Text box Using the Given Elements of The Quotes.
SpritePixel<<h,i...>,<j,k...>>(){}«<...>HEX,<...>HEX...» <<h,i...>,<j,k...>>(){}«<...>HEX,<...>HEX...» Give the Dimension in curly Braces, in parentheses, The Element, in the angle brackets is the Dimensions of the pixel sprite, Within the Chevrons, is A set of HEX code colours applying to The coordinates Of the Pixels shown in The angle brackets In the Chevrons.
SpriteVector<<l,m...>,<n,o...>>(){}<<p,q...>,<r,s...>...><<#0,#5...>,<#5,#3...>,<#3,#0...>...>«<##0,##1...>HEX,...» <<l,m...>,<n,o...>>(){}<<p,q...>,<r,s...>...><<#0,#5...>,<#5,#3...>,<#3,#0...>...>«<##0,##1...>HEX,...» Give the Dimension in curly braces, in parentheses, The Element, in the First angle brackets is the Dimensions of the Vector sprite, Within the Second Angle brackets, is A set of Angle brackets For the Individual Dots as their Coordinates, The Third Angle brackets Compose The set of The Connections of The set of The Dot coordinates & the Chevrons Contain the Set of Faces Concatenated by the HEX code colours.
SHORTLABEL«»as«» «»«» Create A Shortcut/"Shortlabel" For the Innards of the First Chevrons as The Innards of the Second Chevrons.
SpriteToFrame(){} (){} Turns The Element In the Parentheses Into a Frame with The Index Im the Curly braces.
If t = u :t=u: If the Condition Variable/Number t = Number/variable u, the IP goes to The corresponding So, Else Or else.
So S Does Nothing by Itself.
Or else O This Command will do Nothing effectively but if Only used By using this Command With no Corresponding If t = u.
If v = "" :v="" If the Condition Variable v = To the innards of the Quotes, the IP goes to The corresponding So, Else Or else.
StartLoop w [] :w[] Start a Loop that will Run The code in The Square brackets w times, As a Variable/number, If no w is stated, The Code will Repeat Infinitely.
SHORTLABEL«[]»as«» No Shortened Command. This command Apears Only once in the document at The end It seems To be Very similar To SHORTLABEL«»as«», but It seems to Run code, instead of Being A macro; It is a Function.
{ f x } {fx} The Answer to The function f Applied to x.
{Random y - z {}} :y:z{} The answer To a random Real number y to z, with the Seed entered In the Curly braces.
{RandomInt A - B {}} ;A:B{} The answer To a random Natural number y to z, with the Seed entered In the Curly braces.
FrameWait C .C. Wait for C frames.
Set D FPS -D- Set D FPS.
SecondWait E ;E; Wait for E seconds.
SC<F,G,H...>() *<F,G,H...>() Set The Coordinates from The angle brackets And Apply it To the Element entered in the Parentheses.
Goto I *I* Go to Line I.
Camera11() 3() Go to The Element entered in The parentheses As the Camera.
Camera01<J,K,L...> 1<J,K,L...> Go to The Coordinates entered in The Angle brackets As the Camera.
Camera10() 2() Point to The Element entered in The parentheses As the Camera.
Camera00<M,N,O...> 0<M,N,O...> Point to The coordinates entered in The angle Brackets As the Camera.
Play () II() Play the Element as Audio entered in The parentheses.
Pause () X() Pause the Element as audio Entered into the Parentheses.
PlayHere () with () $()() Play the Second Element Which happens to be a pair of Parentheses, as Audio Coming from The first element that Also happens to Be Entered in parentheses.
PlayPoint () with <P,Q,R...> $()<P,Q,R...> The Audio Element entered in The Parentheses, Will be Played At the Coordinates into The angle brackets.
SetVol S =S= Set the Volume S.
ChangeVol T ^Tv Change the Volume by T.
Dupe () 2.() Duplicates the Element stated Within the Parentheses.
{Far () from ()} {()()} The Answer to The distance between Element 2 from Element 1.
{Dir () to ()} %{()()} The answer to the Direction From Element 1 that needs to be Formed to Element 2.
NewIP«» Y«» Create a New thread/IP, The new IP will Ignore the Next Line.
EndIP«» G«» Delete a Thread/IP, Given the Same Index Entered in the Chevrons.
Null U !U! Set U to 0.
~~V~~ ~V~ The Variable V when set in LABELs or Strings.
UNICODE W 'W' Print the variable W in Unicode.

Cat program *:

`Q<>"~V~"

"Hello, World!" Program*:

`<>"Hello, World!"