diff --git a/Agents/SheepsandWolf b/Agents/SheepsandWolf new file mode 100644 index 0000000..c87e039 --- /dev/null +++ b/Agents/SheepsandWolf @@ -0,0 +1 @@ +24,22,1;48,23,1;72,23,1;23,52,2;52,48,2;74,46,2; diff --git a/Agents/spreaded_out_flock b/Agents/spreaded_out_flock new file mode 100644 index 0000000..8b9fa47 --- /dev/null +++ b/Agents/spreaded_out_flock @@ -0,0 +1 @@ +37,33;77,30;79,48;70,69;15,55;26,16;41,15;65,29;67,48;56,58;42,60;46,39;74,20; diff --git a/Rule/testblob b/Rule/testblob new file mode 100644 index 0000000..5a21389 --- /dev/null +++ b/Rule/testblob @@ -0,0 +1,2 @@ +2;3;1;3;5;8 +3;3;5;7 diff --git a/World/glider_test b/World/glider_test new file mode 100644 index 0000000..79d95b4 --- /dev/null +++ b/World/glider_test @@ -0,0 +1,100 @@ +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 diff --git a/World/random b/World/random new file mode 100644 index 0000000..246cd90 --- /dev/null +++ b/World/random @@ -0,0 +1,100 @@ +1;1;0;1;1;0;0;0;1;1;0;1;1;1;0;1;1;0;1;0;0;0;0;0;1;0;0;1;0;0;1;0;0;0;1;0;1;0;0;1;1;1;0;1;1;0;0;1;0;1;0;0;1;0;0;1;0;1;1;0;0;1;0;1;1;0;1;1;0;0;0;0;0;0;0;1;0;0;0;0;1;0;1;1;1;1;1;0;0;1;1;1;0;0;0;0;0;1;1;1 +1;1;0;0;0;0;1;1;0;0;0;1;1;0;0;0;0;1;1;1;0;0;1;0;0;1;1;1;1;0;1;1;0;1;0;0;1;1;0;0;0;1;1;0;1;0;1;1;1;1;0;0;0;0;0;0;0;0;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;1;0;1;1;0;0;0;1;1;1;1;0;0;1;0;1;0;1;1;1;0;0;0;0;1;0;0 +1;0;0;1;0;0;0;1;1;0;0;1;1;1;1;0;1;1;0;0;1;1;0;1;0;1;1;1;0;1;0;0;0;0;1;1;0;0;1;0;0;0;1;0;0;0;1;0;1;0;1;1;0;1;0;0;1;0;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;1;0;0;0;1;0;1;1;0;0;1;0;0;0;0;1;1;1;0;1;0;0;0;1;1;1;0 +1;0;0;0;1;0;1;1;1;0;0;1;1;0;0;0;0;1;0;0;1;0;1;0;0;1;1;1;0;1;0;1;0;0;0;1;1;1;1;1;1;1;1;0;1;0;1;1;0;0;0;1;0;0;1;1;0;1;0;0;1;0;1;0;0;1;0;0;0;0;0;0;1;1;1;1;0;0;0;1;1;0;0;1;1;1;1;0;0;1;0;0;1;1;0;0;1;1;0;0 +0;0;0;1;0;0;1;1;1;0;0;0;0;0;1;0;1;1;1;0;0;0;0;1;1;1;0;0;0;1;0;0;1;1;0;1;0;1;0;0;0;0;0;1;1;1;0;1;0;1;1;0;0;1;0;1;1;0;0;0;1;1;1;0;1;1;0;0;1;1;0;1;0;0;1;0;0;1;0;0;0;0;1;1;1;1;0;1;0;0;1;0;0;0;0;1;1;1;0;0 +0;1;0;0;1;0;0;0;0;1;0;1;1;0;0;0;1;0;0;1;1;0;1;0;0;0;1;0;1;1;0;0;1;1;0;0;1;1;0;1;0;1;1;1;1;1;0;1;0;1;1;1;0;1;1;0;0;0;1;0;1;0;1;0;1;0;0;0;1;0;1;1;1;0;0;0;0;0;1;0;1;0;1;1;1;0;1;0;0;1;0;1;1;1;0;1;0;0;1;0 +1;1;0;1;1;1;0;1;0;0;1;1;1;0;0;0;1;1;0;1;0;1;1;0;0;1;1;1;1;0;1;1;1;1;0;1;1;1;0;0;1;0;1;0;1;0;0;1;1;1;1;0;1;1;0;0;1;1;1;1;1;0;1;0;1;0;1;1;1;0;0;1;1;0;1;0;0;0;1;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1;0;0;1;1;0 +0;0;1;0;0;1;1;1;0;1;1;1;0;0;0;0;0;1;1;0;1;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;1;1;1;0;0;1;0;0;0;0;1;1;0;1;0;0;0;1;1;1;0;1;0;1;0;1;0;1;0;1;0;1;0;1;0;0;1;0;0;1;0;0;1;0;1;0;1;0;0;0;1;1;0;0;0;0;1;0;0;1;0;1;0 +1;0;1;1;0;1;0;0;1;1;0;1;1;0;1;1;0;0;0;1;1;0;1;1;1;0;0;0;1;1;1;0;0;1;1;1;0;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;0;1;1;1;0;0;0;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;0;0;0;0;1;0;1;0;0;1;0;0;1;1;1;0;0;0;1;0;0;0 +0;0;1;0;1;1;0;0;1;0;1;1;0;1;1;1;1;0;1;1;0;0;0;1;0;1;1;0;1;0;0;0;1;1;0;1;0;0;1;0;0;0;0;0;1;1;0;0;1;0;1;0;1;0;0;1;0;1;0;1;1;0;1;0;0;1;1;0;1;1;0;0;0;0;1;1;0;1;0;1;1;1;0;1;0;0;0;1;0;1;0;1;1;1;0;0;1;1;1;1 +1;0;0;1;0;0;1;1;1;1;0;0;1;1;1;1;0;0;0;0;0;0;1;1;0;0;0;1;0;0;0;1;1;0;0;1;0;0;1;0;0;1;1;1;1;1;1;0;0;1;1;0;0;0;1;0;1;0;1;1;1;1;0;1;0;0;0;1;1;0;0;0;0;1;1;1;0;0;0;1;1;1;1;0;1;1;0;0;1;1;0;0;1;1;0;0;1;1;1;1 +1;1;0;0;0;1;0;0;0;0;0;0;1;1;0;1;1;1;1;0;1;0;1;1;0;0;1;0;1;0;0;1;0;0;1;0;1;0;0;1;0;0;0;1;1;0;1;0;1;1;1;1;0;1;1;1;0;0;0;1;1;0;1;1;0;1;0;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;1;1;0;1;0;1;0;0;0;0;0;1;1;1;0;0;0 +1;0;1;0;0;0;1;1;0;1;1;1;0;0;0;0;1;0;1;0;1;0;0;1;1;0;1;1;0;1;0;0;0;1;0;0;0;1;0;1;1;0;0;1;0;0;1;0;1;1;1;0;1;0;1;0;0;0;1;1;1;1;0;0;0;1;1;1;0;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;0;0;1;0;1;0;1;1;1;0;0 +1;0;0;0;1;0;1;1;1;1;1;0;0;0;1;0;1;0;1;0;0;0;0;0;1;0;0;0;0;0;1;0;1;1;0;1;1;1;0;0;0;0;1;1;1;0;0;1;1;0;1;0;0;0;1;0;0;1;1;1;0;1;0;0;1;1;0;0;1;1;1;1;0;0;1;1;1;1;1;0;1;0;1;0;0;0;1;0;1;1;1;0;0;0;0;0;1;1;1;1 +0;1;0;1;0;1;0;1;1;1;1;0;0;1;1;1;1;1;0;1;1;0;1;1;1;0;0;1;1;0;0;0;0;0;1;0;0;0;1;0;0;0;1;0;1;0;0;0;1;0;1;1;0;0;0;0;0;0;1;0;0;0;0;0;1;0;1;1;0;0;0;0;0;1;0;1;1;0;0;0;1;0;1;0;0;0;0;1;0;0;0;1;1;0;0;1;0;0;1;1 +1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;1;1;1;0;0;1;1;0;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1;0;0;0;1;1;0;0;1;1;1;0;0;1;0;0;0;0;0;1;0;1;0;1;1;1;0;0;1;1;1;1;0;1;1;0;0;1;0;1;0;0;1;0;0;1;1;0;1;1;1;0;0;1;1;1;0;1;0;1;1;1 +0;1;1;1;1;0;0;1;1;0;0;1;1;0;0;1;0;1;1;1;0;1;0;0;1;0;0;1;0;1;1;0;1;1;0;0;1;1;0;0;0;1;0;0;0;1;1;0;0;1;0;1;1;0;0;0;0;0;0;0;0;1;0;1;0;0;1;1;0;1;1;0;1;0;1;1;0;1;1;0;1;0;0;0;0;0;0;0;1;1;1;1;0;0;0;0;1;0;1;1 +1;0;1;1;1;0;1;1;1;1;1;0;0;1;0;1;0;1;1;1;1;1;0;0;0;1;0;0;1;1;0;0;0;0;0;1;1;1;0;1;1;0;1;0;1;1;1;1;1;0;0;0;0;0;1;0;1;0;1;1;0;1;0;0;1;1;1;1;1;1;0;0;0;1;1;1;0;0;1;0;0;0;1;1;1;1;1;1;1;0;1;1;1;0;1;0;0;1;0;1 +0;1;0;1;1;1;1;1;0;0;1;0;1;1;1;0;0;0;0;0;0;0;0;0;0;1;0;1;1;1;1;0;1;0;0;1;0;0;0;1;0;0;0;1;0;1;1;1;1;0;1;1;0;0;0;1;0;0;1;1;0;1;1;0;1;0;1;0;0;1;1;1;1;1;1;1;0;1;0;0;1;0;0;0;1;1;0;1;0;0;1;1;1;0;1;1;1;1;1;1 +1;0;0;0;0;0;0;1;0;0;0;1;1;1;1;0;1;1;1;0;0;0;1;1;1;0;1;0;0;1;0;1;1;0;0;1;0;0;0;1;0;0;0;0;1;1;0;1;1;0;0;0;1;0;0;1;0;1;1;1;0;1;1;1;1;0;1;0;1;0;1;1;1;1;0;0;0;1;0;0;1;0;0;0;0;0;1;0;0;0;1;0;1;0;0;1;1;1;0;1 +0;1;0;1;1;0;0;1;0;1;0;1;1;1;0;1;0;1;0;0;0;1;1;1;0;1;1;0;1;1;0;1;1;0;1;0;1;1;0;0;1;0;0;0;0;0;0;1;1;1;1;1;1;1;0;1;0;1;1;0;0;1;0;0;0;0;0;0;1;0;0;1;1;1;1;1;0;1;0;0;0;0;1;1;1;1;0;1;1;0;0;1;0;0;0;0;1;0;1;1 +1;1;1;1;1;1;0;0;0;1;0;1;1;1;1;0;0;1;0;0;0;1;0;1;1;0;0;0;1;1;1;1;1;1;0;1;0;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;0;0;0;1;1;1;1;1;0;1;0;0;0;1;0;1;0;0;1;1;0;1;1;1;0;0;0;0;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;0;0 +0;1;0;1;0;1;1;1;1;0;1;0;0;0;0;1;0;1;1;1;1;0;1;1;0;1;0;1;1;0;1;0;0;1;0;0;0;0;1;0;0;0;1;0;1;0;0;1;0;1;1;1;1;0;1;0;0;0;1;0;0;1;0;0;1;0;0;1;1;0;0;0;0;1;1;0;1;0;0;1;0;1;1;1;0;1;1;1;1;0;1;0;0;0;0;0;1;0;0;0 +1;0;1;0;1;0;0;1;1;0;1;0;0;0;0;0;0;1;0;1;1;1;1;1;0;1;0;0;0;0;0;0;0;1;1;1;1;0;1;0;0;0;0;0;1;1;0;1;0;1;1;1;0;1;0;0;1;0;1;1;0;0;0;1;1;0;0;1;0;1;1;1;0;0;1;1;1;1;0;0;0;1;0;0;1;1;1;1;1;1;0;1;0;1;1;0;0;1;0;0 +1;0;1;1;1;0;1;1;0;0;1;0;0;0;1;0;0;0;1;0;0;1;1;0;1;1;0;0;1;0;0;1;0;0;0;1;0;1;0;0;1;0;1;0;0;0;1;1;0;0;0;1;1;1;0;1;1;0;0;0;1;0;0;0;1;0;1;1;1;1;1;1;1;0;1;0;1;1;1;1;0;1;1;1;1;1;1;0;0;1;1;0;1;1;1;0;1;0;0;1 +0;1;1;0;1;1;0;1;1;0;1;1;0;0;1;0;1;1;1;1;1;0;0;0;1;1;1;0;1;0;1;1;0;0;0;1;1;0;0;1;0;1;1;0;0;1;1;1;0;1;0;1;0;0;0;1;0;1;1;0;1;0;0;1;1;1;0;1;0;0;0;1;0;0;0;1;1;1;0;0;1;0;1;1;1;1;0;0;1;0;0;0;0;0;0;0;1;1;0;0 +1;1;1;1;0;0;1;0;0;0;1;0;1;1;1;1;0;0;0;1;1;0;0;1;1;0;1;0;1;0;0;0;1;0;0;0;0;0;1;0;1;1;0;1;1;1;1;1;0;0;0;1;0;1;0;0;0;1;1;0;0;0;1;0;0;0;0;0;1;0;0;1;0;0;0;0;1;0;1;1;0;0;1;0;1;0;1;0;1;1;1;0;1;0;0;0;1;1;0;1 +0;0;0;1;0;0;1;1;1;0;1;1;0;0;0;1;0;0;0;1;0;1;1;0;1;0;0;0;1;0;0;1;0;0;1;1;0;0;0;0;1;0;1;0;0;1;1;1;1;1;0;1;1;0;0;0;0;0;1;1;1;0;0;0;0;0;0;1;1;0;0;0;0;1;0;0;0;1;1;1;0;1;1;1;0;1;0;0;0;0;1;1;0;1;1;0;1;1;0;1 +1;1;0;1;0;1;0;0;0;1;1;0;1;0;0;0;0;1;1;0;1;0;0;1;0;1;1;1;0;0;1;0;1;0;0;0;0;1;1;1;0;0;1;1;0;1;1;0;1;0;1;0;1;0;1;1;1;1;0;0;1;0;0;1;0;1;1;0;0;0;1;0;0;0;0;1;1;1;0;0;1;1;0;0;0;0;1;1;1;1;0;1;0;0;0;0;1;1;1;1 +0;0;1;0;1;0;1;0;1;1;0;0;1;0;1;1;1;0;1;1;1;1;1;0;1;0;0;1;0;0;1;0;0;1;1;0;1;1;0;0;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;0;1;1;0;0;0;1;0;1;0;1;1;0;1;0;0;1;1;0;1;0;1;1;0;0;1;0;1;0;1;1;0;0;1;1;0;0;1;0 +1;0;0;0;0;0;0;1;0;1;1;0;1;0;1;0;0;0;1;1;0;1;0;1;0;1;0;1;1;1;0;1;1;1;0;1;1;1;0;1;1;0;1;1;1;1;0;1;1;1;0;0;0;0;1;0;1;1;1;0;1;1;0;0;0;0;0;1;1;1;1;1;1;0;0;1;0;1;1;1;1;1;1;0;1;0;0;0;1;1;0;0;0;0;0;0;1;0;0;1 +1;0;0;0;0;0;1;1;0;1;0;1;1;0;0;1;1;1;0;0;0;1;1;0;1;0;1;0;0;0;0;1;0;1;1;1;1;1;1;1;0;1;0;1;1;1;0;0;1;0;0;1;0;0;1;0;1;1;1;1;1;0;1;1;0;1;1;0;1;1;0;0;1;1;0;0;1;1;0;0;0;0;0;1;0;1;1;0;1;1;0;0;0;0;1;0;1;1;0;1 +1;0;0;1;0;1;1;0;1;0;0;1;0;1;1;1;0;1;1;0;1;0;0;1;0;0;0;1;0;0;1;0;1;0;0;1;0;1;0;0;0;0;1;1;1;1;1;0;0;1;1;1;1;1;0;0;0;1;0;1;0;0;0;1;0;0;0;1;1;1;1;1;0;1;0;1;0;0;0;0;0;0;1;0;0;0;0;1;0;1;0;1;0;0;0;0;0;0;0;0 +1;1;1;0;1;0;0;0;1;0;0;1;1;0;0;0;1;0;1;0;0;1;1;0;0;0;0;0;1;0;1;1;1;0;1;0;1;0;0;0;0;0;0;1;0;0;0;1;0;0;1;0;0;0;0;0;0;0;0;1;1;1;0;0;0;0;1;1;0;1;1;1;0;1;0;0;1;1;1;0;0;1;0;1;1;0;1;0;1;0;0;0;0;0;0;0;1;1;0;1 +0;0;0;0;0;1;1;1;0;0;1;1;0;1;1;1;0;1;0;0;1;0;0;1;1;0;0;1;1;0;0;0;0;1;0;1;0;1;1;1;1;0;1;0;0;1;0;0;1;1;1;0;0;1;0;1;1;1;0;1;0;0;0;0;1;0;0;0;1;0;0;0;0;0;1;1;1;1;1;0;0;1;0;1;0;0;1;1;0;1;1;1;0;1;1;1;1;1;0;0 +1;0;1;1;0;1;1;0;0;1;1;1;0;1;1;0;0;1;0;0;0;1;1;0;1;1;0;1;1;1;0;1;0;1;1;0;1;0;0;1;1;1;0;1;1;1;1;1;0;0;0;1;0;1;1;0;1;1;0;1;0;1;1;0;0;1;0;0;1;1;1;0;0;0;1;1;0;1;0;0;0;1;1;1;1;1;0;0;0;1;0;0;1;0;1;0;0;1;0;0 +1;0;1;0;0;0;1;0;0;0;0;1;1;0;1;1;0;0;1;0;0;1;1;0;0;0;1;1;0;0;0;0;1;0;0;0;0;1;0;1;0;0;1;1;1;0;0;0;1;0;1;0;0;1;0;1;1;0;1;1;1;1;0;1;0;0;0;1;1;0;1;1;0;1;1;1;1;0;0;0;0;0;1;1;0;0;0;1;0;1;0;1;0;0;0;1;1;0;0;0 +0;0;1;0;1;1;0;0;0;1;1;1;0;1;0;0;1;1;0;1;1;1;0;0;1;0;0;1;0;0;1;1;0;1;0;1;0;0;1;1;0;1;0;0;1;0;1;1;1;0;1;1;0;0;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;1;0;1;1;1;1;0;1;0;1;1;1;0;1;0;0;1;1;1;0;0;1;1;1;0;0;0;1;0 +1;1;0;1;1;1;1;1;0;1;0;0;1;0;0;0;0;0;0;1;0;1;0;1;0;1;0;1;0;0;1;0;1;1;0;1;0;1;0;0;0;1;0;0;0;0;0;1;1;0;1;0;1;1;0;0;0;0;0;1;1;0;0;1;0;1;0;1;1;1;1;1;1;0;1;1;0;0;0;1;1;1;0;1;1;1;1;1;1;1;0;1;0;0;0;0;0;1;0;0 +1;0;0;0;1;0;0;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;0;1;0;0;1;0;0;1;0;0;0;1;0;1;1;0;0;0;0;0;1;0;0;0;0;1;0;0;1;0;0;0;1;1;1;0;1;0;0;1;1;1;1;0;1;0;0;0;0;0;0;0;1;0;0;1;0;1;0;1;0;0;0;0;0;0;1;0;0;0;1;0;1;1 +1;0;1;0;0;1;1;0;1;0;1;0;1;1;0;0;1;0;1;1;1;1;0;1;0;0;1;0;0;0;1;0;0;0;1;1;1;0;0;1;0;1;0;0;1;1;0;1;0;0;1;1;0;1;0;1;0;1;0;0;1;1;0;1;1;1;1;1;0;0;1;0;1;0;0;1;1;0;0;0;1;1;1;1;1;0;1;0;0;1;1;1;1;1;0;1;0;0;0;1 +1;1;0;0;0;0;1;1;0;0;0;0;1;0;1;1;0;0;0;1;1;0;0;0;1;0;1;1;1;0;1;1;0;1;0;0;1;1;0;0;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;0;0;1;0;1;1;0;0;0;1;0;0;0;1;1;1;0;0;1;0;1;0;0;0;0;1;0;0;0;1;0;0;1;0;0;0;0;1;0;1;0;0;0;1;0 +1;1;1;1;1;0;0;0;0;1;0;1;0;1;1;0;0;0;0;1;0;0;0;1;0;0;0;0;0;1;0;0;0;1;1;0;0;1;0;1;0;0;0;1;0;1;0;0;0;1;0;0;0;0;1;1;0;0;1;0;0;0;1;0;0;0;1;1;0;0;1;1;1;1;0;1;1;0;1;0;0;1;1;1;0;0;1;0;0;1;1;0;1;0;1;1;0;0;0;1 +0;1;0;1;1;0;1;0;0;1;1;1;1;0;0;0;1;1;0;1;0;0;0;1;1;1;1;0;1;0;1;1;0;0;1;1;0;0;0;1;1;1;0;0;1;1;1;0;1;0;0;0;0;1;1;1;1;0;0;0;0;1;0;1;1;1;0;1;1;1;0;0;0;1;0;0;1;0;1;1;1;0;1;0;1;1;0;1;1;0;1;1;0;1;1;1;0;1;0;0 +1;0;0;1;1;1;1;0;0;1;1;1;1;0;1;0;0;0;0;0;1;0;1;0;0;0;0;0;0;1;0;0;0;0;1;1;1;1;0;1;1;0;1;1;1;1;0;0;0;1;1;0;1;0;1;0;1;0;1;1;0;1;1;0;1;0;1;0;0;0;0;1;0;1;0;0;0;1;1;0;1;0;0;0;0;1;1;1;1;1;0;0;1;1;1;0;0;0;1;0 +1;0;0;1;0;0;0;0;1;1;1;1;0;1;1;1;1;1;0;1;1;0;1;0;1;1;1;1;0;0;0;0;0;1;1;0;0;0;0;0;0;1;1;1;1;0;0;0;0;1;1;0;1;1;1;1;0;1;1;1;1;1;0;1;1;0;1;0;0;0;1;1;0;0;1;1;0;0;0;1;0;1;0;0;0;0;0;1;0;0;1;1;0;0;0;1;1;0;0;0 +0;0;0;0;0;1;1;0;0;1;1;1;0;1;0;0;1;1;0;1;1;1;0;1;1;1;1;0;0;1;0;1;0;0;1;1;1;0;1;0;1;1;0;0;0;1;0;1;1;1;0;1;0;0;0;0;1;0;0;0;1;1;1;1;0;0;0;1;0;1;1;1;0;0;0;1;1;0;1;0;0;1;0;1;0;0;0;0;0;1;0;1;0;1;1;1;0;0;0;0 +1;0;1;0;0;0;0;1;0;0;1;1;1;1;0;1;1;1;1;0;1;1;1;1;0;1;0;0;1;0;0;1;0;0;1;0;0;1;0;0;0;1;1;1;1;0;1;0;1;0;0;1;0;1;1;0;0;1;1;0;0;1;0;1;0;0;1;0;0;1;1;1;0;0;1;1;1;1;1;1;1;0;1;0;1;0;1;1;0;1;0;0;0;1;1;0;1;0;0;0 +0;1;1;0;1;1;0;1;1;1;0;0;0;0;0;1;1;1;1;1;0;0;1;0;1;1;1;1;0;0;1;1;0;0;1;1;1;1;0;0;1;0;1;1;0;1;1;0;1;0;1;1;1;1;1;1;0;0;1;0;0;0;1;0;1;1;1;0;1;0;0;0;1;0;0;0;0;1;1;0;0;1;0;1;0;1;1;1;0;1;1;1;0;1;0;1;0;1;1;1 +0;1;0;0;1;0;0;0;1;0;1;0;0;0;1;0;0;0;1;1;1;1;1;1;1;1;0;0;1;0;1;0;0;0;1;0;0;1;1;0;0;1;0;1;1;0;1;1;0;0;0;0;1;0;1;1;1;1;1;0;0;0;0;0;0;1;0;1;0;0;0;0;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;1;1;0;1;0;1;1;0;1;1;1 +0;0;1;0;0;1;1;1;1;1;0;1;1;0;1;0;0;1;1;1;1;1;0;1;1;1;0;0;0;0;0;1;0;1;0;1;1;0;0;0;0;0;0;0;0;0;0;0;1;0;1;1;0;1;0;1;1;1;1;1;1;1;0;1;0;1;1;0;0;1;1;0;1;0;0;0;0;1;1;0;1;0;1;0;0;1;0;0;1;1;0;1;0;1;0;1;0;0;1;1 +0;0;0;1;0;0;0;0;1;1;1;1;1;1;0;0;1;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;1;0;1;1;1;0;0;1;0;0;0;0;1;0;1;1;0;1;1;0;1;0;1;1;0;0;1;0;0;1;0;0;0;1;0;0;0;0;1;1;0;1;0;0;0;1;0;1;0;0;0;0;0;1;1;0;1;0;0;0;0;1;0;0 +1;0;0;1;1;1;1;1;1;1;0;1;0;1;1;1;1;1;1;1;0;0;0;1;0;0;1;1;1;1;1;1;0;0;0;0;0;1;0;0;1;1;0;0;0;1;1;1;1;1;0;1;1;1;0;1;1;0;0;1;1;1;0;0;0;1;0;0;0;1;0;1;1;0;0;0;0;1;1;0;0;1;1;0;0;1;0;1;1;0;0;1;1;0;1;0;0;1;0;0 +1;1;1;1;1;1;0;0;1;0;1;0;1;0;1;1;1;1;1;1;0;0;1;1;0;1;1;1;0;0;0;0;0;0;1;0;1;0;0;1;1;1;0;0;1;0;1;0;1;1;1;1;1;0;0;1;0;1;0;0;1;1;0;0;1;1;1;0;0;0;0;1;1;1;0;0;0;0;0;1;0;0;1;0;0;0;0;0;0;1;1;0;1;0;1;1;0;1;1;0 +0;0;1;0;0;1;0;1;1;0;1;1;0;1;0;1;1;1;1;0;0;0;1;0;1;1;0;0;0;1;1;0;0;0;1;1;0;0;0;0;0;1;0;1;0;1;0;0;1;0;0;1;1;1;0;0;1;1;1;0;0;0;1;0;1;1;0;0;0;1;0;1;0;1;0;0;0;1;1;1;1;0;1;0;0;1;1;0;1;1;1;0;0;0;0;0;0;0;1;0 +1;1;1;0;1;0;0;0;0;1;0;0;0;0;1;0;1;1;1;1;1;0;0;1;0;0;0;0;0;1;0;1;1;0;1;1;0;1;0;1;0;0;1;0;0;0;1;1;1;0;0;0;1;0;1;0;1;1;1;1;0;1;1;1;1;0;1;1;1;1;0;0;0;1;1;0;1;0;0;1;1;0;0;0;0;1;1;1;0;1;0;0;1;1;0;1;0;1;0;1 +1;1;1;0;0;0;1;1;0;1;1;1;1;0;0;1;1;1;1;0;0;1;1;0;0;1;1;0;1;1;0;1;0;1;0;1;1;0;1;1;0;0;1;0;0;1;0;1;1;1;1;1;1;1;0;1;0;0;0;1;0;0;1;1;1;0;0;1;0;1;1;1;0;1;0;1;1;0;0;0;0;0;1;1;0;1;0;1;1;1;1;1;1;0;1;1;0;1;0;1 +1;0;1;0;1;1;0;0;0;0;1;1;0;1;1;1;1;0;1;1;1;1;1;0;0;0;1;0;0;0;1;1;1;0;1;0;1;1;0;1;0;0;1;1;0;0;1;0;1;0;1;0;0;0;0;1;0;1;0;0;1;1;0;1;1;0;1;0;0;0;0;0;1;0;0;0;1;0;1;0;0;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;1;0;0;0 +0;0;1;0;0;0;0;1;0;0;0;1;0;1;0;1;0;0;0;1;1;0;0;0;1;1;1;0;0;0;1;1;0;0;0;0;1;1;1;1;0;1;0;0;1;0;0;1;1;1;0;0;0;0;0;0;1;1;0;1;1;0;0;1;1;0;0;0;1;0;1;1;1;1;0;0;0;1;0;1;1;1;1;1;1;0;0;1;1;1;0;0;1;0;1;0;0;0;0;0 +0;1;0;1;1;1;0;1;0;0;1;0;1;0;0;1;1;0;1;1;1;0;0;1;1;1;0;0;1;1;1;1;1;0;1;1;0;0;0;1;1;0;0;1;1;0;0;0;1;1;0;1;0;1;1;1;0;1;0;1;0;1;0;1;1;1;0;1;1;0;1;0;1;1;1;0;1;0;1;0;1;0;1;1;1;1;1;0;0;1;0;0;0;1;1;0;1;1;1;1 +0;0;0;0;1;1;0;1;0;0;1;0;1;1;1;0;0;1;1;1;1;0;0;1;1;0;0;1;1;0;0;1;1;0;0;1;1;1;0;0;0;0;1;1;1;1;1;1;1;1;0;1;1;1;0;0;1;1;1;0;1;1;0;0;1;1;1;0;1;1;1;1;1;1;0;1;0;1;0;1;1;1;0;1;0;0;0;1;1;1;0;1;1;1;1;0;1;0;0;1 +0;0;1;1;1;0;0;1;0;0;1;0;0;0;1;1;0;1;0;1;0;0;0;0;0;1;1;0;1;0;1;0;1;0;0;0;1;0;1;1;1;0;1;1;0;0;1;0;1;1;0;1;0;1;1;1;0;1;0;1;0;1;0;0;0;1;0;0;0;0;0;1;0;0;1;0;0;0;0;0;0;0;1;1;1;0;1;0;1;0;1;0;0;0;1;1;1;1;0;0 +1;0;1;1;0;1;1;1;1;1;0;0;0;0;1;1;0;0;0;1;1;1;1;0;1;0;0;1;0;0;1;1;1;0;0;1;1;0;0;0;1;1;1;0;0;0;1;0;0;0;0;0;1;1;1;0;0;1;0;1;0;1;1;0;0;0;0;1;0;0;1;1;1;0;0;1;1;1;1;1;1;0;0;1;0;0;0;1;1;0;0;0;0;1;0;1;1;1;1;1 +1;1;1;0;0;0;1;1;1;0;1;0;0;1;1;0;0;1;0;1;1;1;0;0;0;1;0;1;0;1;0;0;0;1;1;1;0;1;1;1;1;0;1;0;1;1;1;0;0;1;0;1;0;1;1;1;1;0;0;1;0;1;0;1;0;0;1;1;1;1;0;1;1;1;1;0;0;1;1;0;0;0;1;0;1;1;1;0;0;1;0;1;0;0;0;1;1;0;1;0 +0;0;1;1;1;1;0;0;1;1;0;0;1;0;0;0;0;1;0;1;1;0;0;0;0;1;0;1;0;0;0;1;0;1;1;1;1;1;0;1;1;0;1;0;1;1;0;1;1;0;0;1;1;0;1;0;1;1;0;0;1;1;1;0;0;0;1;1;0;0;1;1;0;0;0;1;1;0;1;1;1;0;0;1;0;1;1;0;0;1;0;1;0;0;0;1;0;1;1;0 +0;0;1;0;1;1;1;0;1;1;0;0;0;0;1;1;0;1;0;1;1;1;1;1;0;1;0;1;1;1;0;1;1;0;0;1;1;0;0;0;1;1;0;1;1;0;0;1;1;1;1;0;0;1;1;1;1;0;0;0;1;1;0;1;1;1;1;1;1;0;1;0;0;0;0;0;0;1;1;1;1;1;0;1;0;1;0;1;1;1;0;1;0;1;1;1;0;0;1;1 +1;0;0;1;0;1;1;0;0;1;1;1;0;0;0;0;0;1;0;0;0;1;0;1;0;1;1;1;0;1;0;0;1;1;0;1;0;0;1;1;1;0;1;1;1;0;1;1;0;0;0;0;1;1;0;1;1;0;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;0;0;0;0;1;1;1;0;0;0;0;1;1;0;0;0;1;1;0;0;0;0;0;1;1;1 +0;1;1;0;1;0;0;0;1;0;1;0;1;1;0;0;1;1;0;0;0;1;1;1;1;0;0;0;1;1;0;1;1;1;0;1;1;1;0;1;1;1;1;0;1;0;1;1;1;0;0;1;0;0;0;0;1;0;0;0;0;1;1;0;1;0;1;1;1;1;1;1;1;0;1;1;0;0;0;1;0;1;1;1;1;0;1;1;1;0;0;1;0;1;0;0;1;1;1;1 +0;1;1;1;0;1;0;0;1;0;1;1;1;1;1;1;1;1;1;0;1;0;1;0;1;0;0;0;1;0;1;0;1;0;1;0;0;0;1;1;0;0;1;0;0;0;1;1;0;1;1;1;0;0;0;0;0;0;0;0;1;1;1;1;1;1;1;0;0;0;0;1;1;1;1;1;0;0;1;0;1;0;1;1;0;0;0;1;0;0;1;1;0;1;0;1;0;1;0;0 +1;1;0;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;0;0;0;1;0;1;1;0;0;0;1;0;0;0;0;1;1;1;0;0;1;1;0;1;1;1;1;1;1;0;1;1;0;0;1;0;1;0;0;1;1;0;1;0;1;0;0;1;0;0;0;1;1;0;0;0;0;0;0;1;0;0;0;0;1;0;0;1;1;1;0;0;1;1;1;1;0;1;0;1;1;1 +1;0;0;1;0;0;0;0;0;0;0;1;1;0;1;1;0;0;1;0;1;1;1;0;1;0;0;0;0;0;1;0;1;0;0;1;1;0;0;0;0;0;1;1;1;1;1;0;0;1;1;0;0;1;0;1;0;0;0;1;1;1;0;1;1;0;0;1;1;1;0;1;1;0;0;0;1;1;1;1;0;0;1;0;1;1;0;0;0;0;1;1;0;1;0;1;1;1;0;1 +1;1;1;0;1;1;1;0;1;1;1;0;0;1;0;0;1;1;1;1;0;1;1;1;0;1;1;1;1;1;0;1;1;1;0;1;0;0;1;1;1;0;1;1;1;0;0;1;1;1;1;1;0;0;0;0;0;0;1;1;0;0;0;0;1;0;0;1;0;0;0;0;0;1;0;1;0;1;0;0;1;1;1;1;1;1;0;1;1;1;0;1;0;1;1;1;0;1;0;0 +1;0;0;1;0;1;0;0;0;1;1;0;1;0;1;1;1;0;1;0;0;1;1;1;0;1;0;1;0;0;0;1;0;1;1;1;1;1;0;1;1;0;0;0;0;0;0;0;1;0;1;1;1;1;1;0;0;0;1;0;0;1;0;0;0;0;0;0;1;0;0;1;0;0;1;0;0;1;0;1;1;0;1;0;0;0;0;0;1;0;0;1;0;1;0;1;1;1;1;0 +1;0;1;0;0;0;1;1;1;1;1;0;0;1;0;0;0;0;1;0;0;1;0;1;0;0;1;0;1;0;1;1;0;1;1;0;1;1;0;0;0;0;1;0;1;0;0;1;0;0;1;1;0;1;1;0;1;0;0;1;1;1;0;1;1;1;1;1;0;0;0;1;1;0;1;1;1;0;1;0;1;1;0;1;0;1;0;1;0;0;0;0;1;1;1;1;1;1;1;0 +0;0;1;1;1;0;1;0;1;0;0;1;1;0;1;1;0;0;0;1;1;1;1;1;1;1;0;0;1;1;0;1;1;0;1;1;1;0;1;0;0;0;0;0;0;0;1;0;0;0;1;1;0;0;1;1;0;1;0;0;1;0;1;1;0;1;1;0;0;0;0;1;1;0;0;0;1;1;1;0;1;1;0;0;1;0;1;0;0;1;1;1;0;1;0;1;0;1;0;0 +0;1;0;0;1;0;0;0;1;1;0;0;0;0;1;0;1;1;1;0;1;1;1;1;1;0;1;0;1;1;0;0;1;0;0;0;0;0;1;0;0;1;0;0;1;0;1;0;1;0;1;1;1;1;1;0;0;1;1;0;0;1;1;0;0;0;0;1;0;1;1;0;1;1;1;1;0;0;0;0;0;1;1;0;1;0;0;1;1;1;0;1;1;1;1;1;0;1;1;0 +1;0;1;0;0;1;1;0;0;0;1;0;0;0;0;1;1;1;1;0;1;1;0;0;1;0;1;0;0;0;0;1;0;0;0;0;0;1;0;1;0;1;1;1;0;0;1;1;0;1;1;1;1;1;1;1;1;0;0;1;0;1;1;1;0;0;0;0;0;0;0;1;0;1;1;0;1;0;0;0;0;0;0;0;1;1;0;0;0;0;1;1;0;1;1;0;1;1;0;1 +1;1;1;0;0;0;0;0;1;1;0;0;0;1;0;1;0;0;1;0;0;0;1;0;0;0;1;1;0;0;0;0;1;1;1;0;1;0;0;1;1;1;0;1;1;1;1;0;0;1;0;1;0;1;0;0;1;1;1;0;1;1;1;1;0;0;1;0;0;1;0;1;1;1;1;0;1;1;1;0;1;1;1;0;0;0;0;0;1;1;0;1;1;0;1;1;0;0;0;1 +1;0;0;1;1;1;0;0;0;1;1;1;0;0;1;0;1;0;1;1;0;0;0;0;0;0;1;0;0;0;0;1;0;1;1;1;0;1;0;1;1;1;1;1;0;1;1;1;1;0;1;1;0;1;1;1;1;0;1;1;0;1;0;1;1;0;1;0;0;0;0;1;1;0;1;0;0;1;1;0;1;1;0;1;0;1;1;0;0;0;1;0;1;0;1;0;1;1;1;0 +0;0;1;1;1;1;0;1;0;0;1;0;0;0;1;0;1;1;0;0;1;1;0;0;1;0;1;0;1;1;0;1;1;0;1;1;0;0;0;0;0;0;0;1;1;1;0;1;0;1;0;1;0;1;0;1;1;1;0;1;0;1;0;0;0;1;0;1;0;1;0;1;1;1;0;1;0;0;1;1;1;1;0;0;1;1;1;1;1;1;0;0;1;1;1;0;1;0;1;1 +0;0;0;0;1;0;0;0;0;0;1;1;0;1;0;1;1;1;0;0;1;0;1;0;0;1;0;1;0;0;0;0;0;1;0;1;1;1;1;1;1;1;0;1;0;1;1;1;1;0;0;1;0;0;1;1;0;0;1;0;0;0;1;0;1;0;0;0;1;0;0;1;1;0;1;1;1;1;0;0;0;0;1;0;1;1;0;0;1;1;1;0;0;0;1;0;1;1;0;0 +1;0;0;1;1;0;1;1;0;1;1;0;0;0;0;0;1;1;1;0;0;1;0;1;0;1;0;0;1;1;0;0;0;1;1;0;0;0;1;0;1;0;1;1;1;0;0;1;0;0;0;1;0;0;1;1;0;1;0;0;1;1;1;0;0;0;0;1;0;1;0;1;0;1;1;1;1;0;1;0;1;1;0;0;0;0;0;1;1;0;0;0;0;0;1;0;0;0;1;1 +1;0;1;0;1;0;1;0;1;1;0;1;1;0;1;0;0;0;0;1;1;1;1;1;0;0;0;1;0;1;1;1;1;1;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;1;1;0;0;0;0;0;0;1;0;0;0;1;1;0;1;1;0;0;0;1;1;0;0;0;0;1;0;0;1;0;1;0;0;1;0;0;0;1;1;1;1;1;1;1 +1;1;0;0;1;0;1;0;1;0;0;1;1;0;1;1;1;0;0;1;0;1;0;0;1;0;0;1;1;0;1;1;1;0;0;1;0;0;1;0;0;1;0;1;0;1;0;1;1;1;0;0;0;1;0;1;0;1;0;0;0;0;0;1;0;1;1;0;1;1;1;0;0;1;1;0;0;1;0;1;1;1;0;1;1;1;1;1;1;1;0;0;0;1;1;0;0;1;0;0 +1;1;0;1;0;0;1;0;1;0;1;1;1;1;1;1;0;0;0;0;0;0;0;1;0;0;1;0;0;0;0;1;0;0;0;0;0;1;0;1;0;0;1;1;0;1;1;1;0;1;0;1;0;0;1;0;0;0;0;1;0;0;0;0;0;1;1;0;0;0;0;0;1;1;0;0;1;1;1;1;0;1;1;0;0;0;0;0;1;1;0;0;0;1;0;1;1;0;1;0 +0;1;0;1;1;0;1;0;0;0;0;1;0;0;0;1;1;1;1;0;1;0;1;1;1;0;1;0;1;0;0;0;1;0;1;1;0;0;1;1;0;0;1;0;1;1;0;1;0;1;1;1;1;0;1;0;0;0;0;0;1;0;0;1;0;1;0;0;0;1;1;1;1;1;1;0;1;0;1;0;1;1;1;0;0;1;0;0;0;0;1;1;0;1;0;1;1;1;0;0 +0;1;1;1;0;0;0;1;1;1;0;1;1;1;0;0;1;0;0;1;0;1;1;0;1;0;1;0;1;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;0;1;1;0;0;0;0;1;0;1;0;0;1;0;1;0;1;1;1;1;0;1;0;0;1;1;0;1;0;0;1;0;1;1;0;0;1;0;1;1;0;0;0;0;1;0;0;1;1;1;0;0;0;0;1 +0;0;0;0;1;1;1;1;1;1;0;1;0;1;0;0;0;1;0;1;1;0;1;0;0;0;1;1;1;0;1;1;1;1;1;0;1;0;0;0;0;0;1;0;1;0;0;0;1;1;0;1;0;1;1;0;0;1;0;0;0;1;1;1;0;1;1;1;1;1;0;0;0;0;1;0;0;1;0;0;0;1;1;0;1;0;0;0;1;0;0;1;0;1;1;0;1;0;0;1 +1;0;1;1;1;1;1;1;1;1;0;0;0;1;1;0;1;0;1;1;0;0;0;0;0;0;0;0;0;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;1;1;0;0;1;0;1;0;0;0;1;0;1;0;1;0;1;0;1;1;0;1;1;0;0;0;1;1;0;0;0;0;1;1;1;1;1;1;1;1;0;0;1;1;1;0;0;0;1;0;1;0;0;1;0;0 +1;0;0;0;1;0;1;1;0;0;1;0;1;1;1;0;0;1;1;0;0;1;1;0;1;0;1;0;0;1;0;1;1;1;1;0;1;0;0;1;1;1;1;1;1;0;1;0;1;0;0;1;1;0;0;0;1;0;1;0;0;1;0;0;0;1;1;0;1;0;0;0;0;0;0;1;0;1;0;1;0;0;1;1;0;0;0;0;0;1;0;0;1;0;0;1;0;1;1;1 +0;1;1;0;0;1;0;1;1;1;1;1;1;0;0;0;0;1;0;0;0;1;1;0;0;0;0;0;1;0;1;1;1;0;1;0;1;0;1;0;0;1;0;0;0;0;0;1;0;1;0;0;0;0;0;1;1;0;1;1;1;0;1;0;1;1;1;1;0;1;0;0;0;1;1;0;0;0;1;1;0;0;1;0;1;0;0;1;0;0;0;1;1;0;1;0;1;0;1;1 +1;1;0;0;0;1;0;0;1;0;1;1;1;1;0;1;1;0;0;0;1;1;1;1;0;1;0;0;1;0;0;1;0;0;0;1;1;1;1;0;1;0;0;0;1;0;1;1;0;1;0;0;1;0;1;0;1;1;0;1;1;1;1;1;1;1;1;0;0;0;1;0;1;1;1;1;1;1;0;1;0;0;0;0;1;1;0;0;0;1;0;1;1;1;0;0;1;0;0;1 +1;1;1;1;1;1;1;0;1;0;0;1;0;1;1;1;1;0;1;0;1;1;1;1;0;1;1;1;1;1;0;0;0;1;0;0;1;0;0;1;0;0;1;1;1;1;0;1;1;1;1;1;1;0;0;0;1;1;0;0;0;1;0;0;1;1;1;1;0;1;0;1;1;1;0;0;0;1;1;0;1;0;0;0;0;0;0;0;0;0;0;1;0;0;0;1;0;0;1;1 +1;1;1;0;1;1;0;0;1;1;1;1;0;0;0;1;1;0;1;0;0;1;1;1;1;0;1;1;0;1;0;1;1;0;0;1;0;0;0;1;0;0;0;1;0;1;1;0;0;1;1;1;0;0;0;0;0;0;0;1;0;0;1;0;0;0;1;1;0;0;1;1;0;1;0;0;1;1;1;0;1;0;1;1;1;0;1;0;0;0;1;1;1;0;1;0;1;0;1;1 +1;0;1;0;0;0;0;1;1;0;1;1;0;1;0;0;1;0;0;0;0;1;0;1;0;1;0;0;1;1;1;0;1;0;0;0;0;0;0;1;0;0;1;1;1;0;0;0;1;1;1;1;1;1;0;0;0;0;0;1;0;1;1;0;0;1;1;0;1;1;0;1;1;0;1;0;0;0;0;1;0;1;1;1;0;1;1;0;0;0;0;0;0;0;1;1;0;0;0;0 +1;1;0;1;0;0;0;0;0;1;0;1;1;1;1;1;0;1;1;1;0;0;0;0;1;1;0;0;1;1;0;0;0;1;0;0;1;1;0;0;1;1;1;0;1;0;1;1;1;0;1;0;1;1;1;0;0;0;1;1;0;0;0;1;1;0;1;0;1;1;0;0;1;0;0;1;1;0;1;1;0;1;1;1;0;1;0;0;0;0;0;1;0;0;1;1;0;1;0;0 +1;0;1;1;1;1;0;1;0;1;0;0;0;1;1;0;0;1;0;1;0;0;1;0;1;0;1;1;0;0;0;1;0;1;0;0;1;1;0;1;0;0;1;1;0;1;0;0;1;0;0;0;0;0;0;1;0;0;1;1;1;0;0;0;1;1;1;1;0;1;1;1;1;1;1;0;0;1;1;0;1;1;1;0;0;1;1;1;1;0;1;1;1;1;1;0;0;1;1;1 +0;0;1;0;1;1;0;1;1;1;1;1;1;0;0;0;1;0;0;0;0;1;0;1;1;1;1;0;0;0;0;1;1;0;1;1;0;0;0;0;1;0;1;0;0;0;1;0;1;0;1;0;0;0;1;0;1;0;0;1;0;1;0;1;0;0;0;0;0;0;0;0;1;1;1;0;0;1;1;0;0;0;0;0;1;0;1;1;0;0;1;0;0;1;0;0;0;0;0;1 +1;1;0;1;0;1;0;1;1;1;1;0;0;0;0;1;1;0;1;0;0;1;1;0;0;0;0;1;1;1;1;0;1;1;0;0;1;1;1;1;0;1;1;1;0;1;0;1;1;1;0;0;0;1;1;0;0;0;0;1;1;1;0;1;1;1;1;1;1;0;1;1;0;0;1;1;1;0;0;0;0;0;1;1;0;0;1;0;0;1;0;0;0;1;0;1;0;1;0;1 +0;1;1;1;0;1;1;1;0;0;1;1;0;1;1;1;0;0;0;0;1;1;0;1;1;1;0;1;1;0;0;0;0;1;0;1;0;0;1;1;1;1;1;0;0;0;0;0;1;1;1;1;0;0;0;0;0;1;1;1;1;1;1;0;0;0;1;0;1;0;1;0;0;1;0;0;0;1;1;0;1;0;0;1;0;1;0;0;1;0;0;1;1;1;1;1;0;1;0;0 diff --git a/src/backend/Agent.java b/src/backend/Agent.java index 9eeef1e..1b0845a 100644 --- a/src/backend/Agent.java +++ b/src/backend/Agent.java @@ -35,6 +35,7 @@ public abstract class Agent { // if false, agent dies at end of turn // see step function in Simulator public abstract boolean liveTurn(ArrayList neighbors, Simulator world); + public abstract int getAgentType(); } diff --git a/src/backend/Sheep.java b/src/backend/Sheep.java index 6bd6985..3f51310 100644 --- a/src/backend/Sheep.java +++ b/src/backend/Sheep.java @@ -55,6 +55,8 @@ public class Sheep extends Agent { y-=1; } } - + public int getAgentType() { + return 1; + } } diff --git a/src/backend/Simulator.java b/src/backend/Simulator.java index a02a65c..e86c5f3 100644 --- a/src/backend/Simulator.java +++ b/src/backend/Simulator.java @@ -546,7 +546,8 @@ public class Simulator extends Thread { String sumAgentToLine=""; for(Agent agent :agents) { sumAgentToLine+=agent.getX()+","; - sumAgentToLine+=agent.getY(); + sumAgentToLine+=agent.getY()+","; + sumAgentToLine+=agent.getAgentType(); if (agents.indexOf(agent)2) { + int typeAgent = Integer.parseInt(elements[2]); + switch (typeAgent) { + case 1 : + Sheep Shaun=new Sheep(x,y);//adds a sheep for type 1 + agents.add(Shaun); + //System.out.println(agents); + break; + case 2 : + Wolf agrou=new Wolf(x,y);//adds a Wolf for type 2 + agents.add(agrou); + break; + default: + break; + } + } + else { + Sheep Shaun=new Sheep(x,y);// adds Sheep if the save doesn't specify the type of the Agent agents.add(Shaun); - //System.out.println(agents); - break; - case 3 : - Wolf agrou=new Wolf(x,y); - agents.add(agrou); - break; - default: - break; } } diff --git a/src/backend/Wolf.java b/src/backend/Wolf.java new file mode 100644 index 0000000..aa812fa --- /dev/null +++ b/src/backend/Wolf.java @@ -0,0 +1,61 @@ +package backend; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.Random; + +// example of basic animal. +// do not hesitate to make it more complex +// and DO add at least another species that interact with it +// for example wolves that eat Wolf +public class Wolf extends Agent { + + int hunger; + Random rand; + + Wolf(int x,int y){ + //first we call the constructor of the superClass(Animal) + //with the values we want. + // here we decide that a Wolf is initially white using this constructor + super(x,y,Color.red); + // we give our Wolf a hunger value of zero at birth + hunger = 0; + //we initialize the random number generator we will use to move randomly + rand = new Random(); + } + + /** + * action of the animal + * it can interact with the cells or with other animals + * as you wish + */ + public boolean liveTurn(ArrayList neighbors, Simulator world) { + if(world.getCell(x, y)==1) { + world.setCell(x, y, 0); + } else { + hunger++; + } + this.moveRandom(); + return hunger>10; + } + + private void moveRandom() { + int direction = rand.nextInt(4); + if(direction == 0) { + x+=1; + } + if(direction == 1) { + y+=1; + } + if(direction == 2) { + x-=1; + } + if(direction == 3) { + y-=1; + } + } + public int getAgentType() { + return 2; + } + +}