Skip to content

Instantly share code, notes, and snippets.

@lomnom
Last active April 6, 2024 16:09
Show Gist options
  • Save lomnom/5db8fdd517dc7e57c4aada340ef87ada to your computer and use it in GitHub Desktop.
Save lomnom/5db8fdd517dc7e57c4aada340ef87ada to your computer and use it in GitHub Desktop.
> v
1 #
2 vtv#<
3 # # t
4 v<v< >#vtv
5 t t # #
6 v<v<
7 t t
8
SXY vvvv vvvv
123
v <
0>v v <
2 0 >v v <
-:1 0:0 0>v v <
::1 2:1 2 0 0>v v <
1-p --2 -:1 2 0 0>v v <
+17 v < :1p ::3 --1 2 0 0>v v <
:0a $ 107 v < 1-p :14 -:1 2 0 >v v <
4-* p +-a $ +17 v < 1:p ::5 --1 0:0 0>v
f12 1 :1* p :0a $ +-7 v < 1:p :36 2:1 2 0
2:1 2 ::2 2 :-* p a4a $ +:7 v < 1:p -:7 -:1
*-p + :+2 2 :32 3 f:* p ::a $ +-7 v < ::p ::8
+c0 2 bfp + ::3 2 2-2 4 ::* p 92a $ 1:7 v < 1:p
::3 g a90 2 5+p + *14 2 6:2 5 f:* p +-a $ +:7 v <
2-1 1 8-3 g f*0 2 +:p + f-5 2 2-2 6 :1* p :-a $
-4p 2 712 2 +23 g :+0 2 29p + *26 2 :02 7 :1* p
::> v p 50p 2 :f3 3 1*3 g *:0 2 +:p + :f7 2 :02 8
1+ : 1 4-> v p 15p 2 -24 4 +83 g :+0 2 :-p + :-8 2
-* 1 3 :3 : 2 --> v p 0fp 2 :95 5 1*3 g 310 2 :4p +
:2 + 0 5: 1 3 :1 : 3 15> v p 1ap 2 -26 6 f:3 g ::0 2
1f v_>^ -- + 0 20 1 3 -- : 4 -b> v p 0fp 2 +-7 7 :+3 g
-9 >v dd v_>^ -- + 0 91 1 3 :- : 5 17> v p :1p 2 :*8 8
0- : f: >v :6 v_>^ f0 + 0 1a 1 3 -- : 6 1:> v p 62p 2
11 2v< 2- : 1: >v 2- v_>^ -: + 0 b1 1 3 -+ : 7 ff> v p
-0 +#p *1 2v< -+ : *2 >v :9 v_>^ f0 + 0 0f 1 3 24 : 8
5- v_@1 +: +#p 0* 2v< +: : 1a >v 2- v_>^ 13 + 0 *- 1 3
f1 >v 1 :+ v_@2 12 +#p :- 2v< -b : *1 >v -- v_>^ +1 + 0
2: : ! 1* >v 1 -f v_@3 11 +#p :c 2v< +: : 5f >v :0 v_>^
*- 3 g -2 : ! 65 >v 1 -: v_@4 1- +#p :- 2v< f: : 6- >v
+b 1 1 5f 3 g f- : ! 0- >v 1 -6 v_@5 12 +#p +e 2v< -2 :
:: g 1 47 2 2 +1 3 g 12 : ! :: >v 1 -: v_@6 :+ +#p :: 2v<
1- -#$ :- g 1 :0 3 3 -: 3 g 25 : ! :- >v 1 3f v_@7 1- +#p
-1 v_>^ 51 -#$ 1- g 1 b- 4 4 -b 3 g 22 : ! -2 >v 1 -1 v_@8
:: >v< -0 v_>^ -4 -#$ f2 g 1 :- 5 5 -: 3 g 0- : ! :: >v 1
1- 1 1- >v< :: v_>^ 2: -#$ 13 g 1 :+ 6 6 11 3 g 1- : !
-1 1 f5 1 3- >v< *- v_>^ -: -#$ 1* g 1 -0 7 7 -5 3 g
:: g +: 2 -4 1 +3 >v< :2 v_>^ -2 -#$ 6f g 1 0: 8 8
1- ! f- g :: 3 :: 1 15 >v< 0f v_>^ f+ -#$ 1+ g 1
-5 v_>v 4c ! 1- g 2+ 4 -7 1 14 >v< +f v_>^ -* -#$
:: >v<6 3: v_>v -1 ! -* g 08 5 -- 1 :2 >v< 52 v_>^
2+ 3 f :- >v<4 0: v_>v :2 ! 1b g 71 6 3- 1 ff >v<
-* 1 e 47 3 f 1+ >v<4 1f v_>v -c ! f0 g -1 7 24 1
:2 g * -: 2 f -* 3 f -7 >v<6 bd v_>v 2- ! 00 g *- 8
1f 1 + 5+ g * 32 3 9 :- 3 f fe >v<f *2 v_>v 1- ! +1 g
-c + : f* 1 + ff g * 11 4 5 2- 3 f +: >v<4 -1 v_>v :0 !
:- 3 2 22 + : +5 1 + -0 g * *2 5 f :- 3 f 9: >v<b 5- v_>v
11 1 1 *f 3 2 :- + f 0- 1 + +: g * 12 6 8 f- 3 f -2 >v<d
-0 p g +c 2 2 11 3 f 12 + f :1 1 2 -: g * +5 7 9 :: 3 f
:-^ < 3 :- p g -0 3 * -: 3 f 34 + * 0- 1 + :: g * 1- 8 +
13 1 11^ < 3 0- p + 7- 4 * -8 3 + 14 + f 1- 1 + -1 g f
-: g -0 2 11^ < : f2 p + :9 5 -: 3 f -2 + f :: 1 f
9* p :- g -: 2 2:^ < : 3c p : :+ 6 * :: 3 f 1- + *
83 2 71 p 8- 3 *- 2 -d^ < 2 :* p + 1+ 7 * -6 3 2
:f 1 -: 2 f8 g +1 4 :- 5 72^ < : -f p + 0: 8 *
9- g :- 2 +: 3 :: g 13 g ff 2 :9^ < : 1+ p +
-1 1 1f g :- 3 1- 3 -: 3 28 6 4- 2 -*^ < :
c0 + -: 1 11 g -3 4 :2 5 *- g -1 7 52 2
f- 3 :- + -: p :: g 13 g +1 3 00 g ff 8
22 1 9a 3 :- 2 6- p -4 p :0 6 1- 3 25 g
*: g -: 2 42 3 -1 2 :5 2 1- g -2 7 *- 3
+- p e+ g -: g :: 4 1- 5 -1 p a: g +1 8
:1 ^< 3* p :- 1 1+ g -3 g 0: 2 f- p :0 g
1: 23 ^< 11 + -* 1 :: 1 1- 6 +1 2 6- p
-- :f -: 3 02 + 42 + -2 g :: 7 -1 2
:2 31 0- 3 1f 3 -3 3 8: 1 1- g 0: 8
5: -- 15 g -4 4 :5 5 f- + -2 1 1- g
-- f9 -: p 9- g 17 g 21 3 :: + -1 1
:c 3: 7- ^< f1 p -- p *: 6 1+ 3 5: +
1: *8 f1 20 ^< :2 ^< ++ g -f 7 f- 3
-- :9 2: *- 1: :* p :a g 27 8
:1 1- *+ +1 -1 12 ^< 5- p *: g
1: -1 +* :: :3 -f -1 ^< ++ p
-- :: :2 1- 1- :1 00 :* ^<
:a 4- 1f -3 -3 c- 1- 72
1: -f -5 :: d: -1 -5 -f
-- :: :- 1- c2 :0 a: 05
:3 1- 61 -1 :4 1- f- 1-
2: -c -0 :: d7 -1 +1 -1
-+ :: :- 1- -8 0: :: 50
:* 4+ 11 -2 c- 1+ 1- f-
13 -* -: :: f6 -f -2 24
-f :3 :- a- 2: cc :: *:
:4 8f 5a -1 *5 f- 1+ +-
1- -3 -: :: +7 21 -f :2
-7 :- :- 1+ :8 *0 :a 4:
:: 18 11 -* 19 +- 2- --
16 -: -: 32 -b :1 -1 01
-7 :7 :- 2f :f 1: :0 1:
:9 18 56 12 1- -+ 1- -+
1a -b -: 0- -1 0f -6 1*
-- :c :- :1 :: 1b :: f2
:1 8- 11 10 1+ -- 2- 2f
1: -2 -: -- -* c1 -1 *4
-- f: 0+ d1 :3 b0 0: +-
c2 0- 1* f: 9f :- 1- :1
b: 13 -2 2+ -: c1 -1 30
9- -: 6f *f :- -: a: --
82 :- f6 +e 29 d+ f+ 01
7: f3 2- :: -: cf +f 1:
6+ 3: *f 1: :8 :a :a --
:f *- +: -- 19 d- 1- 53
7b +b :e :1 -a -1 -1 f:
-- :: 1f 20 :e e0 :0 2-
bb 1- -- -- 1- d- 1- *2
f: -+ :1 :1 -1 :1 -5 +:
2+ 2f 5: 1: c: e: :: :-
** f8 -- -+ b- -+ 1- 11
+4 +: :9 :f :d df -1 -:
:f e* 1: 15 c: c9 :: >^
1: d4 -- -- -- :- 1-
-- cf :1 :3 b3 d2 -2
:6 b- 5: 1: f: -: ::
c: 84 -- -2 2+ :1 3+
-5 1: :7 :3 ** 22 -f
:7 03 1: 8- +2 f- 0b
19 :4 -- -1 :f +1 1-
-a 1d :1 :: 1c e: >^
:- -f 2: 1+ -- :+
21 a- -+ -f :7 ff
-: f1 :* 27 c: -8
:- 2: 12 1- -6 3-
2f *- -f :1 :8 f3
-: +1 :6 20 19 +:
b- :: 2- -+ -a :2
51 4- -1 :* :b 13
4: -1 :0 f4 2c --
3- :: 1f 3f -- ee
:+ 9- -- *4 :1 d:
4f -4 05 +- 2: >^
-8 :: 1: :1 --
c: 1- -- 1: :1
f- -2 61 -0 >^
22 :: f: :-
*: 9- 2- 41
++ -c *9 -0
:* f: +: :+
14 e- :- 1*
-f dc 12 -4
:2 c: -: 2f
e- 6- :- 04
-5 :1 61 :-
:: 7: -: 11
24 -- :- -:
-9 db 11 b0
:a f: -: a:
2b 2+ :+ ::
-- ** 4* b-
:1 +4 -2 -1
1: :f :f :0
-- 72 15 b-
e1 -- -- f1
c: :f :1 +:
b- 8: 10 >^
a1 -e --
9: :- :1
8- 23 1:
65 -: --
4: :- :5
:- 91 3:
51 -: --
-: :- :1
d- 15 1:
fa -: --
2: f- 05
*- e2 1:
+1 d: --
:: 7- 63
1- :d f:
-c 8: 2-
:: -- *2
8- 41 +:
-1 f: :-
:: 3- 11
7- *5 -:
-b +: :+
:: :- b*
3- 13 -2
-2 -: :f
:: :- 14
3+ 11 --
-* -: :1
a4 :- 50
9f ae --
84 -: :1
3- :+ 1:
:2 9* --
4: -4 08
-1 :f 1:
d5 24 --
fb -- 64
2d :9 f:
*- 9: 2+
+1 -8 **
:: f9 +2
1+ e- :f
-f d2 15
:4 c: --
6- 8- :1
-2 :c 40
:: 9: --
1- -- :1
-1 57 3:
:: f: --
8- 3- :6
-5 *+ 4:
:: +f --
1- :1 :1
-3 c: >^
:: --
1- :2
-1 a:
:: -+
1+ :*
-* 24
a3 -f
9f :4
85 a-
7- -8
51 e:
1: b7
:0 98
22 >^
-5
d7
f9
+a
:c
3d
--
71
4:
2-
19
::
2-
-2
c:
f-
27
*:
+-
:+
2f
-1
::
c+
-*
:4
1f
-2
6-
31
1:
00
:1
14
-7
:b
fc
3-
*1
+:
:-
1a
-:
1-
f2
+:
f-
5c
3:
2-
1a
::
2*
-4
af
f-
32
*:
+1
:2
63
-4
:5
18
--
:1
1:
--
:a
>^
art source: minecraft.novaskin.me/skin/5334635859
@lomnom
Copy link
Author

lomnom commented Apr 6, 2024

There are 8 colours. Every colour is a machine that does this:

def render(tape,color,rendered):
	x=0
	y=0
	state=False
	while True:
		tape.append(tape[-1])
		if tape.pop()==-1:
			y=0
			x=x+1
			tape.pop()
			continue
		tape.append(tape[-1])
		if tape.pop()==-2:
			tape.pop()
			break
		tape.append(tape[-1])
		if y==tape.pop():
			tape.pop()
			state=not state
		if state:
			rendered[y][x]=color
		y+=1

The tape is the long hanging thing. Numbers are encoded as the difference between it and the previous number or the number itself, depending on which is shorter. It uses multithreading to render everything at once.

The astolfo is rendered as values in the plane itself. The image can be visualised and seen if you added a section to print it to stdout after its done, or you ran this in the Fungelet IDE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment