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.

Cirxle

From Esolang
Jump to navigation Jump to search

Cirxle is a grid-based esolang created in Scratch! There are 17 symbols but they can be split into just the greens, decoration, directions, splitters, text/symbols, logic gates, delay, and the flip flop heart can be used to make various latches or flip flops. Some examples

The Greens

The greens are signal carriers; they move around the grid and change certain variables depending on the other blocks. They always move one space per tick in a direction (up, down, left, right) defined by a direction variable, display a certain color (Red, Green, Blue) defined by a color variable, and hold a string value depending on a message variable. If they don't hit a block on a tick, they are deleted.

Decoration

I/O, wires, and color displays! I/O blocks are literally just an "I" or an "O", used to tell the user where the inputs and outputs are. Wares/wires are lines that act as basic paths. The color display changes the green's color variable to Red or Blue. All of these decorative blocks act as valid paths so greens are not deleted.

Directions

The arrows: ^, >, <, and v. When a green lands on one, it checks which one:

  • ^ points the signal up.
  • > points the signal right.
  • < points the signal left.
  • v points the signal down.

Splitters

Parallel lines:

  • When a green lands on a = block, it spawns a clone facing left while the original faces right, splitting the signal horizontally.
  • When a green lands on a || block, it spawns a clone facing down while the original faces up, splitting the signal vertically.

Text and Symbols

The text, symbols, and brackets:

  • If a green lands on a [ bracket, it begins scanning for letter, symbol, or number blocks as it moves, appending their values to its message variable.
  • When it lands on a ] bracket, it stops scanning.

Logic Gates

The AND gate (semicolon) and XOR gate (unitizer):

  • AND gates (;) require >1 greens at the same time to let all of them pass through, otherwise any lone green on it is deleted.
  • XOR gates (i) require exactly 1 green to be on it to let it pass, otherwise multiple greens on it are deleted.
  • High Constant: You can make a high constant by putting an arrow into a splitter going into it, and placing a green on both the splitter and the arrow.
  • NOT Gate: You can construct a NOT gate by feeding a high constant and your signal into an XOR gate.

Delay

  • ./! delays the greens by reversing them 1 space backward.
  • .`/!` delays the greens by reversing them 2 spaces backward.

Flip Flop Heart

The .,/!, flip-flop heart toggles states:

  • If multiple greens hit it simultaneously, it changes state between ., and !,.
  • If a single green lands on it while it is in the ., state, it is deleted. Otherwise, it passes through.

Some Examples

go to cirxle on scratch and look at the instructions for how to load these!

Please copy the entire thing including the name, the `, and all.

SWITCHES````````0507160116071601050815011408010115080501160806010309160204091501050914011209020113091501140911011509140116091001170915011809040103100820041099010510060112101602141099011510060118101602041199010511030111110815121108141411990115110301171108151811080619110806021308200313081504130807051308070613081207130805101308101113081112130838131308061413081215130809161308161713083818130806191308122013081521130816

GREEN LZR BLASTR100699011106010110079901110706010808990109080201100815011108140108099901090903011009150111090501120911011309081614090815150908231609084809109901101002011110050112100301