Last active
August 18, 2021 10:04
99 bottles of beer program written in NDBall. 445 Instructions, 4 Dimensions.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/ Writing phase | |
/ - 9 Strings are created and saved into string memories | |
/ | |
(0) >0 | |
(1) + | |
(2) Y[31,<0,>0] | |
(3) + | |
(4) >1 | |
(4,1) <0 | |
(3,1) n | |
/ " bottle" | |
(2,1) St[1] | |
(1,1) p | |
(0,1) >1 | |
(0,2) >0 | |
(1,2) + | |
(2,2) Y[97,<0,>0] | |
(3,2) + | |
(4,2) >1 | |
(4,3) <0 | |
(3,3) p | |
(2,3) <0 | |
(1,3) + | |
(0,3) Y[111,>0,>1] | |
(0,4) >0 | |
(1,4) p | |
(2,4) >0 | |
(3,4) + | |
(4,4) Y[116,<0,>2] | |
(4,4,1) <0 | |
(3,4,1) p | |
(2,4,1) p | |
(1,4,1) - | |
(0,4,1) <1 | |
(0,3,1) >0 | |
(1,3,1) - | |
(2,3,1) Y[109,>0,<0] | |
(3,3,1) p | |
(4,3,1) <1 | |
(4,2,1) <0 | |
(3,2,1) - | |
(2,2,1) Y[102,<0,>0] | |
(1,2,1) p | |
(0,2,1) <1 | |
(0,1,1) >0 | |
(1,1,1) + | |
(2,1,1) Y[114,<0,>0] | |
/ "s" | |
(3,1,1) St[2] | |
(4,1,1) <1 | |
(4,0,1) <0 | |
(3,0,1) + | |
(2,0,1) p | |
(1,0,1) H | |
(0,0,1) >2 | |
(0,0,2) >0 | |
/ " of beer" | |
(1,0,2) St[3] | |
(2,0,2) p | |
/ (3,0,2) Is empty | |
(4,0,2) >1 | |
(4,1,2) <0 | |
(3,1,2) + | |
(2,1,2) Y[111,>0,<0] | |
(1,1,2) p | |
(0,1,2) >1 | |
(0,2,2) >0 | |
(1,2,2) - | |
(2,2,2) Y[103,>0,<0] | |
(3,2,2) p | |
(4,2,2) >1 | |
(4,3,2) <0 | |
(3,3,2) H | |
(2,3,2) p | |
(1,3,2) + | |
(0,3,2) >1 | |
(0,4,2) >0 | |
(1,4,2) + | |
(2,4,2) Y[98,<0,>0] | |
(3,4,2) p | |
(4,4,2) >2 | |
(4,4,3) <0 | |
(3,4,3) + | |
(2,4,3) Y[101,>0,<0] | |
(1,4,3) p | |
(0,4,3) <1 | |
(0,3,3) >0 | |
(1,3,3) p | |
(2,3,3) >0 | |
(3,3,3) + | |
(4,3,3) Y[114,<0,<1] | |
(4,2,3) <0 | |
(3,2,3) p | |
/ " on the wall" | |
(2,2,3) St[4] | |
(1,2,3) H | |
(0,2,3) <1 | |
(0,1,3) >0 | |
(1,1,3) p | |
(2,1,3) >0 | |
(3,1,3) + | |
(4,1,3) Y[111,<0,<1] | |
(4,0,3) <0 | |
(3,0,3) p | |
(2,0,3) - | |
(1,0,3) p | |
(0,0,3) >2 | |
(0,0,4) >0 | |
(1,0,4) H | |
(2,0,4) p | |
(3,0,4) + | |
(4,0,4) >1 | |
(4,1,4) <0 | |
(3,1,4) + | |
(2,1,4) Y[116,>0,<0] | |
(1,1,4) p | |
(0,1,4) >1 | |
(0,2,4) >0 | |
(1,2,4) - | |
(2,2,4) Y[106,>0,<0] | |
(3,2,4) - | |
(4,2,4) >1 | |
(4,3,4) <0 | |
(3,3,4) p | |
(2,3,4) <0 | |
(1,3,4) - | |
(0,3,4) Y[102,>1,>0] | |
(0,4,4) >0 | |
(1,4,4) p | |
(2,4,4) H | |
(3,4,4) p | |
(4,4,4) >3 | |
(4,4,4,1) <0 | |
(3,4,4,1) + | |
(2,4,4,1) Y[119,>0,<0] | |
(1,4,4,1) p | |
(0,4,4,1) <1 | |
(0,3,4,1) >0 | |
(1,3,4,1) - | |
(2,3,4,1) Y[99,>0,<0] | |
(3,3,4,1) - | |
(4,3,4,1) <1 | |
(4,2,4,1) <0 | |
(3,2,4,1) p | |
(2,2,4,1) <0 | |
(1,2,4,1) + | |
(0,2,4,1) Y[108,>0,<1] | |
(0,1,4,1) >0 | |
(1,1,4,1) p | |
(2,1,4,1) p | |
/ ", " | |
(3,1,4,1) St[5] | |
(4,1,4,1) <1 | |
(4,0,4,1) <0 | |
(3,0,4,1) - | |
(2,0,4,1) <0 | |
(1,0,4,1) - | |
(0,0,4,1) Y[46,<2,>0] | |
(0,0,3,1) >0 | |
(1,0,3,1) p | |
(2,0,3,1) H | |
(3,0,3,1) p | |
(4,0,3,1) >1 | |
(4,1,3,1) <0 | |
(3,1,3,1) + | |
(2,1,3,1) Y[45,>0,<0] | |
(1,1,3,1) + | |
(0,1,3,1) >1 | |
(0,2,3,1) >0 | |
/ ".\n" | |
(1,2,3,1) St[6] | |
(2,2,3,1) p | |
(3,2,3,1) - | |
(4,2,3,1) >1 | |
(4,3,3,1) <0 | |
(3,3,3,1) - | |
(2,3,3,1) Y[11,<0,>0] | |
(1,3,3,1) p | |
(0,3,3,1) >1 | |
(0,4,3,1) >0 | |
/ "\n" | |
(1,4,3,1) St[7] | |
(2,4,3,1) p | |
(3,4,3,1) + | |
(4,4,3,1) <2 | |
(4,4,2,1) <0 | |
(3,4,2,1) + | |
(2,4,2,1) Y[84,>0,<0] | |
/ "Take one down and pass it around, " | |
(1,4,2,1) St[8] | |
(0,4,2,1) <1 | |
(0,3,2,1) >0 | |
(1,3,2,1) p | |
(2,3,2,1) >0 | |
(3,3,2,1) + | |
(4,3,2,1) Y[97,<0,<1] | |
(4,2,2,1) <0 | |
(3,2,2,1) p | |
(2,2,2,1) <0 | |
(1,2,2,1) + | |
(0,2,2,1) Y[105,>0,<1] | |
(0,1,2,1) >0 | |
(1,1,2,1) + | |
(2,1,2,1) p | |
(3,1,2,1) - | |
(4,1,2,1) <1 | |
(4,0,2,1) <0 | |
(3,0,2,1) - | |
(2,0,2,1) Y[102,<0,>0] | |
(1,0,2,1) p | |
(0,0,2,1) <2 | |
(0,0,1,1) >0 | |
(1,0,1,1) H | |
(2,0,1,1) p | |
/ (3,0,1,1) Is empty | |
(4,0,1,1) >1 | |
(4,1,1,1) <0 | |
(3,1,1,1) + | |
(2,1,1,1) Y[111,>0,<0] | |
(1,1,1,1) p | |
(0,1,1,1) >1 | |
(0,2,1,1) >0 | |
(1,2,1,1) - | |
(2,2,1,1) p | |
/ (3,2,1,1) Is empty | |
(4,2,1,1) >1 | |
(4,3,1,1) <0 | |
(3,3,1,1) - | |
(2,3,1,1) Y[102,<0,>0] | |
(1,3,1,1) p | |
(0,3,1,1) >1 | |
(0,4,1,1) >0 | |
(1,4,1,1) H | |
(2,4,1,1) p | |
(3,4,1,1) + | |
(4,4,1,1) <2 | |
(4,4,0,1) <0 | |
(3,4,0,1) + | |
(2,4,0,1) Y[100,>0,<0] | |
(1,4,0,1) p | |
(0,4,0,1) <1 | |
(0,3,0,1) >0 | |
(1,3,0,1) + | |
(2,3,0,1) Y[111,<0,>0] | |
(3,3,0,1) p | |
(4,3,0,1) <1 | |
(4,2,0,1) <0 | |
(3,2,0,1) + | |
(2,2,0,1) Y[118,>0,<0] | |
(1,2,0,1) + | |
(0,2,0,1) <1 | |
(0,1,0,1) >0 | |
(1,1,0,1) p | |
(2,1,0,1) >0 | |
(3,1,0,1) - | |
(4,1,0,1) Y[111,<1,<0] | |
(4,0,0,1) <0 | |
(3,0,0,1) p | |
(2,0,0,1) H | |
(1,0,0,1) p | |
(0,0,0,1) >3 | |
(0,0,0,2) >0 | |
(1,0,0,2) + | |
(2,0,0,2) Y[97,<0,>0] | |
(3,0,0,2) p | |
(4,0,0,2) >1 | |
(4,1,0,2) <0 | |
(3,1,0,2) + | |
(2,1,0,2) Y[110,>0,<0] | |
(1,1,0,2) p | |
(0,1,0,2) >1 | |
(0,2,0,2) >0 | |
(1,2,0,2) - | |
(2,2,0,2) Y[102,>0,<0] | |
(3,2,0,2) - | |
(4,2,0,2) >1 | |
(4,3,0,2) <0 | |
(3,3,0,2) p | |
(2,3,0,2) H | |
(1,3,0,2) p | |
(0,3,0,2) >1 | |
(0,4,0,2) >0 | |
(1,4,0,2) + | |
(2,4,0,2) Y[111,<0,>0] | |
(3,4,0,2) + | |
(4,4,0,2) >2 | |
(4,4,1,2) <0 | |
(3,4,1,2) p | |
(2,4,1,2) <0 | |
(1,4,1,2) - | |
(0,4,1,2) Y[98,<1,>0] | |
(0,3,1,2) >0 | |
(1,3,1,2) p | |
(2,3,1,2) >0 | |
(3,3,1,2) + | |
(4,3,1,2) Y[114,<0,<1] | |
(4,2,1,2) <0 | |
(3,2,1,2) + | |
(2,2,1,2) p | |
(1,2,1,2) p | |
(0,2,1,2) <1 | |
(0,1,1,2) >0 | |
(1,1,1,2) H | |
(2,1,1,2) p | |
/ (3,1,1,2) Is empty | |
(4,1,1,2) <1 | |
(4,0,1,2) <0 | |
(3,0,1,2) + | |
(2,0,1,2) Y[105,>0,<0] | |
(1,0,1,2) p | |
(0,0,1,2) >2 | |
(0,0,2,2) >0 | |
(1,0,2,2) + | |
(2,0,2,2) Y[116,<0,>0] | |
(3,0,2,2) p | |
(4,0,2,2) >1 | |
(4,1,2,2) <0 | |
(3,1,2,2) H | |
(2,1,2,2) p | |
/ (1,1,2,2) Is empty | |
(0,1,2,2) >1 | |
(0,2,2,2) >0 | |
(1,2,2,2) + | |
(2,2,2,2) Y[97,<0,>0] | |
(3,2,2,2) p | |
(4,2,2,2) >1 | |
(4,3,2,2) <0 | |
(3,3,2,2) + | |
(2,3,2,2) Y[114,>0,<0] | |
(1,3,2,2) p | |
(0,3,2,2) >1 | |
(0,4,2,2) >0 | |
(1,4,2,2) - | |
(2,4,2,2) Y[112,>0,<0] | |
(3,4,2,2) p | |
(4,4,2,2) >2 | |
(4,4,3,2) <0 | |
(3,4,3,2) + | |
(2,4,3,2) Y[116,>0,<0] | |
(1,4,3,2) + | |
(0,4,3,2) <1 | |
(0,3,3,2) >0 | |
(1,3,3,2) p | |
(2,3,3,2) >0 | |
(3,3,3,2) - | |
(4,3,3,2) Y[111,<1,<0] | |
(4,2,3,2) <0 | |
(3,2,3,2) p | |
(2,2,3,2) <0 | |
(1,2,3,2) - | |
(0,2,3,2) Y[101,<1,>0] | |
(0,1,3,2) >0 | |
(1,1,3,2) + | |
(2,1,3,2) p | |
(3,1,3,2) - | |
(4,1,3,2) <1 | |
(4,0,3,2) <0 | |
(3,0,3,2) - | |
(2,0,3,2) Y[45,<0,>0] | |
(1,0,3,2) p | |
(0,0,3,2) >2 | |
(0,0,4,2) >0 | |
(1,0,4,2) H | |
(2,0,4,2) p | |
/ "no more" | |
(3,0,4,2) St[9] | |
(4,0,4,2) >1 | |
(4,1,4,2) <0 | |
(3,1,4,2) + | |
(2,1,4,2) Y[109,>0,<0] | |
(1,1,4,2) + | |
(0,1,4,2) >1 | |
(0,2,4,2) >0 | |
(1,2,4,2) p | |
(2,2,4,2) + | |
(3,2,4,2) p | |
(4,2,4,2) >1 | |
(4,3,4,2) <0 | |
(3,3,4,2) H | |
(2,3,4,2) p | |
/ (1,3,4,2) Is empty | |
(0,3,4,2) >1 | |
(0,4,4,2) >0 | |
(1,4,4,2) + | |
(2,4,4,2) Y[109,<0,>0] | |
(3,4,4,2) p | |
(4,4,4,2) >3 | |
(4,4,4,3) <0 | |
(3,4,4,3) + | |
(2,4,4,3) + | |
(1,4,4,3) p | |
(0,4,4,3) <1 | |
(0,3,4,3) >0 | |
(1,3,4,3) + | |
(2,3,4,3) Y[114,<0,>0] | |
(3,3,4,3) p | |
(4,3,4,3) <1 | |
(4,2,4,3) <0 | |
(3,2,4,3) - | |
(2,2,4,3) Y[102,<0,>0] | |
(1,2,4,3) p | |
(0,2,4,3) <1 | |
(0,1,4,3) >0 | |
(1,1,4,3) ESt | |
(2,1,4,3) >0 | |
(3,1,4,3) - | |
(4,1,4,3) Y[99,<1,<0] | |
(4,0,4,3) <0 | |
(3,0,4,3) + | |
/ (2,0,4,3) Is empty | |
/ (1,0,4,3) Is empty | |
(0,0,4,3) <2 | |
/ | |
/ Printing phase | |
/ - Strings are printed in order: | |
/ - n 1 (2) 3 4 5 n 1 (2) 3 6 8 [n-1/9] 1 (2) 2 4 6 7 | |
/ | |
(0,0,3,3) >0 | |
(1,0,3,3) P | |
(2,0,3,3) PSt[1] | |
(3,0,3,3) Y[2,>1,>0] | |
(4,0,3,3) >1 | |
(4,1,3,3) PSt[2] | |
/ (3,1,3,3) Is empty | |
(3,2,3,3) >0 | |
(4,2,3,3) >1 | |
(4,3,3,3) PSt[3] | |
(4,4,3,3) <0 | |
(3,4,3,3) PSt[4] | |
(2,4,3,3) PSt[5] | |
(1,4,3,3) P | |
(0,4,3,3) <1 | |
(0,3,3,3) PSt[1] | |
(0,2,3,3) Y[2,>0,<1] | |
(0,1,3,3) >0 | |
(1,1,3,3) PSt[2] | |
/ (1,2,3,3) Is empty | |
(2,2,3,3) <1 | |
(2,1,3,3) <2 | |
(2,1,2,3) >0 | |
(3,1,2,3) PSt[3] | |
(4,1,2,3) >1 | |
(4,2,2,3) PSt[6] | |
(4,3,2,3) PSt[8] | |
(4,4,2,3) <0 | |
(3,4,2,3) - | |
(2,4,2,3) Y[1,<1,<0] | |
(1,4,2,3) P | |
(0,4,2,3) <1 | |
(2,3,2,3) <0 | |
(1,3,2,3) PSt[9] | |
(0,3,2,3) <1 | |
(0,2,2,3) PSt[1] | |
(0,1,2,3) <2 | |
(0,1,1,3) Y[2,>0,>1] | |
(0,2,1,3) >0 | |
(1,1,1,3) Y[1,>1,>0] | |
(1,2,1,3) >0 | |
/ (2,1,1,3) Is empty | |
(2,2,1,3) PSt[2] | |
(3,1,1,3) PSt[3] | |
(3,2,1,3) PSt[3] | |
(4,1,1,3) <1 | |
(4,2,1,3) <1 | |
(4,0,1,3) <0 | |
(3,0,1,3) PSt[4] | |
(2,0,1,3) PSt[6] | |
(1,0,1,3) Y[1,>2,<0] | |
(0,0,1,3) >2 | |
(0,0,2,3) PSt[7] | |
(1,0,2,3) E |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
just awesome