Spellcaster

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Spellcaster is an turning tarpit based on casting spells made by Maikeru51. It reads a field of magic nodes, which is given through .png format. The nodes are as following:

  • Fire (Red) nodes turn the IP right 90°
  • Light (White) nodes turn the current wheel left/right if going left/right, and cycles through the wheels if going up/down.
  • Electric (Yellow) nodes execute the command associated with the current wheel's rotation. If the wheel is facing up, the data cell is increased. If the wheel is facing down, the data cell is decreased. If the wheel is facing left, the cell pointer moves left. If the wheel is facing right, the cell pointer moves right.
  • Life (Green) nodes cause the pointer not to execute any commands beside Water if the current wheel's rotation is upwards (Zero).
  • Water (Blue) nodes cause the pointer to go back until reaching a Life node if the current wheel's rotation isn't upwards (Non-Zero). Else, stop skipping commands (If skipping any)
  • Dark (Purple) nodes turn the wheel to face the direction the IP is traveling.

Colors?

Spellcaster interprets the color by using revolutionary tactics called comparing RGB values to 128.

  • Red = R ≥ 128, B < 128, G < 128.
  • White = R < 128, B < 128, G < 128.
  • Yellow = R ≥ 128, B < 128, G ≥ 128.
  • Green = R < 128, B < 128, G ≥ 128.
  • Blue = R < 128, B ≥ 128, G < 128.
  • Purple = R ≥ 128, B ≥ 128, G < 128.

Turing Complete

Life and Water nodes act exactly like brainfuck's [ and ] respectively. Additionally, Electric nodes can act like brainfuck's + - < or > depending on the direction of the current wheel. Because of this, any brainfuck program without IO functionality can be translated to a Spellcaster program. Since brainfuck is Turing Comeplete without IO functionality, Spellcaster is Turing Comeplete.