diff --git a/.gitignore b/.gitignore index 6c93088..f456659 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /target -*.json +/*.json diff --git a/example_rulesets/corner_finder.json b/example_rulesets/corner_finder.json new file mode 100644 index 0000000..a7e716b --- /dev/null +++ b/example_rulesets/corner_finder.json @@ -0,0 +1 @@ +{"cell_types":[{"color":[0,0,0,255],"name":"air"},{"color":[255,147,219,255],"name":"seed"},{"color":[136,242,224,255],"name":"probe"},{"color":[4,164,205,255],"name":"tail"},{"color":[195,109,225,255],"name":"corner"},{"color":[204,123,0,255],"name":"wall"}],"groups":[{"cells":[5],"name":"void","void":true},{"cells":[3,0,4,5],"name":"tail or empty","void":true},{"cells":[4,2],"name":"","void":false}],"rules":[{"base":{"contents":[["Any","None"],["Any",{"One":2}],["Any","None"],["Any",{"One":2}],[{"One":1},{"One":3}],["Any",{"One":2}],["Any","None"],["Any",{"One":2}],["Any","None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"create probes","rotate":false},{"base":{"contents":[[{"One":3},"None"],[{"One":2},{"One":3}],[{"One":0},{"One":2}]],"height":1,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"probe_movement","rotate":true},{"base":{"contents":[["Any","None"],[{"Group":1},"None"],["Any","None"],[{"Group":1},"None"],[{"One":3},{"One":0}],[{"Group":1},"None"],["Any","None"],[{"Group":1},"None"],["Any","None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"tail_death","rotate":false},{"base":{"contents":[[{"One":0},{"One":2}],["Any","None"],[{"One":2},{"One":3}],[{"Group":0},"None"],[{"One":0},{"One":2}],["Any","None"]],"height":3,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"edge","rotate":true},{"base":{"contents":[[{"One":2},{"One":0}],[{"Group":2},"None"]],"height":2,"width":1},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"merge","rotate":true},{"base":{"contents":[[{"One":2},{"One":4}],[{"Group":0},"None"],[{"Group":0},"None"],["Any","None"]],"height":2,"width":2},"enabled":true,"failrate":0,"flip_x":true,"flip_y":false,"name":"mark corner","rotate":true},{"base":{"contents":[[{"One":0},"None"],[{"One":0},"None"],[{"One":0},"None"],[{"One":0},"None"],[{"One":0},{"One":1}],[{"One":0},"None"],[{"One":0},"None"],[{"One":0},"None"],[{"One":0},"None"]],"height":3,"width":3},"enabled":false,"failrate":255,"flip_x":false,"flip_y":false,"name":"spawn","rotate":false},{"base":{"contents":[[{"One":3},"None"],[{"One":2},{"One":3}],[{"One":3},"None"]],"height":1,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"clean up","rotate":true}]} \ No newline at end of file diff --git a/example_rulesets/rule_110.json b/example_rulesets/rule_110.json new file mode 100644 index 0000000..6814247 --- /dev/null +++ b/example_rulesets/rule_110.json @@ -0,0 +1 @@ +{"cell_types":[{"color":[0,0,0,255],"name":"air"},{"color":[255,147,219,255],"name":"seed"},{"color":[146,242,225,255],"name":"copy"},{"color":[81,235,104,255],"name":"left"},{"color":[181,219,160,255],"name":"execute"},{"color":[215,172,127,255],"name":"right"},{"color":[36,117,244,255],"name":"alive"}],"groups":[{"cells":[],"name":"edge","void":true},{"cells":[0],"name":"dead","void":true},{"cells":[1,5],"name":"to left","void":false}],"rules":[{"base":{"contents":[[{"One":1},{"One":0}],[{"One":0},{"One":1}]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"init","rotate":false},{"base":{"contents":[[{"One":1},"None"],[{"One":1},{"One":0}]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"merge seeds","rotate":true},{"base":{"contents":[[{"Group":2},{"One":2}],[{"Group":0},"None"]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"begin copy","rotate":false},{"base":{"contents":[[{"One":2},{"One":3}],["Any","None"],["Any",{"Copy":[0,1]}]],"height":3,"width":1},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"copy","rotate":false},{"base":{"contents":[[{"One":0},{"One":2}],[{"One":3},{"One":0}]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"move left","rotate":false},{"base":{"contents":[[{"Group":0},"None"],[{"One":3},{"One":4}]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"begin execute","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":0}],["Any","None"],[{"One":6},"None"],[{"One":6},"None"],[{"One":6},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 111","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":6}],["Any","None"],[{"One":6},"None"],[{"One":6},"None"],[{"Group":1},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 110","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":6}],["Any","None"],[{"One":6},"None"],[{"One":0},"None"],[{"One":6},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 101","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":0}],["Any","None"],[{"One":6},"None"],[{"One":0},"None"],[{"Group":1},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 100","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":6}],["Any","None"],[{"Group":1},"None"],[{"One":6},"None"],[{"One":6},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 011","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":6}],["Any","None"],[{"Group":1},"None"],[{"One":6},"None"],[{"Group":1},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 010","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":6}],["Any","None"],[{"Group":1},"None"],[{"One":0},"None"],[{"One":6},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 001","rotate":false},{"base":{"contents":[["Any","None"],[{"One":4},{"One":5}],["Any","None"],["Any","None"],["Any",{"One":0}],["Any","None"],[{"Group":1},"None"],[{"One":0},"None"],[{"Group":1},"None"]],"height":3,"width":3},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"execute 111","rotate":false},{"base":{"contents":[[{"One":5},{"One":0}],[{"One":0},{"One":4}]],"height":1,"width":2},"enabled":true,"failrate":0,"flip_x":false,"flip_y":false,"name":"move right","rotate":false}]} \ No newline at end of file