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.

User:Aadenboy/ɻ

From Esolang
Jump to navigation Jump to search

ɻ (pronounced /ɻə/) is a CA.

Tiles on the grid define the locations where a pointer can be. # is a generic place. o is the start for a single pointer. Pointers step forward every step and only turn left or right when blocked from moving forward, based on the direction it had turned previously. If the pointer hasn't yet turned left or right before, or has such information removed via a four-way intersection, it will be removed.

### >>> ### <<<
#   ^     #   ^
o   o     o   o
##### ##>>> ##### <<<## ##### ##X##
  #     ^     #     ^     #     ^
  ##o   ^<o o##   o>^     o     o

##### ##X## ##### ##X## ##### ##X##
  #     ^     #     ^     #     ^
##### ##^## ##### ##^## ##### ##^##
  #     ^     #     ^     #     ^
o##   o>^     ##o   ^<o   o     o

Such layout flips a pointer's existing chirality:

# #
###
 #
 o

And can be used to make an oscillator:

#########
# #   # #
# ##### #
#   #   #
#####   #
    #####
o####

Multiple pointers may collide either head-on (landing on the same tile) or mid-path (swapping positions).

A mid-path collision simply swaps the chiralities of both pointers.

Head-on collisions are calculated per pointer. Each pointer will ignore any paths that are currently occupied by another pointer, or are pointed to by another pointer (as per their chirality). Traveling logic is then followed accordingly. If there are no paths, or its new position is occupied by another pointer, it will turn around instead. The chiralities of all pointers are then flipped.

l>>>X<<<r r<<<X>>>l
    #         #
    #         #
l>>>X<<<l r<<<X####
    #         v
    #         r
    #         r
    #         ^
l>>>X     ####X
    ^         v
    r         l
    #         n
    #         ^
n>>>X     n<<<X
    ^         #
    n         #
    #         #
    #         #
n>>>X<<<n ####X####
    #         #
    #         #

The chirality of a pointer can be preserved (flipped) across a four-way intersection like so:

    r         #
    v         #
n>>>X#### ####X>>>n
    #         v
    #         l