diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f5e96db --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +venv \ No newline at end of file diff --git a/.gitignore b/.gitignore index 538f2c5..68e92c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ -__pycache__/ -src/__pycache__/ \ No newline at end of file + +__pycache__ +venv/ +*.pyc diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4705f8e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM sadraiiali/rcss2d-grpc-agent:latest + +ENV TEAM_NAME=team +ENV HOST=127.0.0.1 +ENV PORT=6000 + +RUN apt-get clean && apt-get update --allow-insecure-repositories && \ + DEBIAN_FRONTEND="noninteractive" apt-get -y install \ + python3 \ + python3-pip \ + python3-dev \ + python3-setuptools \ + python3-wheel \ + python3-venv \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt /app/code/requirements.txt +RUN pip3 install -r /app/code/requirements.txt --break-system-packages + +COPY . /app/code + +CMD ["bash", "/app/code/docker-entrypoint.sh"] \ No newline at end of file diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..07d3be4 --- /dev/null +++ b/Pipfile @@ -0,0 +1,17 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +grpcio = "==1.60.0" +grpcio-tools = "==1.60.0" +numpy = "==1.26.3" +protobuf = "==4.25.2" +pyrusgeom = "==0.1.2" +scipy = "==1.11.4" + +[dev-packages] + +[requires] +python_version = "3.11" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..1d3f177 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,253 @@ +{ + "_meta": { + "hash": { + "sha256": "09d831a7eb77810fff840228b2dc2cc863540a48de3011f0489f945e08839f29" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.11" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "grpcio": { + "hashes": [ + "sha256:073f959c6f570797272f4ee9464a9997eaf1e98c27cb680225b82b53390d61e6", + "sha256:0fd3b3968ffe7643144580f260f04d39d869fcc2cddb745deef078b09fd2b328", + "sha256:1434ca77d6fed4ea312901122dc8da6c4389738bf5788f43efb19a838ac03ead", + "sha256:1c30bb23a41df95109db130a6cc1b974844300ae2e5d68dd4947aacba5985aa5", + "sha256:20e7a4f7ded59097c84059d28230907cd97130fa74f4a8bfd1d8e5ba18c81491", + "sha256:2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96", + "sha256:297eef542156d6b15174a1231c2493ea9ea54af8d016b8ca7d5d9cc65cfcc444", + "sha256:2aef56e85901c2397bd557c5ba514f84de1f0ae5dd132f5d5fed042858115951", + "sha256:30943b9530fe3620e3b195c03130396cd0ee3a0d10a66c1bee715d1819001eaf", + "sha256:3b36a2c6d4920ba88fa98075fdd58ff94ebeb8acc1215ae07d01a418af4c0253", + "sha256:428d699c8553c27e98f4d29fdc0f0edc50e9a8a7590bfd294d2edb0da7be3629", + "sha256:43e636dc2ce9ece583b3e2ca41df5c983f4302eabc6d5f9cd04f0562ee8ec1ae", + "sha256:452ca5b4afed30e7274445dd9b441a35ece656ec1600b77fff8c216fdf07df43", + "sha256:467a7d31554892eed2aa6c2d47ded1079fc40ea0b9601d9f79204afa8902274b", + "sha256:4b44d7e39964e808b071714666a812049765b26b3ea48c4434a3b317bac82f14", + "sha256:4c86343cf9ff7b2514dd229bdd88ebba760bd8973dac192ae687ff75e39ebfab", + "sha256:5208a57eae445ae84a219dfd8b56e04313445d146873117b5fa75f3245bc1390", + "sha256:5ff21e000ff2f658430bde5288cb1ac440ff15c0d7d18b5fb222f941b46cb0d2", + "sha256:675997222f2e2f22928fbba640824aebd43791116034f62006e19730715166c0", + "sha256:676e4a44e740deaba0f4d95ba1d8c5c89a2fcc43d02c39f69450b1fa19d39590", + "sha256:6e306b97966369b889985a562ede9d99180def39ad42c8014628dd3cc343f508", + "sha256:6fd9584bf1bccdfff1512719316efa77be235469e1e3295dce64538c4773840b", + "sha256:705a68a973c4c76db5d369ed573fec3367d7d196673fa86614b33d8c8e9ebb08", + "sha256:74d7d9fa97809c5b892449b28a65ec2bfa458a4735ddad46074f9f7d9550ad13", + "sha256:77c8a317f0fd5a0a2be8ed5cbe5341537d5c00bb79b3bb27ba7c5378ba77dbca", + "sha256:79a050889eb8d57a93ed21d9585bb63fca881666fc709f5d9f7f9372f5e7fd03", + "sha256:7db16dd4ea1b05ada504f08d0dca1cd9b926bed3770f50e715d087c6f00ad748", + "sha256:83f2292ae292ed5a47cdcb9821039ca8e88902923198f2193f13959360c01860", + "sha256:87c9224acba0ad8bacddf427a1c2772e17ce50b3042a789547af27099c5f751d", + "sha256:8a97a681e82bc11a42d4372fe57898d270a2707f36c45c6676e49ce0d5c41353", + "sha256:9073513ec380434eb8d21970e1ab3161041de121f4018bbed3146839451a6d8e", + "sha256:90bdd76b3f04bdb21de5398b8a7c629676c81dfac290f5f19883857e9371d28c", + "sha256:91229d7203f1ef0ab420c9b53fe2ca5c1fbeb34f69b3bc1b5089466237a4a134", + "sha256:92f88ca1b956eb8427a11bb8b4a0c0b2b03377235fc5102cb05e533b8693a415", + "sha256:95ae3e8e2c1b9bf671817f86f155c5da7d49a2289c5cf27a319458c3e025c320", + "sha256:9e30be89a75ee66aec7f9e60086fadb37ff8c0ba49a022887c28c134341f7179", + "sha256:a48edde788b99214613e440fce495bbe2b1e142a7f214cce9e0832146c41e324", + "sha256:a7152fa6e597c20cb97923407cf0934e14224af42c2b8d915f48bc3ad2d9ac18", + "sha256:a9c7b71211f066908e518a2ef7a5e211670761651039f0d6a80d8d40054047df", + "sha256:b0571a5aef36ba9177e262dc88a9240c866d903a62799e44fd4aae3f9a2ec17e", + "sha256:b0fb2d4801546598ac5cd18e3ec79c1a9af8b8f2a86283c55a5337c5aeca4b1b", + "sha256:b10241250cb77657ab315270b064a6c7f1add58af94befa20687e7c8d8603ae6", + "sha256:b87efe4a380887425bb15f220079aa8336276398dc33fce38c64d278164f963d", + "sha256:b98f43fcdb16172dec5f4b49f2fece4b16a99fd284d81c6bbac1b3b69fcbe0ff", + "sha256:c193109ca4070cdcaa6eff00fdb5a56233dc7610216d58fb81638f89f02e4968", + "sha256:c826f93050c73e7769806f92e601e0efdb83ec8d7c76ddf45d514fee54e8e619", + "sha256:d020cfa595d1f8f5c6b343530cd3ca16ae5aefdd1e832b777f9f0eb105f5b139", + "sha256:d6a478581b1a1a8fdf3318ecb5f4d0cda41cacdffe2b527c23707c9c1b8fdb55", + "sha256:de2ad69c9a094bf37c1102b5744c9aec6cf74d2b635558b779085d0263166454", + "sha256:e278eafb406f7e1b1b637c2cf51d3ad45883bb5bd1ca56bc05e4fc135dfdaa65", + "sha256:e381fe0c2aa6c03b056ad8f52f8efca7be29fb4d9ae2f8873520843b6039612a", + "sha256:e61e76020e0c332a98290323ecfec721c9544f5b739fab925b6e8cbe1944cf19", + "sha256:f897c3b127532e6befdcf961c415c97f320d45614daf84deba0a54e64ea2457b", + "sha256:fb464479934778d7cc5baf463d959d361954d6533ad34c3a4f1d267e86ee25fd" + ], + "index": "pypi", + "markers": "python_version >= '3.7'", + "version": "==1.60.0" + }, + "grpcio-tools": { + "hashes": [ + "sha256:081336d8258f1a56542aa8a7a5dec99a2b38d902e19fbdd744594783301b0210", + "sha256:1748893efd05cf4a59a175d7fa1e4fbb652f4d84ccaa2109f7869a2be48ed25e", + "sha256:17a32b3da4fc0798cdcec0a9c974ac2a1e98298f151517bf9148294a3b1a5742", + "sha256:18976684a931ca4bcba65c78afa778683aefaae310f353e198b1823bf09775a0", + "sha256:1b93ae8ffd18e9af9a965ebca5fa521e89066267de7abdde20721edc04e42721", + "sha256:1fbb9554466d560472f07d906bfc8dcaf52f365c2a407015185993e30372a886", + "sha256:24c4ead4a03037beaeb8ef2c90d13d70101e35c9fae057337ed1a9144ef10b53", + "sha256:2a8a758701f3ac07ed85f5a4284c6a9ddefcab7913a8e552497f919349e72438", + "sha256:2dd01257e4feff986d256fa0bac9f56de59dc735eceeeb83de1c126e2e91f653", + "sha256:2e00de389729ca8d8d1a63c2038703078a887ff738dc31be640b7da9c26d0d4f", + "sha256:2fb4cf74bfe1e707cf10bc9dd38a1ebaa145179453d150febb121c7e9cd749bf", + "sha256:2fd1671c52f96e79a2302c8b1c1f78b8a561664b8b3d6946f20d8f1cc6b4225a", + "sha256:321b18f42a70813545e416ddcb8bf20defa407a8114906711c9710a69596ceda", + "sha256:3456df087ea61a0972a5bc165aed132ed6ddcc63f5749e572f9fff84540bdbad", + "sha256:4041538f55aad5b3ae7e25ab314d7995d689e968bfc8aa169d939a3160b1e4c6", + "sha256:559ce714fe212aaf4abbe1493c5bb8920def00cc77ce0d45266f4fd9d8b3166f", + "sha256:5a907a4f1ffba86501b2cdb8682346249ea032b922fc69a92f082ba045cca548", + "sha256:5ce6bbd4936977ec1114f2903eb4342781960d521b0d82f73afedb9335251f6f", + "sha256:6170873b1e5b6580ebb99e87fb6e4ea4c48785b910bd7af838cc6e44b2bccb04", + "sha256:6192184b1f99372ff1d9594bd4b12264e3ff26440daba7eb043726785200ff77", + "sha256:6807b7a3f3e6e594566100bd7fe04a2c42ce6d5792652677f1aaf5aa5adaef3d", + "sha256:687f576d7ff6ce483bc9a196d1ceac45144e8733b953620a026daed8e450bc38", + "sha256:74025fdd6d1cb7ba4b5d087995339e9a09f0c16cf15dfe56368b23e41ffeaf7a", + "sha256:7a5263a0f2ddb7b1cfb2349e392cfc4f318722e0f48f886393e06946875d40f3", + "sha256:7a6fe752205caae534f29fba907e2f59ff79aa42c6205ce9a467e9406cbac68c", + "sha256:7c1cde49631732356cb916ee1710507967f19913565ed5f9991e6c9cb37e3887", + "sha256:811abb9c4fb6679e0058dfa123fb065d97b158b71959c0e048e7972bbb82ba0f", + "sha256:857c5351e9dc33a019700e171163f94fcc7e3ae0f6d2b026b10fda1e3c008ef1", + "sha256:87cf439178f3eb45c1a889b2e4a17cbb4c450230d92c18d9c57e11271e239c55", + "sha256:9970d384fb0c084b00945ef57d98d57a8d32be106d8f0bd31387f7cbfe411b5b", + "sha256:9ee35234f1da8fba7ddbc544856ff588243f1128ea778d7a1da3039be829a134", + "sha256:addc9b23d6ff729d9f83d4a2846292d4c84f5eb2ec38f08489a6a0d66ac2b91e", + "sha256:b22b1299b666eebd5752ba7719da536075eae3053abcf2898b65f763c314d9da", + "sha256:b8f7a5094adb49e85db13ea3df5d99a976c2bdfd83b0ba26af20ebb742ac6786", + "sha256:b96981f3a31b85074b73d97c8234a5ed9053d65a36b18f4a9c45a2120a5b7a0a", + "sha256:bbf0ed772d2ae7e8e5d7281fcc00123923ab130b94f7a843eee9af405918f924", + "sha256:bd2a17b0193fbe4793c215d63ce1e01ae00a8183d81d7c04e77e1dfafc4b2b8a", + "sha256:c771b19dce2bfe06899247168c077d7ab4e273f6655d8174834f9a6034415096", + "sha256:d941749bd8dc3f8be58fe37183143412a27bec3df8482d5abd6b4ec3f1ac2924", + "sha256:dba6e32c87b4af29b5f475fb2f470f7ee3140bfc128644f17c6c59ddeb670680", + "sha256:dd1e68c232fe01dd5312a8dbe52c50ecd2b5991d517d7f7446af4ba6334ba872", + "sha256:e5614cf0960456d21d8a0f4902e3e5e3bcacc4e400bf22f196e5dd8aabb978b7", + "sha256:e5c519a0d4ba1ab44a004fa144089738c59278233e2010b2cf4527dc667ff297", + "sha256:e68dc4474f30cad11a965f0eb5d37720a032b4720afa0ec19dbcea2de73b5aae", + "sha256:e70d867c120d9849093b0ac24d861e378bc88af2552e743d83b9f642d2caa7c2", + "sha256:e87cabac7969bdde309575edc2456357667a1b28262b2c1f12580ef48315b19d", + "sha256:eae27f9b16238e2aaee84c77b5923c6924d6dccb0bdd18435bf42acc8473ae1a", + "sha256:ec0e401e9a43d927d216d5169b03c61163fb52b665c5af2fed851357b15aef88", + "sha256:ed30499340228d733ff69fcf4a66590ed7921f94eb5a2bf692258b1280b9dac7", + "sha256:f10ef47460ce3c6fd400f05fe757b90df63486c9b84d1ecad42dcc5f80c8ac14", + "sha256:f3d916606dcf5610d4367918245b3d9d8cd0d2ec0b7043d1bbb8c50fe9815c3a", + "sha256:f610384dee4b1ca705e8da66c5b5fe89a2de3d165c5282c3d1ddf40cb18924e4", + "sha256:fb4df80868b3e397d5fbccc004c789d2668b622b51a9d2387b4c89c80d31e2c5", + "sha256:fc01bc1079279ec342f0f1b6a107b3f5dc3169c33369cf96ada6e2e171f74e86" + ], + "index": "pypi", + "markers": "python_version >= '3.7'", + "version": "==1.60.0" + }, + "numpy": { + "hashes": [ + "sha256:02f98011ba4ab17f46f80f7f8f1c291ee7d855fcef0a5a98db80767a468c85cd", + "sha256:0b7e807d6888da0db6e7e75838444d62495e2b588b99e90dd80c3459594e857b", + "sha256:12c70ac274b32bc00c7f61b515126c9205323703abb99cd41836e8125ea0043e", + "sha256:1666f634cb3c80ccbd77ec97bc17337718f56d6658acf5d3b906ca03e90ce87f", + "sha256:18c3319a7d39b2c6a9e3bb75aab2304ab79a811ac0168a671a62e6346c29b03f", + "sha256:211ddd1e94817ed2d175b60b6374120244a4dd2287f4ece45d49228b4d529178", + "sha256:21a9484e75ad018974a2fdaa216524d64ed4212e418e0a551a2d83403b0531d3", + "sha256:39763aee6dfdd4878032361b30b2b12593fb445ddb66bbac802e2113eb8a6ac4", + "sha256:3c67423b3703f8fbd90f5adaa37f85b5794d3366948efe9a5190a5f3a83fc34e", + "sha256:46f47ee566d98849323f01b349d58f2557f02167ee301e5e28809a8c0e27a2d0", + "sha256:51c7f1b344f302067b02e0f5b5d2daa9ed4a721cf49f070280ac202738ea7f00", + "sha256:5f24750ef94d56ce6e33e4019a8a4d68cfdb1ef661a52cdaee628a56d2437419", + "sha256:697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4", + "sha256:6d45b3ec2faed4baca41c76617fcdcfa4f684ff7a151ce6fc78ad3b6e85af0a6", + "sha256:77810ef29e0fb1d289d225cabb9ee6cf4d11978a00bb99f7f8ec2132a84e0166", + "sha256:7ca4f24341df071877849eb2034948459ce3a07915c2734f1abb4018d9c49d7b", + "sha256:7f784e13e598e9594750b2ef6729bcd5a47f6cfe4a12cca13def35e06d8163e3", + "sha256:806dd64230dbbfaca8a27faa64e2f414bf1c6622ab78cc4264f7f5f028fee3bf", + "sha256:867e3644e208c8922a3be26fc6bbf112a035f50f0a86497f98f228c50c607bb2", + "sha256:8c66d6fec467e8c0f975818c1796d25c53521124b7cfb760114be0abad53a0a2", + "sha256:8ed07a90f5450d99dad60d3799f9c03c6566709bd53b497eb9ccad9a55867f36", + "sha256:9bc6d1a7f8cedd519c4b7b1156d98e051b726bf160715b769106661d567b3f03", + "sha256:9e1591f6ae98bcfac2a4bbf9221c0b92ab49762228f38287f6eeb5f3f55905ce", + "sha256:9e87562b91f68dd8b1c39149d0323b42e0082db7ddb8e934ab4c292094d575d6", + "sha256:a7081fd19a6d573e1a05e600c82a1c421011db7935ed0d5c483e9dd96b99cf13", + "sha256:a8474703bffc65ca15853d5fd4d06b18138ae90c17c8d12169968e998e448bb5", + "sha256:af36e0aa45e25c9f57bf684b1175e59ea05d9a7d3e8e87b7ae1a1da246f2767e", + "sha256:b1240f767f69d7c4c8a29adde2310b871153df9b26b5cb2b54a561ac85146485", + "sha256:b4d362e17bcb0011738c2d83e0a65ea8ce627057b2fdda37678f4374a382a137", + "sha256:b831295e5472954104ecb46cd98c08b98b49c69fdb7040483aff799a755a7374", + "sha256:b8c275f0ae90069496068c714387b4a0eba5d531aace269559ff2b43655edd58", + "sha256:bdd2b45bf079d9ad90377048e2747a0c82351989a2165821f0c96831b4a2a54b", + "sha256:cc0743f0302b94f397a4a65a660d4cd24267439eb16493fb3caad2e4389bccbb", + "sha256:da4b0c6c699a0ad73c810736303f7fbae483bcb012e38d7eb06a5e3b432c981b", + "sha256:f25e2811a9c932e43943a2615e65fc487a0b6b49218899e62e426e7f0a57eeda", + "sha256:f73497e8c38295aaa4741bdfa4fda1a5aedda5473074369eca10626835445511" + ], + "index": "pypi", + "markers": "python_version >= '3.9'", + "version": "==1.26.3" + }, + "protobuf": { + "hashes": [ + "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62", + "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d", + "sha256:33a1aeef4b1927431d1be780e87b641e322b88d654203a9e9d93f218ee359e61", + "sha256:47f3de503fe7c1245f6f03bea7e8d3ec11c6c4a2ea9ef910e3221c8a15516d62", + "sha256:5e5c933b4c30a988b52e0b7c02641760a5ba046edc5e43d3b94a74c9fc57c1b3", + "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9", + "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830", + "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6", + "sha256:d66a769b8d687df9024f2985d5137a337f957a0916cf5464d1513eee96a63ff0", + "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020", + "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e" + ], + "index": "pypi", + "markers": "python_version >= '3.8'", + "version": "==4.25.2" + }, + "pyrusgeom": { + "hashes": [ + "sha256:3379b0bced81de98aae795ecc412ebfabbccac67f4073f597f8429c5f8969840", + "sha256:9a4d389fcc7bbd7cd1a9a80b87bd3bd003491ed0ac9fc895c712d1a7849990a6" + ], + "index": "pypi", + "markers": "python_version >= '3.7'", + "version": "==0.1.2" + }, + "scipy": { + "hashes": [ + "sha256:00150c5eae7b610c32589dda259eacc7c4f1665aedf25d921907f4d08a951b1c", + "sha256:028eccd22e654b3ea01ee63705681ee79933652b2d8f873e7949898dda6d11b6", + "sha256:1b7c3dca977f30a739e0409fb001056484661cb2541a01aba0bb0029f7b68db8", + "sha256:2c6ff6ef9cc27f9b3db93a6f8b38f97387e6e0591600369a297a50a8e96e835d", + "sha256:36750b7733d960d7994888f0d148d31ea3017ac15eef664194b4ef68d36a4a97", + "sha256:530f9ad26440e85766509dbf78edcfe13ffd0ab7fec2560ee5c36ff74d6269ff", + "sha256:5e347b14fe01003d3b78e196e84bd3f48ffe4c8a7b8a1afbcb8f5505cb710993", + "sha256:6550466fbeec7453d7465e74d4f4b19f905642c89a7525571ee91dd7adabb5a3", + "sha256:6df1468153a31cf55ed5ed39647279beb9cfb5d3f84369453b49e4b8502394fd", + "sha256:6e619aba2df228a9b34718efb023966da781e89dd3d21637b27f2e54db0410d7", + "sha256:8fce70f39076a5aa62e92e69a7f62349f9574d8405c0a5de6ed3ef72de07f446", + "sha256:90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa", + "sha256:91af76a68eeae0064887a48e25c4e616fa519fa0d38602eda7e0f97d65d57937", + "sha256:933baf588daa8dc9a92c20a0be32f56d43faf3d1a60ab11b3f08c356430f6e56", + "sha256:acf8ed278cc03f5aff035e69cb511741e0418681d25fbbb86ca65429c4f4d9cd", + "sha256:ad669df80528aeca5f557712102538f4f37e503f0c5b9541655016dd0932ca79", + "sha256:b030c6674b9230d37c5c60ab456e2cf12f6784596d15ce8da9365e70896effc4", + "sha256:b9999c008ccf00e8fbcce1236f85ade5c569d13144f77a1946bef8863e8f6eb4", + "sha256:bc9a714581f561af0848e6b69947fda0614915f072dfd14142ed1bfe1b806710", + "sha256:ce7fff2e23ab2cc81ff452a9444c215c28e6305f396b2ba88343a567feec9660", + "sha256:cf00bd2b1b0211888d4dc75656c0412213a8b25e80d73898083f402b50f47e41", + "sha256:d10e45a6c50211fe256da61a11c34927c68f277e03138777bdebedd933712fea", + "sha256:ee410e6de8f88fd5cf6eadd73c135020bfbbbdfcd0f6162c36a7638a1ea8cc65", + "sha256:f313b39a7e94f296025e3cffc2c567618174c0b1dde173960cf23808f9fae4be", + "sha256:f3cd9e7b3c2c1ec26364856f9fbe78695fe631150f94cd1c22228456404cf1ec" + ], + "index": "pypi", + "markers": "python_version >= '3.9'", + "version": "==1.11.4" + }, + "setuptools": { + "hashes": [ + "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", + "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78" + ], + "markers": "python_version >= '3.8'", + "version": "==69.0.3" + } + }, + "develop": {} +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..fef3a31 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# SS2D-GRPC-SERVER-PYTHON EXAMPLE +This repository contains an example of a gRPC server soccer simulation agent in python. + +## Development + +run this command to test the server +```bash +docker-compose up +``` \ No newline at end of file diff --git a/SoccerSimulationProxyBin/bin/coach.conf b/SoccerSimulationProxyBin/bin/coach.conf new file mode 100755 index 0000000..8b55edc --- /dev/null +++ b/SoccerSimulationProxyBin/bin/coach.conf @@ -0,0 +1,45 @@ +# coach agent configuration file + +team_name : HELIOS_base +version : 18 + +coach_name : Coach_base +use_coach_name : off + +interval_msec : 50 +server_wait_seconds : 5 + +host : localhost +port : 6002 + +use_eye : on +hear_say : on + +#use_hetero : on +#use_advice : on +#use_freeform : on + +#use_team_graphic : off +#max_team_graphic_per_cycle : 32 + +debug_system +debug_sensor +debug_world +debug_action +debug_intercept +debug_kick +debug_hold +debug_dribble +debug_pass +debug_cross +debug_shoot +debug_clear +debug_block +debug_mark +debug_positioning +debug_role +debug_plan +debug_team +debug_communication +debug_analyzer +debug_action_chain diff --git a/SoccerSimulationProxyBin/bin/formations-dt/before-kick-off.conf b/SoccerSimulationProxyBin/bin/formations-dt/before-kick-off.conf new file mode 100644 index 0000000..dad0ec2 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/before-kick-off.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -25.00, "y" : -5.00 }, + "3" : { "x" : -25.00, "y" : 5.00 }, + "4" : { "x" : -25.00, "y" : -10.00 }, + "5" : { "x" : -25.00, "y" : 10.00 }, + "6" : { "x" : -25.00, "y" : 0.00 }, + "7" : { "x" : -15.00, "y" : -5.00 }, + "8" : { "x" : -15.00, "y" : 5.00 }, + "9" : { "x" : -15.00, "y" : -10.00 }, + "10" : { "x" : -15.00, "y" : 10.00 }, + "11" : { "x" : -15.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/defense-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/defense-formation.conf new file mode 100644 index 0000000..ac1e9d9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/defense-formation.conf @@ -0,0 +1,1810 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 4.90, "y" : -27.30 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 27.43, "y" : -16.50 }, + "7" : { "x" : 33.12, "y" : -27.00 }, + "8" : { "x" : 38.22, "y" : -3.50 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 46.00, "y" : 6.80 }, + "11" : { "x" : 46.28, "y" : -14.00 } + }, + { + "index" : 1, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 4.90, "y" : 27.30 }, + "6" : { "x" : 27.43, "y" : 16.50 }, + "7" : { "x" : 38.22, "y" : 3.50 }, + "8" : { "x" : 33.12, "y" : 27.00 }, + "9" : { "x" : 46.00, "y" : -6.80 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 46.28, "y" : 14.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.53, "y" : -5.42 }, + "3" : { "x" : -15.53, "y" : 5.42 }, + "4" : { "x" : -11.56, "y" : -15.78 }, + "5" : { "x" : -11.56, "y" : 15.78 }, + "6" : { "x" : -6.73, "y" : -1.87 }, + "7" : { "x" : 2.83, "y" : -10.81 }, + "8" : { "x" : 2.83, "y" : 10.81 }, + "9" : { "x" : 9.30, "y" : -23.78 }, + "10" : { "x" : 9.30, "y" : 23.78 }, + "11" : { "x" : 9.41, "y" : -3.12 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -6.07 }, + "3" : { "x" : 2.74, "y" : 6.07 }, + "4" : { "x" : 7.21, "y" : -18.58 }, + "5" : { "x" : 7.21, "y" : 18.58 }, + "6" : { "x" : 26.86, "y" : -3.20 }, + "7" : { "x" : 40.73, "y" : -3.77 }, + "8" : { "x" : 40.73, "y" : 3.77 }, + "9" : { "x" : 48.97, "y" : -9.82 }, + "10" : { "x" : 48.97, "y" : 9.82 }, + "11" : { "x" : 45.60, "y" : -1.65 } + }, + { + "index" : 4, + "ball" : { "x" : 36.57, "y" : -12.09 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.25, "y" : -9.96 }, + "3" : { "x" : 0.52, "y" : 3.20 }, + "4" : { "x" : 5.09, "y" : -23.21 }, + "5" : { "x" : 7.36, "y" : 15.67 }, + "6" : { "x" : 18.98, "y" : -7.30 }, + "7" : { "x" : 27.73, "y" : -14.57 }, + "8" : { "x" : 32.40, "y" : 1.86 }, + "9" : { "x" : 39.17, "y" : -19.85 }, + "10" : { "x" : 42.41, "y" : 10.78 }, + "11" : { "x" : 38.10, "y" : -8.45 } + }, + { + "index" : 5, + "ball" : { "x" : 36.57, "y" : 12.09 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.52, "y" : -3.20 }, + "3" : { "x" : -1.25, "y" : 9.96 }, + "4" : { "x" : 7.36, "y" : -15.67 }, + "5" : { "x" : 5.09, "y" : 23.21 }, + "6" : { "x" : 18.98, "y" : 7.30 }, + "7" : { "x" : 32.40, "y" : -1.86 }, + "8" : { "x" : 27.73, "y" : 14.57 }, + "9" : { "x" : 42.41, "y" : -10.78 }, + "10" : { "x" : 39.17, "y" : 19.85 }, + "11" : { "x" : 38.10, "y" : 8.45 } + }, + { + "index" : 6, + "ball" : { "x" : 48.51, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.51, "y" : -10.77 }, + "3" : { "x" : 3.07, "y" : 3.38 }, + "4" : { "x" : 2.27, "y" : -23.46 }, + "5" : { "x" : 12.83, "y" : 13.63 }, + "6" : { "x" : 25.20, "y" : -9.33 }, + "7" : { "x" : 34.83, "y" : -14.95 }, + "8" : { "x" : 39.34, "y" : -1.01 }, + "9" : { "x" : 45.03, "y" : -20.81 }, + "10" : { "x" : 46.88, "y" : 6.76 }, + "11" : { "x" : 43.86, "y" : -8.86 } + }, + { + "index" : 7, + "ball" : { "x" : 48.51, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.07, "y" : -3.38 }, + "3" : { "x" : 0.51, "y" : 10.77 }, + "4" : { "x" : 12.83, "y" : -13.63 }, + "5" : { "x" : 2.27, "y" : 23.46 }, + "6" : { "x" : 25.20, "y" : 9.33 }, + "7" : { "x" : 39.34, "y" : 1.01 }, + "8" : { "x" : 34.83, "y" : 14.95 }, + "9" : { "x" : 46.88, "y" : -6.76 }, + "10" : { "x" : 45.03, "y" : 20.81 }, + "11" : { "x" : 43.86, "y" : 8.86 } + }, + { + "index" : 8, + "ball" : { "x" : 42.76, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.98, "y" : -5.97 }, + "3" : { "x" : 0.98, "y" : 5.97 }, + "4" : { "x" : 6.85, "y" : -19.24 }, + "5" : { "x" : 6.85, "y" : 19.24 }, + "6" : { "x" : 21.77, "y" : -2.76 }, + "7" : { "x" : 35.57, "y" : -5.84 }, + "8" : { "x" : 35.57, "y" : 5.84 }, + "9" : { "x" : 44.37, "y" : -9.81 }, + "10" : { "x" : 44.37, "y" : 9.81 }, + "11" : { "x" : 40.72, "y" : -2.36 } + }, + { + "index" : 9, + "ball" : { "x" : 48.66, "y" : -5.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.54, "y" : -7.25 }, + "3" : { "x" : 2.33, "y" : 5.02 }, + "4" : { "x" : 6.06, "y" : -20.44 }, + "5" : { "x" : 8.38, "y" : 17.49 }, + "6" : { "x" : 24.70, "y" : -4.89 }, + "7" : { "x" : 37.70, "y" : -7.40 }, + "8" : { "x" : 39.20, "y" : 2.37 }, + "9" : { "x" : 46.09, "y" : -15.60 }, + "10" : { "x" : 46.80, "y" : 0.42 }, + "11" : { "x" : 43.57, "y" : -4.31 } + }, + { + "index" : 10, + "ball" : { "x" : 48.66, "y" : 5.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.33, "y" : -5.02 }, + "3" : { "x" : 1.54, "y" : 7.25 }, + "4" : { "x" : 8.38, "y" : -17.49 }, + "5" : { "x" : 6.06, "y" : 20.44 }, + "6" : { "x" : 24.70, "y" : 4.89 }, + "7" : { "x" : 39.20, "y" : -2.37 }, + "8" : { "x" : 37.70, "y" : 7.40 }, + "9" : { "x" : 46.80, "y" : -0.42 }, + "10" : { "x" : 46.09, "y" : 15.60 }, + "11" : { "x" : 43.57, "y" : 4.31 } + }, + { + "index" : 11, + "ball" : { "x" : 50.57, "y" : -6.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.66, "y" : -7.71 }, + "3" : { "x" : 2.75, "y" : 4.77 }, + "4" : { "x" : 5.36, "y" : -20.80 }, + "5" : { "x" : 9.23, "y" : 16.82 }, + "6" : { "x" : 25.62, "y" : -5.67 }, + "7" : { "x" : 38.20, "y" : -8.13 }, + "8" : { "x" : 40.06, "y" : 1.43 }, + "9" : { "x" : 47.00, "y" : -17.67 }, + "10" : { "x" : 47.39, "y" : -0.36 }, + "11" : { "x" : 44.40, "y" : -4.93 } + }, + { + "index" : 12, + "ball" : { "x" : 50.57, "y" : 6.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.75, "y" : -4.77 }, + "3" : { "x" : 1.66, "y" : 7.71 }, + "4" : { "x" : 9.23, "y" : -16.82 }, + "5" : { "x" : 5.36, "y" : 20.80 }, + "6" : { "x" : 25.62, "y" : 5.67 }, + "7" : { "x" : 40.06, "y" : -1.43 }, + "8" : { "x" : 38.20, "y" : 8.13 }, + "9" : { "x" : 47.39, "y" : 0.36 }, + "10" : { "x" : 47.00, "y" : 17.67 }, + "11" : { "x" : 44.40, "y" : 4.93 } + }, + { + "index" : 13, + "ball" : { "x" : 52.49, "y" : -17.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.95, "y" : -10.96 }, + "3" : { "x" : 3.74, "y" : 3.50 }, + "4" : { "x" : 0.75, "y" : -23.35 }, + "5" : { "x" : 14.73, "y" : 12.86 }, + "6" : { "x" : 27.02, "y" : -9.99 }, + "7" : { "x" : 36.71, "y" : -15.30 }, + "8" : { "x" : 40.72, "y" : -1.59 }, + "9" : { "x" : 47.62, "y" : -24.13 }, + "10" : { "x" : 47.64, "y" : 7.59 }, + "11" : { "x" : 45.39, "y" : -8.87 } + }, + { + "index" : 14, + "ball" : { "x" : 52.49, "y" : 17.10 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.74, "y" : -3.50 }, + "3" : { "x" : 0.95, "y" : 10.96 }, + "4" : { "x" : 14.73, "y" : -12.86 }, + "5" : { "x" : 0.75, "y" : 23.35 }, + "6" : { "x" : 27.02, "y" : 9.99 }, + "7" : { "x" : 40.72, "y" : 1.59 }, + "8" : { "x" : 36.71, "y" : 15.30 }, + "9" : { "x" : 47.64, "y" : -7.59 }, + "10" : { "x" : 47.62, "y" : 24.13 }, + "11" : { "x" : 45.39, "y" : 8.87 } + }, + { + "index" : 15, + "ball" : { "x" : 52.49, "y" : -7.96 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -7.99 }, + "3" : { "x" : 3.10, "y" : 4.66 }, + "4" : { "x" : 4.65, "y" : -20.95 }, + "5" : { "x" : 10.02, "y" : 16.31 }, + "6" : { "x" : 26.49, "y" : -6.22 }, + "7" : { "x" : 38.78, "y" : -8.58 }, + "8" : { "x" : 40.75, "y" : 0.80 }, + "9" : { "x" : 48.07, "y" : -19.82 }, + "10" : { "x" : 47.99, "y" : 0.19 }, + "11" : { "x" : 45.16, "y" : -5.26 } + }, + { + "index" : 16, + "ball" : { "x" : 52.49, "y" : 7.96 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.10, "y" : -4.66 }, + "3" : { "x" : 1.82, "y" : 7.99 }, + "4" : { "x" : 10.02, "y" : -16.31 }, + "5" : { "x" : 4.65, "y" : 20.95 }, + "6" : { "x" : 26.49, "y" : 6.22 }, + "7" : { "x" : 40.75, "y" : -0.80 }, + "8" : { "x" : 38.78, "y" : 8.58 }, + "9" : { "x" : 47.99, "y" : -0.19 }, + "10" : { "x" : 48.07, "y" : 19.82 }, + "11" : { "x" : 45.16, "y" : 5.26 } + }, + { + "index" : 17, + "ball" : { "x" : 49.25, "y" : -9.29 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.25, "y" : -8.48 }, + "3" : { "x" : 2.73, "y" : 4.33 }, + "4" : { "x" : 4.73, "y" : -21.62 }, + "5" : { "x" : 9.92, "y" : 16.07 }, + "6" : { "x" : 25.18, "y" : -6.62 }, + "7" : { "x" : 37.01, "y" : -10.02 }, + "8" : { "x" : 39.69, "y" : 0.74 }, + "9" : { "x" : 46.18, "y" : -17.93 }, + "10" : { "x" : 47.11, "y" : 1.01 }, + "11" : { "x" : 43.96, "y" : -6.11 } + }, + { + "index" : 18, + "ball" : { "x" : 49.25, "y" : 9.29 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.73, "y" : -4.33 }, + "3" : { "x" : 1.25, "y" : 8.48 }, + "4" : { "x" : 9.92, "y" : -16.07 }, + "5" : { "x" : 4.73, "y" : 21.62 }, + "6" : { "x" : 25.18, "y" : 6.62 }, + "7" : { "x" : 39.69, "y" : -0.74 }, + "8" : { "x" : 37.01, "y" : 10.02 }, + "9" : { "x" : 47.11, "y" : -1.01 }, + "10" : { "x" : 46.18, "y" : 17.93 }, + "11" : { "x" : 43.96, "y" : 6.11 } + }, + { + "index" : 19, + "ball" : { "x" : 46.74, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.62, "y" : -6.08 }, + "3" : { "x" : 1.62, "y" : 6.08 }, + "4" : { "x" : 7.10, "y" : -19.05 }, + "5" : { "x" : 7.10, "y" : 19.05 }, + "6" : { "x" : 23.75, "y" : -0.90 }, + "7" : { "x" : 37.73, "y" : -4.99 }, + "8" : { "x" : 37.73, "y" : 4.99 }, + "9" : { "x" : 45.70, "y" : -9.75 }, + "10" : { "x" : 45.70, "y" : 9.75 }, + "11" : { "x" : 42.56, "y" : -2.13 } + }, + { + "index" : 20, + "ball" : { "x" : 42.61, "y" : -5.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.50, "y" : -7.52 }, + "3" : { "x" : 1.36, "y" : 4.72 }, + "4" : { "x" : 6.18, "y" : -20.97 }, + "5" : { "x" : 7.57, "y" : 17.56 }, + "6" : { "x" : 21.91, "y" : -4.90 }, + "7" : { "x" : 34.21, "y" : -9.06 }, + "8" : { "x" : 36.27, "y" : 3.21 }, + "9" : { "x" : 43.47, "y" : -15.10 }, + "10" : { "x" : 45.41, "y" : 2.80 }, + "11" : { "x" : 40.91, "y" : -5.04 } + }, + { + "index" : 21, + "ball" : { "x" : 42.61, "y" : 5.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.36, "y" : -4.72 }, + "3" : { "x" : 0.50, "y" : 7.52 }, + "4" : { "x" : 7.57, "y" : -17.56 }, + "5" : { "x" : 6.18, "y" : 20.97 }, + "6" : { "x" : 21.91, "y" : 4.90 }, + "7" : { "x" : 36.27, "y" : -3.21 }, + "8" : { "x" : 34.21, "y" : 9.06 }, + "9" : { "x" : 45.41, "y" : -2.80 }, + "10" : { "x" : 43.47, "y" : 15.10 }, + "11" : { "x" : 40.91, "y" : 5.04 } + }, + { + "index" : 22, + "ball" : { "x" : 45.86, "y" : -3.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.23, "y" : -6.89 }, + "3" : { "x" : 1.78, "y" : 5.23 }, + "4" : { "x" : 6.49, "y" : -20.18 }, + "5" : { "x" : 7.68, "y" : 18.07 }, + "6" : { "x" : 23.37, "y" : -4.21 }, + "7" : { "x" : 36.61, "y" : -7.09 }, + "8" : { "x" : 37.80, "y" : 3.47 }, + "9" : { "x" : 45.04, "y" : -13.82 }, + "10" : { "x" : 45.96, "y" : 2.43 }, + "11" : { "x" : 42.32, "y" : -3.85 } + }, + { + "index" : 23, + "ball" : { "x" : 45.86, "y" : 3.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.78, "y" : -5.23 }, + "3" : { "x" : 1.23, "y" : 6.89 }, + "4" : { "x" : 7.68, "y" : -18.07 }, + "5" : { "x" : 6.49, "y" : 20.18 }, + "6" : { "x" : 23.37, "y" : 4.21 }, + "7" : { "x" : 37.80, "y" : -3.47 }, + "8" : { "x" : 36.61, "y" : 7.09 }, + "9" : { "x" : 45.96, "y" : -2.43 }, + "10" : { "x" : 45.04, "y" : 13.82 }, + "11" : { "x" : 42.32, "y" : 3.85 } + }, + { + "index" : 24, + "ball" : { "x" : 46.89, "y" : -6.49 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.14, "y" : -7.70 }, + "3" : { "x" : 2.17, "y" : 4.70 }, + "4" : { "x" : 5.83, "y" : -20.99 }, + "5" : { "x" : 8.52, "y" : 17.12 }, + "6" : { "x" : 23.98, "y" : -5.41 }, + "7" : { "x" : 36.48, "y" : -8.62 }, + "8" : { "x" : 38.57, "y" : 2.07 }, + "9" : { "x" : 45.21, "y" : -15.64 }, + "10" : { "x" : 46.51, "y" : 0.08 }, + "11" : { "x" : 42.89, "y" : -5.11 } + }, + { + "index" : 25, + "ball" : { "x" : 46.89, "y" : 6.49 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.17, "y" : -4.70 }, + "3" : { "x" : 1.14, "y" : 7.70 }, + "4" : { "x" : 8.52, "y" : -17.12 }, + "5" : { "x" : 5.83, "y" : 20.99 }, + "6" : { "x" : 23.98, "y" : 5.41 }, + "7" : { "x" : 38.57, "y" : -2.07 }, + "8" : { "x" : 36.48, "y" : 8.62 }, + "9" : { "x" : 46.51, "y" : -0.08 }, + "10" : { "x" : 45.21, "y" : 15.64 }, + "11" : { "x" : 42.89, "y" : 5.11 } + }, + { + "index" : 26, + "ball" : { "x" : 38.63, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -5.93 }, + "3" : { "x" : 0.18, "y" : 5.93 }, + "4" : { "x" : 6.41, "y" : -19.34 }, + "5" : { "x" : 6.41, "y" : 19.34 }, + "6" : { "x" : 19.71, "y" : -2.62 }, + "7" : { "x" : 32.73, "y" : -6.84 }, + "8" : { "x" : 32.73, "y" : 6.84 }, + "9" : { "x" : 42.20, "y" : -11.81 }, + "10" : { "x" : 42.20, "y" : 11.81 }, + "11" : { "x" : 38.61, "y" : -2.57 } + }, + { + "index" : 27, + "ball" : { "x" : 39.22, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.15, "y" : -7.62 }, + "3" : { "x" : 0.71, "y" : 4.57 }, + "4" : { "x" : 6.10, "y" : -21.14 }, + "5" : { "x" : 6.93, "y" : 17.60 }, + "6" : { "x" : 20.20, "y" : -4.84 }, + "7" : { "x" : 31.80, "y" : -9.98 }, + "8" : { "x" : 34.05, "y" : 3.87 }, + "9" : { "x" : 41.58, "y" : -16.28 }, + "10" : { "x" : 44.01, "y" : 6.35 }, + "11" : { "x" : 39.22, "y" : -5.35 } + }, + { + "index" : 28, + "ball" : { "x" : 39.22, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.71, "y" : -4.57 }, + "3" : { "x" : -0.15, "y" : 7.62 }, + "4" : { "x" : 6.93, "y" : -17.60 }, + "5" : { "x" : 6.10, "y" : 21.14 }, + "6" : { "x" : 20.20, "y" : 4.84 }, + "7" : { "x" : 34.05, "y" : -3.87 }, + "8" : { "x" : 31.80, "y" : 9.98 }, + "9" : { "x" : 44.01, "y" : -6.35 }, + "10" : { "x" : 41.58, "y" : 16.28 }, + "11" : { "x" : 39.22, "y" : 5.35 } + }, + { + "index" : 29, + "ball" : { "x" : 30.37, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.06, "y" : -11.84 }, + "3" : { "x" : -0.92, "y" : 2.05 }, + "4" : { "x" : 3.83, "y" : -24.40 }, + "5" : { "x" : 6.00, "y" : 14.49 }, + "6" : { "x" : 15.44, "y" : -8.70 }, + "7" : { "x" : 21.07, "y" : -17.96 }, + "8" : { "x" : 27.44, "y" : 1.55 }, + "9" : { "x" : 34.11, "y" : -24.30 }, + "10" : { "x" : 34.71, "y" : 14.57 }, + "11" : { "x" : 34.70, "y" : -10.66 } + }, + { + "index" : 30, + "ball" : { "x" : 30.37, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.92, "y" : -2.05 }, + "3" : { "x" : -3.06, "y" : 11.84 }, + "4" : { "x" : 6.00, "y" : -14.49 }, + "5" : { "x" : 3.83, "y" : 24.40 }, + "6" : { "x" : 15.44, "y" : 8.70 }, + "7" : { "x" : 27.44, "y" : -1.55 }, + "8" : { "x" : 21.07, "y" : 17.96 }, + "9" : { "x" : 34.71, "y" : -14.57 }, + "10" : { "x" : 34.11, "y" : 24.30 }, + "11" : { "x" : 34.70, "y" : 10.66 } + }, + { + "index" : 31, + "ball" : { "x" : 0.00, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.18, "y" : -19.96 }, + "3" : { "x" : -16.68, "y" : -6.05 }, + "4" : { "x" : -13.42, "y" : -30.30 }, + "5" : { "x" : -7.16, "y" : 6.63 }, + "6" : { "x" : -8.38, "y" : -16.63 }, + "7" : { "x" : -7.37, "y" : -25.18 }, + "8" : { "x" : -4.81, "y" : -1.58 }, + "9" : { "x" : 13.45, "y" : -32.14 }, + "10" : { "x" : 10.92, "y" : 18.27 }, + "11" : { "x" : 14.62, "y" : -20.60 } + }, + { + "index" : 32, + "ball" : { "x" : 0.00, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.68, "y" : 6.05 }, + "3" : { "x" : -17.18, "y" : 19.96 }, + "4" : { "x" : -7.16, "y" : -6.63 }, + "5" : { "x" : -13.42, "y" : 30.30 }, + "6" : { "x" : -8.38, "y" : 16.63 }, + "7" : { "x" : -4.81, "y" : 1.58 }, + "8" : { "x" : -7.37, "y" : 25.18 }, + "9" : { "x" : 10.92, "y" : -18.27 }, + "10" : { "x" : 13.45, "y" : 32.14 }, + "11" : { "x" : 14.62, "y" : 20.60 } + }, + { + "index" : 33, + "ball" : { "x" : 44.53, "y" : -22.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.79, "y" : -13.56 }, + "3" : { "x" : 2.77, "y" : 2.31 }, + "4" : { "x" : 0.88, "y" : -25.30 }, + "5" : { "x" : 14.30, "y" : 11.33 }, + "6" : { "x" : 23.64, "y" : -11.92 }, + "7" : { "x" : 30.42, "y" : -20.33 }, + "8" : { "x" : 36.76, "y" : -1.94 }, + "9" : { "x" : 41.44, "y" : -22.71 }, + "10" : { "x" : 45.59, "y" : 7.46 }, + "11" : { "x" : 42.36, "y" : -11.75 } + }, + { + "index" : 34, + "ball" : { "x" : 44.53, "y" : 22.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.77, "y" : -2.31 }, + "3" : { "x" : -0.79, "y" : 13.56 }, + "4" : { "x" : 14.30, "y" : -11.33 }, + "5" : { "x" : 0.88, "y" : 25.30 }, + "6" : { "x" : 23.64, "y" : 11.92 }, + "7" : { "x" : 36.76, "y" : 1.94 }, + "8" : { "x" : 30.42, "y" : 20.33 }, + "9" : { "x" : 45.59, "y" : -7.46 }, + "10" : { "x" : 41.44, "y" : 22.71 }, + "11" : { "x" : 42.36, "y" : 11.75 } + }, + { + "index" : 35, + "ball" : { "x" : 44.09, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.70, "y" : -16.43 }, + "3" : { "x" : 3.08, "y" : 1.45 }, + "4" : { "x" : 2.15, "y" : -27.12 }, + "5" : { "x" : 15.32, "y" : 8.96 }, + "6" : { "x" : 23.78, "y" : -15.03 }, + "7" : { "x" : 28.49, "y" : -25.40 }, + "8" : { "x" : 35.10, "y" : -2.94 }, + "9" : { "x" : 39.72, "y" : -25.13 }, + "10" : { "x" : 44.65, "y" : 7.22 }, + "11" : { "x" : 42.31, "y" : -14.34 } + }, + { + "index" : 36, + "ball" : { "x" : 44.09, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.08, "y" : -1.45 }, + "3" : { "x" : -1.70, "y" : 16.43 }, + "4" : { "x" : 15.32, "y" : -8.96 }, + "5" : { "x" : 2.15, "y" : 27.12 }, + "6" : { "x" : 23.78, "y" : 15.03 }, + "7" : { "x" : 35.10, "y" : 2.94 }, + "8" : { "x" : 28.49, "y" : 25.40 }, + "9" : { "x" : 44.65, "y" : -7.22 }, + "10" : { "x" : 39.72, "y" : 25.13 }, + "11" : { "x" : 42.31, "y" : 14.34 } + }, + { + "index" : 37, + "ball" : { "x" : 29.19, "y" : -34.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.36, "y" : -18.80 }, + "3" : { "x" : -0.74, "y" : -0.94 }, + "4" : { "x" : 2.30, "y" : -27.83 }, + "5" : { "x" : 9.40, "y" : 8.12 }, + "6" : { "x" : 15.16, "y" : -16.50 }, + "7" : { "x" : 19.03, "y" : -27.25 }, + "8" : { "x" : 26.04, "y" : -3.11 }, + "9" : { "x" : 36.79, "y" : -29.36 }, + "10" : { "x" : 29.88, "y" : 13.71 }, + "11" : { "x" : 34.81, "y" : -17.65 } + }, + { + "index" : 38, + "ball" : { "x" : 29.19, "y" : 34.36 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.74, "y" : 0.94 }, + "3" : { "x" : -5.36, "y" : 18.80 }, + "4" : { "x" : 9.40, "y" : -8.12 }, + "5" : { "x" : 2.30, "y" : 27.83 }, + "6" : { "x" : 15.16, "y" : 16.50 }, + "7" : { "x" : 26.04, "y" : 3.11 }, + "8" : { "x" : 19.03, "y" : 27.25 }, + "9" : { "x" : 29.88, "y" : -13.71 }, + "10" : { "x" : 36.79, "y" : 29.36 }, + "11" : { "x" : 34.81, "y" : 17.65 } + }, + { + "index" : 39, + "ball" : { "x" : 33.03, "y" : -31.26 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.18, "y" : -17.73 }, + "3" : { "x" : 0.28, "y" : -0.08 }, + "4" : { "x" : 2.01, "y" : -27.43 }, + "5" : { "x" : 11.01, "y" : 8.83 }, + "6" : { "x" : 17.29, "y" : -15.35 }, + "7" : { "x" : 20.92, "y" : -26.07 }, + "8" : { "x" : 28.24, "y" : -2.72 }, + "9" : { "x" : 38.57, "y" : -27.83 }, + "10" : { "x" : 34.68, "y" : 12.10 }, + "11" : { "x" : 36.65, "y" : -16.30 } + }, + { + "index" : 40, + "ball" : { "x" : 33.03, "y" : 31.26 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.28, "y" : 0.08 }, + "3" : { "x" : -4.18, "y" : 17.73 }, + "4" : { "x" : 11.01, "y" : -8.83 }, + "5" : { "x" : 2.01, "y" : 27.43 }, + "6" : { "x" : 17.29, "y" : 15.35 }, + "7" : { "x" : 28.24, "y" : 2.72 }, + "8" : { "x" : 20.92, "y" : 26.07 }, + "9" : { "x" : 34.68, "y" : -12.10 }, + "10" : { "x" : 38.57, "y" : 27.83 }, + "11" : { "x" : 36.65, "y" : 16.30 } + }, + { + "index" : 41, + "ball" : { "x" : 23.00, "y" : -5.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.35, "y" : -7.68 }, + "3" : { "x" : -3.76, "y" : 4.10 }, + "4" : { "x" : 2.99, "y" : -20.69 }, + "5" : { "x" : 2.22, "y" : 17.45 }, + "6" : { "x" : 10.52, "y" : -4.14 }, + "7" : { "x" : 15.33, "y" : -13.53 }, + "8" : { "x" : 18.29, "y" : 8.05 }, + "9" : { "x" : 23.07, "y" : -25.95 }, + "10" : { "x" : 24.74, "y" : 20.06 }, + "11" : { "x" : 29.04, "y" : -6.00 } + }, + { + "index" : 42, + "ball" : { "x" : 23.00, "y" : 5.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -3.76, "y" : -4.10 }, + "3" : { "x" : -4.35, "y" : 7.68 }, + "4" : { "x" : 2.22, "y" : -17.45 }, + "5" : { "x" : 2.99, "y" : 20.69 }, + "6" : { "x" : 10.52, "y" : 4.14 }, + "7" : { "x" : 18.29, "y" : -8.05 }, + "8" : { "x" : 15.33, "y" : 13.53 }, + "9" : { "x" : 24.74, "y" : -20.06 }, + "10" : { "x" : 23.07, "y" : 25.95 }, + "11" : { "x" : 29.04, "y" : 6.00 } + }, + { + "index" : 43, + "ball" : { "x" : 28.16, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.39, "y" : -5.82 }, + "3" : { "x" : -2.39, "y" : 5.82 }, + "4" : { "x" : 4.32, "y" : -19.24 }, + "5" : { "x" : 4.32, "y" : 19.24 }, + "6" : { "x" : 13.80, "y" : -2.33 }, + "7" : { "x" : 22.61, "y" : -9.60 }, + "8" : { "x" : 22.61, "y" : 9.60 }, + "9" : { "x" : 29.71, "y" : -21.47 }, + "10" : { "x" : 29.71, "y" : 21.47 }, + "11" : { "x" : 32.25, "y" : -1.00 } + }, + { + "index" : 44, + "ball" : { "x" : 34.65, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.13, "y" : -7.70 }, + "3" : { "x" : -0.31, "y" : 4.40 }, + "4" : { "x" : 5.74, "y" : -21.22 }, + "5" : { "x" : 5.89, "y" : 17.64 }, + "6" : { "x" : 17.72, "y" : -4.69 }, + "7" : { "x" : 27.93, "y" : -11.15 }, + "8" : { "x" : 30.34, "y" : 4.95 }, + "9" : { "x" : 37.52, "y" : -18.78 }, + "10" : { "x" : 40.20, "y" : 11.53 }, + "11" : { "x" : 36.70, "y" : -5.66 } + }, + { + "index" : 45, + "ball" : { "x" : 34.65, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.31, "y" : -4.40 }, + "3" : { "x" : -1.13, "y" : 7.70 }, + "4" : { "x" : 5.89, "y" : -17.64 }, + "5" : { "x" : 5.74, "y" : 21.22 }, + "6" : { "x" : 17.72, "y" : 4.69 }, + "7" : { "x" : 30.34, "y" : -4.95 }, + "8" : { "x" : 27.93, "y" : 11.15 }, + "9" : { "x" : 40.20, "y" : -11.53 }, + "10" : { "x" : 37.52, "y" : 18.78 }, + "11" : { "x" : 36.70, "y" : 5.66 } + }, + { + "index" : 46, + "ball" : { "x" : 19.91, "y" : -28.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.44, "y" : -17.45 }, + "3" : { "x" : -4.43, "y" : -1.60 }, + "4" : { "x" : -1.88, "y" : -26.53 }, + "5" : { "x" : 4.35, "y" : 9.94 }, + "6" : { "x" : 8.44, "y" : -13.83 }, + "7" : { "x" : 11.60, "y" : -24.14 }, + "8" : { "x" : 21.83, "y" : -1.79 }, + "9" : { "x" : 28.02, "y" : -30.94 }, + "10" : { "x" : 24.91, "y" : 17.54 }, + "11" : { "x" : 28.57, "y" : -16.62 } + }, + { + "index" : 47, + "ball" : { "x" : 19.91, "y" : 28.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -4.43, "y" : 1.60 }, + "3" : { "x" : -7.44, "y" : 17.45 }, + "4" : { "x" : 4.35, "y" : -9.94 }, + "5" : { "x" : -1.88, "y" : 26.53 }, + "6" : { "x" : 8.44, "y" : 13.83 }, + "7" : { "x" : 21.83, "y" : 1.79 }, + "8" : { "x" : 11.60, "y" : 24.14 }, + "9" : { "x" : 24.91, "y" : -17.54 }, + "10" : { "x" : 28.02, "y" : 30.94 }, + "11" : { "x" : 28.57, "y" : 16.62 } + }, + { + "index" : 48, + "ball" : { "x" : 14.30, "y" : -11.06 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.06, "y" : -10.45 }, + "3" : { "x" : -7.15, "y" : 1.87 }, + "4" : { "x" : -1.04, "y" : -21.99 }, + "5" : { "x" : -2.42, "y" : 15.19 }, + "6" : { "x" : 4.24, "y" : -6.29 }, + "7" : { "x" : 5.05, "y" : -17.13 }, + "8" : { "x" : 13.68, "y" : 6.13 }, + "9" : { "x" : 17.23, "y" : -26.90 }, + "10" : { "x" : 18.09, "y" : 19.60 }, + "11" : { "x" : 22.95, "y" : -9.41 } + }, + { + "index" : 49, + "ball" : { "x" : 14.30, "y" : 11.06 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.15, "y" : -1.87 }, + "3" : { "x" : -8.06, "y" : 10.45 }, + "4" : { "x" : -2.42, "y" : -15.19 }, + "5" : { "x" : -1.04, "y" : 21.99 }, + "6" : { "x" : 4.24, "y" : 6.29 }, + "7" : { "x" : 13.68, "y" : -6.13 }, + "8" : { "x" : 5.05, "y" : 17.13 }, + "9" : { "x" : 18.09, "y" : -19.60 }, + "10" : { "x" : 17.23, "y" : 26.90 }, + "11" : { "x" : 22.95, "y" : 9.41 } + }, + { + "index" : 50, + "ball" : { "x" : 11.35, "y" : -25.07 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.43, "y" : -16.57 }, + "3" : { "x" : -8.68, "y" : -1.89 }, + "4" : { "x" : -5.48, "y" : -25.58 }, + "5" : { "x" : -2.46, "y" : 11.03 }, + "6" : { "x" : 1.71, "y" : -12.12 }, + "7" : { "x" : 3.25, "y" : -22.20 }, + "8" : { "x" : 16.29, "y" : -0.28 }, + "9" : { "x" : 18.90, "y" : -29.64 }, + "10" : { "x" : 17.57, "y" : 18.46 }, + "11" : { "x" : 22.04, "y" : -15.92 } + }, + { + "index" : 51, + "ball" : { "x" : 11.35, "y" : 25.07 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.68, "y" : 1.89 }, + "3" : { "x" : -10.43, "y" : 16.57 }, + "4" : { "x" : -2.46, "y" : -11.03 }, + "5" : { "x" : -5.48, "y" : 25.58 }, + "6" : { "x" : 1.71, "y" : 12.12 }, + "7" : { "x" : 16.29, "y" : 0.28 }, + "8" : { "x" : 3.25, "y" : 22.20 }, + "9" : { "x" : 17.57, "y" : -18.46 }, + "10" : { "x" : 18.90, "y" : 29.64 }, + "11" : { "x" : 22.04, "y" : 15.92 } + }, + { + "index" : 52, + "ball" : { "x" : 9.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.77, "y" : -5.58 }, + "3" : { "x" : -9.77, "y" : 5.58 }, + "4" : { "x" : -4.36, "y" : -17.44 }, + "5" : { "x" : -4.36, "y" : 17.44 }, + "6" : { "x" : 0.91, "y" : -0.62 }, + "7" : { "x" : 5.26, "y" : -12.10 }, + "8" : { "x" : 5.26, "y" : 12.10 }, + "9" : { "x" : 14.64, "y" : -25.04 }, + "10" : { "x" : 14.64, "y" : 25.04 }, + "11" : { "x" : 17.81, "y" : -1.03 } + }, + { + "index" : 53, + "ball" : { "x" : 18.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.66, "y" : -5.71 }, + "3" : { "x" : -5.66, "y" : 5.71 }, + "4" : { "x" : 0.77, "y" : -18.60 }, + "5" : { "x" : 0.77, "y" : 18.60 }, + "6" : { "x" : 7.52, "y" : -2.11 }, + "7" : { "x" : 11.95, "y" : -11.59 }, + "8" : { "x" : 11.95, "y" : 11.59 }, + "9" : { "x" : 20.57, "y" : -25.76 }, + "10" : { "x" : 20.57, "y" : 25.76 }, + "11" : { "x" : 25.23, "y" : -0.34 } + }, + { + "index" : 54, + "ball" : { "x" : 3.83, "y" : -20.20 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -13.84, "y" : -14.96 }, + "3" : { "x" : -13.20, "y" : -1.74 }, + "4" : { "x" : -9.32, "y" : -24.18 }, + "5" : { "x" : -9.54, "y" : 11.72 }, + "6" : { "x" : -4.47, "y" : -9.91 }, + "7" : { "x" : -3.05, "y" : -19.66 }, + "8" : { "x" : 10.11, "y" : 2.00 }, + "9" : { "x" : 11.32, "y" : -27.46 }, + "10" : { "x" : 11.22, "y" : 18.50 }, + "11" : { "x" : 15.55, "y" : -14.21 } + }, + { + "index" : 55, + "ball" : { "x" : 3.83, "y" : 20.20 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.20, "y" : 1.74 }, + "3" : { "x" : -13.84, "y" : 14.96 }, + "4" : { "x" : -9.54, "y" : -11.72 }, + "5" : { "x" : -9.32, "y" : 24.18 }, + "6" : { "x" : -4.47, "y" : 9.91 }, + "7" : { "x" : 10.11, "y" : -2.00 }, + "8" : { "x" : -3.05, "y" : 19.66 }, + "9" : { "x" : 11.22, "y" : -18.50 }, + "10" : { "x" : 11.32, "y" : 27.46 }, + "11" : { "x" : 15.55, "y" : 14.21 } + }, + { + "index" : 56, + "ball" : { "x" : 6.19, "y" : -10.32 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.99, "y" : -10.37 }, + "3" : { "x" : -11.54, "y" : 1.49 }, + "4" : { "x" : -6.34, "y" : -20.75 }, + "5" : { "x" : -7.77, "y" : 14.20 }, + "6" : { "x" : -2.15, "y" : -5.86 }, + "7" : { "x" : -0.16, "y" : -16.34 }, + "8" : { "x" : 9.32, "y" : 6.62 }, + "9" : { "x" : 11.66, "y" : -29.11 }, + "10" : { "x" : 12.63, "y" : 18.96 }, + "11" : { "x" : 16.23, "y" : -9.25 } + }, + { + "index" : 57, + "ball" : { "x" : 6.19, "y" : 10.32 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -11.54, "y" : -1.49 }, + "3" : { "x" : -11.99, "y" : 10.37 }, + "4" : { "x" : -7.77, "y" : -14.20 }, + "5" : { "x" : -6.34, "y" : 20.75 }, + "6" : { "x" : -2.15, "y" : 5.86 }, + "7" : { "x" : 9.32, "y" : -6.62 }, + "8" : { "x" : -0.16, "y" : 16.34 }, + "9" : { "x" : 12.63, "y" : -18.96 }, + "10" : { "x" : 11.66, "y" : 29.11 }, + "11" : { "x" : 16.23, "y" : 9.25 } + }, + { + "index" : 58, + "ball" : { "x" : 10.47, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.25, "y" : -18.18 }, + "3" : { "x" : -9.28, "y" : -3.00 }, + "4" : { "x" : -6.48, "y" : -26.52 }, + "5" : { "x" : -1.47, "y" : 9.34 }, + "6" : { "x" : 0.92, "y" : -14.14 }, + "7" : { "x" : 3.65, "y" : -23.76 }, + "8" : { "x" : 14.34, "y" : -1.54 }, + "9" : { "x" : 19.43, "y" : -31.04 }, + "10" : { "x" : 18.15, "y" : 18.08 }, + "11" : { "x" : 21.84, "y" : -17.79 } + }, + { + "index" : 59, + "ball" : { "x" : 10.47, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.28, "y" : 3.00 }, + "3" : { "x" : -11.25, "y" : 18.18 }, + "4" : { "x" : -1.47, "y" : -9.34 }, + "5" : { "x" : -6.48, "y" : 26.52 }, + "6" : { "x" : 0.92, "y" : 14.14 }, + "7" : { "x" : 14.34, "y" : 1.54 }, + "8" : { "x" : 3.65, "y" : 23.76 }, + "9" : { "x" : 18.15, "y" : -18.08 }, + "10" : { "x" : 19.43, "y" : 31.04 }, + "11" : { "x" : 21.84, "y" : 17.79 } + }, + { + "index" : 60, + "ball" : { "x" : 13.27, "y" : -33.18 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.40, "y" : -19.06 }, + "3" : { "x" : -7.76, "y" : -3.20 }, + "4" : { "x" : -4.63, "y" : -27.14 }, + "5" : { "x" : 1.37, "y" : 8.33 }, + "6" : { "x" : 3.20, "y" : -15.64 }, + "7" : { "x" : 7.31, "y" : -25.26 }, + "8" : { "x" : 15.53, "y" : -2.38 }, + "9" : { "x" : 22.52, "y" : -31.88 }, + "10" : { "x" : 21.76, "y" : 17.76 }, + "11" : { "x" : 24.21, "y" : -18.79 } + }, + { + "index" : 61, + "ball" : { "x" : 13.27, "y" : 33.18 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.76, "y" : 3.20 }, + "3" : { "x" : -10.40, "y" : 19.06 }, + "4" : { "x" : 1.37, "y" : -8.33 }, + "5" : { "x" : -4.63, "y" : 27.14 }, + "6" : { "x" : 3.20, "y" : 15.64 }, + "7" : { "x" : 15.53, "y" : 2.38 }, + "8" : { "x" : 7.31, "y" : 25.26 }, + "9" : { "x" : 21.76, "y" : -17.76 }, + "10" : { "x" : 22.52, "y" : 31.88 }, + "11" : { "x" : 24.21, "y" : 18.79 } + }, + { + "index" : 62, + "ball" : { "x" : -16.96, "y" : -30.52 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.33, "y" : -18.45 }, + "3" : { "x" : -23.18, "y" : -4.34 }, + "4" : { "x" : -23.94, "y" : -27.93 }, + "5" : { "x" : -22.14, "y" : 9.35 }, + "6" : { "x" : -19.24, "y" : -13.98 }, + "7" : { "x" : -16.33, "y" : -22.81 }, + "8" : { "x" : -14.10, "y" : -0.07 }, + "9" : { "x" : 0.44, "y" : -30.41 }, + "10" : { "x" : -4.28, "y" : 17.04 }, + "11" : { "x" : 0.06, "y" : -9.81 } + }, + { + "index" : 63, + "ball" : { "x" : -16.96, "y" : 30.52 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.18, "y" : 4.34 }, + "3" : { "x" : -23.33, "y" : 18.45 }, + "4" : { "x" : -22.14, "y" : -9.35 }, + "5" : { "x" : -23.94, "y" : 27.93 }, + "6" : { "x" : -19.24, "y" : 13.98 }, + "7" : { "x" : -14.10, "y" : 0.07 }, + "8" : { "x" : -16.33, "y" : 22.81 }, + "9" : { "x" : -4.28, "y" : -17.04 }, + "10" : { "x" : 0.44, "y" : 30.41 }, + "11" : { "x" : 0.06, "y" : 9.81 } + }, + { + "index" : 64, + "ball" : { "x" : -4.28, "y" : -16.81 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.71, "y" : -15.79 }, + "3" : { "x" : -14.88, "y" : -3.68 }, + "4" : { "x" : -13.76, "y" : -23.07 }, + "5" : { "x" : -12.63, "y" : 11.13 }, + "6" : { "x" : -8.80, "y" : -11.13 }, + "7" : { "x" : -3.79, "y" : -19.50 }, + "8" : { "x" : -3.98, "y" : 5.90 }, + "9" : { "x" : 6.03, "y" : -29.81 }, + "10" : { "x" : 2.60, "y" : 22.30 }, + "11" : { "x" : 5.59, "y" : -8.48 } + }, + { + "index" : 65, + "ball" : { "x" : -4.28, "y" : 16.81 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.88, "y" : 3.68 }, + "3" : { "x" : -12.71, "y" : 15.79 }, + "4" : { "x" : -12.63, "y" : -11.13 }, + "5" : { "x" : -13.76, "y" : 23.07 }, + "6" : { "x" : -8.80, "y" : 11.13 }, + "7" : { "x" : -3.98, "y" : -5.90 }, + "8" : { "x" : -3.79, "y" : 19.50 }, + "9" : { "x" : 2.60, "y" : -22.30 }, + "10" : { "x" : 6.03, "y" : 29.81 }, + "11" : { "x" : 5.59, "y" : 8.48 } + }, + { + "index" : 66, + "ball" : { "x" : -7.08, "y" : -27.57 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.15, "y" : -19.34 }, + "3" : { "x" : -16.57, "y" : -4.96 }, + "4" : { "x" : -15.35, "y" : -27.21 }, + "5" : { "x" : -13.48, "y" : 10.45 }, + "6" : { "x" : -10.91, "y" : -14.26 }, + "7" : { "x" : -6.54, "y" : -22.94 }, + "8" : { "x" : -6.22, "y" : 1.56 }, + "9" : { "x" : 6.84, "y" : -30.97 }, + "10" : { "x" : 1.32, "y" : 18.51 }, + "11" : { "x" : 6.91, "y" : -10.52 } + }, + { + "index" : 67, + "ball" : { "x" : -7.08, "y" : 27.57 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.57, "y" : 4.96 }, + "3" : { "x" : -15.15, "y" : 19.34 }, + "4" : { "x" : -13.48, "y" : -10.45 }, + "5" : { "x" : -15.35, "y" : 27.21 }, + "6" : { "x" : -10.91, "y" : 14.26 }, + "7" : { "x" : -6.22, "y" : -1.56 }, + "8" : { "x" : -6.54, "y" : 22.94 }, + "9" : { "x" : 1.32, "y" : -18.51 }, + "10" : { "x" : 6.84, "y" : 30.97 }, + "11" : { "x" : 6.91, "y" : 10.52 } + }, + { + "index" : 68, + "ball" : { "x" : -7.96, "y" : -31.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.89, "y" : -20.09 }, + "3" : { "x" : -17.14, "y" : -5.03 }, + "4" : { "x" : -15.83, "y" : -28.57 }, + "5" : { "x" : -13.66, "y" : 11.00 }, + "6" : { "x" : -11.44, "y" : -14.98 }, + "7" : { "x" : -7.45, "y" : -24.07 }, + "8" : { "x" : -6.86, "y" : 0.18 }, + "9" : { "x" : 7.39, "y" : -31.30 }, + "10" : { "x" : 1.09, "y" : 17.04 }, + "11" : { "x" : 8.36, "y" : -10.67 } + }, + { + "index" : 69, + "ball" : { "x" : -7.96, "y" : 31.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.14, "y" : 5.03 }, + "3" : { "x" : -15.89, "y" : 20.09 }, + "4" : { "x" : -13.66, "y" : -11.00 }, + "5" : { "x" : -15.83, "y" : 28.57 }, + "6" : { "x" : -11.44, "y" : 14.98 }, + "7" : { "x" : -6.86, "y" : -0.18 }, + "8" : { "x" : -7.45, "y" : 24.07 }, + "9" : { "x" : 1.09, "y" : -17.04 }, + "10" : { "x" : 7.39, "y" : 31.30 }, + "11" : { "x" : 8.36, "y" : 10.67 } + }, + { + "index" : 70, + "ball" : { "x" : -23.89, "y" : -34.21 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -31.05, "y" : -17.31 }, + "3" : { "x" : -29.37, "y" : -4.33 }, + "4" : { "x" : -29.93, "y" : -27.83 }, + "5" : { "x" : -28.55, "y" : 8.60 }, + "6" : { "x" : -24.69, "y" : -13.70 }, + "7" : { "x" : -22.94, "y" : -23.29 }, + "8" : { "x" : -19.22, "y" : -1.39 }, + "9" : { "x" : -3.39, "y" : -30.07 }, + "10" : { "x" : -7.83, "y" : 15.33 }, + "11" : { "x" : -3.41, "y" : -8.93 } + }, + { + "index" : 71, + "ball" : { "x" : -23.89, "y" : 34.21 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.37, "y" : 4.33 }, + "3" : { "x" : -31.05, "y" : 17.31 }, + "4" : { "x" : -28.55, "y" : -8.60 }, + "5" : { "x" : -29.93, "y" : 27.83 }, + "6" : { "x" : -24.69, "y" : 13.70 }, + "7" : { "x" : -19.22, "y" : 1.39 }, + "8" : { "x" : -22.94, "y" : 23.29 }, + "9" : { "x" : -7.83, "y" : -15.33 }, + "10" : { "x" : -3.39, "y" : 30.07 }, + "11" : { "x" : -3.41, "y" : 8.93 } + }, + { + "index" : 72, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.53, "y" : -3.17 }, + "3" : { "x" : -47.53, "y" : 3.17 }, + "4" : { "x" : -49.99, "y" : -6.88 }, + "5" : { "x" : -49.99, "y" : 6.88 }, + "6" : { "x" : -44.06, "y" : 1.02 }, + "7" : { "x" : -41.64, "y" : -8.61 }, + "8" : { "x" : -41.64, "y" : 8.61 }, + "9" : { "x" : -23.83, "y" : -22.20 }, + "10" : { "x" : -23.83, "y" : 22.20 }, + "11" : { "x" : -30.03, "y" : 4.57 } + }, + { + "index" : 73, + "ball" : { "x" : -19.61, "y" : -5.46 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.74, "y" : -7.22 }, + "3" : { "x" : -27.37, "y" : 1.07 }, + "4" : { "x" : -27.57, "y" : -15.59 }, + "5" : { "x" : -27.52, "y" : 9.88 }, + "6" : { "x" : -23.16, "y" : -4.67 }, + "7" : { "x" : -18.04, "y" : -13.11 }, + "8" : { "x" : -17.58, "y" : 8.75 }, + "9" : { "x" : -6.06, "y" : -26.78 }, + "10" : { "x" : -6.72, "y" : 24.53 }, + "11" : { "x" : -8.99, "y" : -3.01 } + }, + { + "index" : 74, + "ball" : { "x" : -19.61, "y" : 5.46 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -27.37, "y" : -1.07 }, + "3" : { "x" : -26.74, "y" : 7.22 }, + "4" : { "x" : -27.52, "y" : -9.88 }, + "5" : { "x" : -27.57, "y" : 15.59 }, + "6" : { "x" : -23.16, "y" : 4.67 }, + "7" : { "x" : -17.58, "y" : -8.75 }, + "8" : { "x" : -18.04, "y" : 13.11 }, + "9" : { "x" : -6.72, "y" : -24.53 }, + "10" : { "x" : -6.06, "y" : 26.78 }, + "11" : { "x" : -8.99, "y" : 3.01 } + }, + { + "index" : 75, + "ball" : { "x" : -7.96, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.64, "y" : -9.85 }, + "3" : { "x" : -17.18, "y" : 0.07 }, + "4" : { "x" : -16.91, "y" : -19.09 }, + "5" : { "x" : -16.52, "y" : 12.59 }, + "6" : { "x" : -12.21, "y" : -6.37 }, + "7" : { "x" : -7.34, "y" : -15.32 }, + "8" : { "x" : -7.25, "y" : 9.27 }, + "9" : { "x" : 1.69, "y" : -28.01 }, + "10" : { "x" : 0.38, "y" : 24.81 }, + "11" : { "x" : 0.76, "y" : -4.50 } + }, + { + "index" : 76, + "ball" : { "x" : -7.96, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.18, "y" : -0.07 }, + "3" : { "x" : -15.64, "y" : 9.85 }, + "4" : { "x" : -16.52, "y" : -12.59 }, + "5" : { "x" : -16.91, "y" : 19.09 }, + "6" : { "x" : -12.21, "y" : 6.37 }, + "7" : { "x" : -7.25, "y" : -9.27 }, + "8" : { "x" : -7.34, "y" : 15.32 }, + "9" : { "x" : 0.38, "y" : -24.81 }, + "10" : { "x" : 1.69, "y" : 28.01 }, + "11" : { "x" : 0.76, "y" : 4.50 } + }, + { + "index" : 77, + "ball" : { "x" : -5.31, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.82, "y" : -4.50 }, + "3" : { "x" : -14.82, "y" : 4.50 }, + "4" : { "x" : -14.59, "y" : -16.26 }, + "5" : { "x" : -14.59, "y" : 16.26 }, + "6" : { "x" : -9.26, "y" : -1.26 }, + "7" : { "x" : -4.86, "y" : -12.66 }, + "8" : { "x" : -4.86, "y" : 12.66 }, + "9" : { "x" : 2.61, "y" : -26.72 }, + "10" : { "x" : 2.61, "y" : 26.72 }, + "11" : { "x" : 2.20, "y" : -0.09 } + }, + { + "index" : 78, + "ball" : { "x" : -2.06, "y" : -11.35 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.37, "y" : -12.91 }, + "3" : { "x" : -13.56, "y" : -2.16 }, + "4" : { "x" : -12.20, "y" : -21.01 }, + "5" : { "x" : -11.39, "y" : 13.02 }, + "6" : { "x" : -6.73, "y" : -8.68 }, + "7" : { "x" : -1.72, "y" : -17.72 }, + "8" : { "x" : -2.03, "y" : 8.39 }, + "9" : { "x" : 6.48, "y" : -29.12 }, + "10" : { "x" : 4.06, "y" : 24.04 }, + "11" : { "x" : 6.06, "y" : -6.47 } + }, + { + "index" : 79, + "ball" : { "x" : -2.06, "y" : 11.35 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.56, "y" : 2.16 }, + "3" : { "x" : -11.37, "y" : 12.91 }, + "4" : { "x" : -11.39, "y" : -13.02 }, + "5" : { "x" : -12.20, "y" : 21.01 }, + "6" : { "x" : -6.73, "y" : 8.68 }, + "7" : { "x" : -2.03, "y" : -8.39 }, + "8" : { "x" : -1.72, "y" : 17.72 }, + "9" : { "x" : 4.06, "y" : -24.04 }, + "10" : { "x" : 6.48, "y" : 29.12 }, + "11" : { "x" : 6.06, "y" : 6.47 } + }, + { + "index" : 80, + "ball" : { "x" : -3.39, "y" : -5.90 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.70, "y" : -8.99 }, + "3" : { "x" : -14.14, "y" : 0.58 }, + "4" : { "x" : -13.20, "y" : -18.92 }, + "5" : { "x" : -12.79, "y" : 14.39 }, + "6" : { "x" : -7.76, "y" : -5.48 }, + "7" : { "x" : -3.04, "y" : -15.36 }, + "8" : { "x" : -3.16, "y" : 10.48 }, + "9" : { "x" : 4.62, "y" : -28.05 }, + "10" : { "x" : 3.43, "y" : 25.44 }, + "11" : { "x" : 4.70, "y" : -3.75 } + }, + { + "index" : 81, + "ball" : { "x" : -3.39, "y" : 5.90 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.14, "y" : -0.58 }, + "3" : { "x" : -12.70, "y" : 8.99 }, + "4" : { "x" : -12.79, "y" : -14.39 }, + "5" : { "x" : -13.20, "y" : 18.92 }, + "6" : { "x" : -7.76, "y" : 5.48 }, + "7" : { "x" : -3.16, "y" : -10.48 }, + "8" : { "x" : -3.04, "y" : 15.36 }, + "9" : { "x" : 3.43, "y" : -25.44 }, + "10" : { "x" : 4.62, "y" : 28.05 }, + "11" : { "x" : 4.70, "y" : 3.75 } + }, + { + "index" : 82, + "ball" : { "x" : -9.44, "y" : -24.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -16.56, "y" : -18.28 }, + "3" : { "x" : -17.92, "y" : -4.50 }, + "4" : { "x" : -17.58, "y" : -26.25 }, + "5" : { "x" : -15.92, "y" : 9.67 }, + "6" : { "x" : -13.12, "y" : -13.42 }, + "7" : { "x" : -8.86, "y" : -21.71 }, + "8" : { "x" : -8.23, "y" : 2.36 }, + "9" : { "x" : 4.27, "y" : -30.45 }, + "10" : { "x" : -0.29, "y" : 19.43 }, + "11" : { "x" : 3.59, "y" : -10.02 } + }, + { + "index" : 83, + "ball" : { "x" : -9.44, "y" : 24.77 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.92, "y" : 4.50 }, + "3" : { "x" : -16.56, "y" : 18.28 }, + "4" : { "x" : -15.92, "y" : -9.67 }, + "5" : { "x" : -17.58, "y" : 26.25 }, + "6" : { "x" : -13.12, "y" : 13.42 }, + "7" : { "x" : -8.23, "y" : -2.36 }, + "8" : { "x" : -8.86, "y" : 21.71 }, + "9" : { "x" : -0.29, "y" : -19.43 }, + "10" : { "x" : 4.27, "y" : 30.45 }, + "11" : { "x" : 3.59, "y" : 10.02 } + }, + { + "index" : 84, + "ball" : { "x" : -12.39, "y" : -12.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.61, "y" : -12.64 }, + "3" : { "x" : -20.37, "y" : -1.72 }, + "4" : { "x" : -20.71, "y" : -20.92 }, + "5" : { "x" : -20.15, "y" : 9.72 }, + "6" : { "x" : -16.37, "y" : -8.83 }, + "7" : { "x" : -11.58, "y" : -16.74 }, + "8" : { "x" : -11.06, "y" : 6.74 }, + "9" : { "x" : -0.53, "y" : -28.52 }, + "10" : { "x" : -2.47, "y" : 23.22 }, + "11" : { "x" : -2.10, "y" : -6.61 } + }, + { + "index" : 85, + "ball" : { "x" : -12.39, "y" : 12.39 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -20.37, "y" : 1.72 }, + "3" : { "x" : -18.61, "y" : 12.64 }, + "4" : { "x" : -20.15, "y" : -9.72 }, + "5" : { "x" : -20.71, "y" : 20.92 }, + "6" : { "x" : -16.37, "y" : 8.83 }, + "7" : { "x" : -11.06, "y" : -6.74 }, + "8" : { "x" : -11.58, "y" : 16.74 }, + "9" : { "x" : -2.47, "y" : -23.22 }, + "10" : { "x" : -0.53, "y" : 28.52 }, + "11" : { "x" : -2.10, "y" : 6.61 } + }, + { + "index" : 86, + "ball" : { "x" : -16.37, "y" : -15.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -22.13, "y" : -13.78 }, + "3" : { "x" : -23.54, "y" : -2.52 }, + "4" : { "x" : -24.22, "y" : -21.95 }, + "5" : { "x" : -23.62, "y" : 8.03 }, + "6" : { "x" : -19.87, "y" : -9.96 }, + "7" : { "x" : -15.41, "y" : -17.57 }, + "8" : { "x" : -14.35, "y" : 5.07 }, + "9" : { "x" : -2.60, "y" : -28.70 }, + "10" : { "x" : -4.82, "y" : 22.01 }, + "11" : { "x" : -4.48, "y" : -7.55 } + }, + { + "index" : 87, + "ball" : { "x" : -16.37, "y" : 15.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.54, "y" : 2.52 }, + "3" : { "x" : -22.13, "y" : 13.78 }, + "4" : { "x" : -23.62, "y" : -8.03 }, + "5" : { "x" : -24.22, "y" : 21.95 }, + "6" : { "x" : -19.87, "y" : 9.96 }, + "7" : { "x" : -14.35, "y" : -5.07 }, + "8" : { "x" : -15.41, "y" : 17.57 }, + "9" : { "x" : -4.82, "y" : -22.01 }, + "10" : { "x" : -2.60, "y" : 28.70 }, + "11" : { "x" : -4.48, "y" : 7.55 } + }, + { + "index" : 88, + "ball" : { "x" : -19.91, "y" : -18.28 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -25.82, "y" : -14.13 }, + "3" : { "x" : -26.70, "y" : -3.02 }, + "4" : { "x" : -27.37, "y" : -22.39 }, + "5" : { "x" : -26.83, "y" : 6.95 }, + "6" : { "x" : -22.83, "y" : -10.50 }, + "7" : { "x" : -18.77, "y" : -18.12 }, + "8" : { "x" : -17.16, "y" : 3.88 }, + "9" : { "x" : -4.47, "y" : -28.73 }, + "10" : { "x" : -6.79, "y" : 21.05 }, + "11" : { "x" : -6.47, "y" : -7.96 } + }, + { + "index" : 89, + "ball" : { "x" : -19.91, "y" : 18.28 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.70, "y" : 3.02 }, + "3" : { "x" : -25.82, "y" : 14.13 }, + "4" : { "x" : -26.83, "y" : -6.95 }, + "5" : { "x" : -27.37, "y" : 22.39 }, + "6" : { "x" : -22.83, "y" : 10.50 }, + "7" : { "x" : -17.16, "y" : -3.88 }, + "8" : { "x" : -18.77, "y" : 18.12 }, + "9" : { "x" : -6.79, "y" : -21.05 }, + "10" : { "x" : -4.47, "y" : 28.73 }, + "11" : { "x" : -6.47, "y" : 7.96 } + }, + { + "index" : 90, + "ball" : { "x" : -32.73, "y" : -29.19 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.69, "y" : -13.44 }, + "3" : { "x" : -38.23, "y" : -4.58 }, + "4" : { "x" : -37.42, "y" : -22.97 }, + "5" : { "x" : -37.47, "y" : 4.45 }, + "6" : { "x" : -32.04, "y" : -11.42 }, + "7" : { "x" : -30.22, "y" : -20.74 }, + "8" : { "x" : -26.10, "y" : -0.09 }, + "9" : { "x" : -10.38, "y" : -28.63 }, + "10" : { "x" : -13.04, "y" : 16.63 }, + "11" : { "x" : -12.00, "y" : -7.92 } + }, + { + "index" : 91, + "ball" : { "x" : -32.73, "y" : 29.19 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -38.23, "y" : 4.58 }, + "3" : { "x" : -39.69, "y" : 13.44 }, + "4" : { "x" : -37.47, "y" : -4.45 }, + "5" : { "x" : -37.42, "y" : 22.97 }, + "6" : { "x" : -32.04, "y" : 11.42 }, + "7" : { "x" : -26.10, "y" : 0.09 }, + "8" : { "x" : -30.22, "y" : 20.74 }, + "9" : { "x" : -13.04, "y" : -16.63 }, + "10" : { "x" : -10.38, "y" : 28.63 }, + "11" : { "x" : -12.00, "y" : 7.92 } + }, + { + "index" : 92, + "ball" : { "x" : -24.03, "y" : -17.55 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.55, "y" : -12.75 }, + "3" : { "x" : -31.07, "y" : -2.95 }, + "4" : { "x" : -31.18, "y" : -20.78 }, + "5" : { "x" : -30.99, "y" : 5.87 }, + "6" : { "x" : -26.38, "y" : -9.76 }, + "7" : { "x" : -22.45, "y" : -17.38 }, + "8" : { "x" : -20.54, "y" : 3.87 }, + "9" : { "x" : -7.22, "y" : -28.24 }, + "10" : { "x" : -9.15, "y" : 21.01 }, + "11" : { "x" : -9.46, "y" : -7.39 } + }, + { + "index" : 93, + "ball" : { "x" : -24.03, "y" : 17.55 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -31.07, "y" : 2.95 }, + "3" : { "x" : -30.55, "y" : 12.75 }, + "4" : { "x" : -30.99, "y" : -5.87 }, + "5" : { "x" : -31.18, "y" : 20.78 }, + "6" : { "x" : -26.38, "y" : 9.76 }, + "7" : { "x" : -20.54, "y" : -3.87 }, + "8" : { "x" : -22.45, "y" : 17.38 }, + "9" : { "x" : -9.15, "y" : -21.01 }, + "10" : { "x" : -7.22, "y" : 28.24 }, + "11" : { "x" : -9.46, "y" : 7.39 } + }, + { + "index" : 94, + "ball" : { "x" : -31.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.65, "y" : -2.16 }, + "3" : { "x" : -39.65, "y" : 2.16 }, + "4" : { "x" : -38.28, "y" : -8.03 }, + "5" : { "x" : -38.28, "y" : 8.03 }, + "6" : { "x" : -32.56, "y" : -0.43 }, + "7" : { "x" : -27.38, "y" : -9.85 }, + "8" : { "x" : -27.38, "y" : 9.85 }, + "9" : { "x" : -13.07, "y" : -24.74 }, + "10" : { "x" : -13.07, "y" : 24.74 }, + "11" : { "x" : -18.33, "y" : 1.17 } + }, + { + "index" : 95, + "ball" : { "x" : -29.34, "y" : -15.33 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -36.56, "y" : -10.26 }, + "3" : { "x" : -36.79, "y" : -2.72 }, + "4" : { "x" : -35.95, "y" : -17.42 }, + "5" : { "x" : -36.13, "y" : 4.57 }, + "6" : { "x" : -30.72, "y" : -8.28 }, + "7" : { "x" : -26.82, "y" : -15.97 }, + "8" : { "x" : -24.81, "y" : 4.35 }, + "9" : { "x" : -10.73, "y" : -27.40 }, + "10" : { "x" : -12.11, "y" : 21.27 }, + "11" : { "x" : -13.30, "y" : -6.21 } + }, + { + "index" : 96, + "ball" : { "x" : -29.34, "y" : 15.33 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -36.79, "y" : 2.72 }, + "3" : { "x" : -36.56, "y" : 10.26 }, + "4" : { "x" : -36.13, "y" : -4.57 }, + "5" : { "x" : -35.95, "y" : 17.42 }, + "6" : { "x" : -30.72, "y" : 8.28 }, + "7" : { "x" : -24.81, "y" : -4.35 }, + "8" : { "x" : -26.82, "y" : 15.97 }, + "9" : { "x" : -12.11, "y" : -21.27 }, + "10" : { "x" : -10.73, "y" : 27.40 }, + "11" : { "x" : -13.30, "y" : 6.21 } + }, + { + "index" : 97, + "ball" : { "x" : -37.01, "y" : -33.03 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.77, "y" : -12.81 }, + "3" : { "x" : -40.82, "y" : -4.62 }, + "4" : { "x" : -40.07, "y" : -23.04 }, + "5" : { "x" : -40.14, "y" : 3.64 }, + "6" : { "x" : -34.61, "y" : -11.31 }, + "7" : { "x" : -33.61, "y" : -21.66 }, + "8" : { "x" : -28.64, "y" : -1.11 }, + "9" : { "x" : -12.13, "y" : -28.47 }, + "10" : { "x" : -14.85, "y" : 14.96 }, + "11" : { "x" : -13.43, "y" : -7.26 } + }, + { + "index" : 98, + "ball" : { "x" : -37.01, "y" : 33.03 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -40.82, "y" : 4.62 }, + "3" : { "x" : -42.77, "y" : 12.81 }, + "4" : { "x" : -40.14, "y" : -3.64 }, + "5" : { "x" : -40.07, "y" : 23.04 }, + "6" : { "x" : -34.61, "y" : 11.31 }, + "7" : { "x" : -28.64, "y" : 1.11 }, + "8" : { "x" : -33.61, "y" : 21.66 }, + "9" : { "x" : -14.85, "y" : -14.96 }, + "10" : { "x" : -12.13, "y" : 28.47 }, + "11" : { "x" : -13.43, "y" : 7.26 } + }, + { + "index" : 99, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.24, "y" : -10.29 }, + "3" : { "x" : -44.48, "y" : -1.69 }, + "4" : { "x" : -48.45, "y" : -21.85 }, + "5" : { "x" : -48.06, "y" : 2.31 }, + "6" : { "x" : -43.60, "y" : -8.28 }, + "7" : { "x" : -43.89, "y" : -21.18 }, + "8" : { "x" : -38.36, "y" : -1.28 }, + "9" : { "x" : -20.87, "y" : -26.29 }, + "10" : { "x" : -22.49, "y" : 12.44 }, + "11" : { "x" : -22.80, "y" : -4.37 } + }, + { + "index" : 100, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -44.48, "y" : 1.69 }, + "3" : { "x" : -46.24, "y" : 10.29 }, + "4" : { "x" : -48.06, "y" : -2.31 }, + "5" : { "x" : -48.45, "y" : 21.85 }, + "6" : { "x" : -43.60, "y" : 8.28 }, + "7" : { "x" : -38.36, "y" : 1.28 }, + "8" : { "x" : -43.89, "y" : 21.18 }, + "9" : { "x" : -22.49, "y" : -12.44 }, + "10" : { "x" : -20.87, "y" : 26.29 }, + "11" : { "x" : -22.80, "y" : 4.37 } + }, + { + "index" : 101, + "ball" : { "x" : -48.66, "y" : -22.71 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.06, "y" : -8.98 }, + "3" : { "x" : -45.54, "y" : -2.25 }, + "4" : { "x" : -47.21, "y" : -15.63 }, + "5" : { "x" : -47.31, "y" : 2.84 }, + "6" : { "x" : -41.76, "y" : -7.28 }, + "7" : { "x" : -40.32, "y" : -17.03 }, + "8" : { "x" : -36.69, "y" : 1.74 }, + "9" : { "x" : -19.94, "y" : -26.01 }, + "10" : { "x" : -21.01, "y" : 17.44 }, + "11" : { "x" : -22.29, "y" : -5.05 } + }, + { + "index" : 102, + "ball" : { "x" : -48.66, "y" : 22.71 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.54, "y" : 2.25 }, + "3" : { "x" : -46.06, "y" : 8.98 }, + "4" : { "x" : -47.31, "y" : -2.84 }, + "5" : { "x" : -47.21, "y" : 15.63 }, + "6" : { "x" : -41.76, "y" : 7.28 }, + "7" : { "x" : -36.69, "y" : -1.74 }, + "8" : { "x" : -40.32, "y" : 17.03 }, + "9" : { "x" : -21.01, "y" : -17.44 }, + "10" : { "x" : -19.94, "y" : 26.01 }, + "11" : { "x" : -22.29, "y" : 5.05 } + }, + { + "index" : 103, + "ball" : { "x" : -39.52, "y" : -28.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.82, "y" : -11.32 }, + "3" : { "x" : -42.60, "y" : -4.34 }, + "4" : { "x" : -42.05, "y" : -20.13 }, + "5" : { "x" : -42.42, "y" : 2.74 }, + "6" : { "x" : -36.63, "y" : -10.01 }, + "7" : { "x" : -35.11, "y" : -19.75 }, + "8" : { "x" : -30.74, "y" : 0.19 }, + "9" : { "x" : -14.51, "y" : -27.72 }, + "10" : { "x" : -16.49, "y" : 16.49 }, + "11" : { "x" : -16.44, "y" : -6.95 } + }, + { + "index" : 104, + "ball" : { "x" : -39.52, "y" : 28.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -42.60, "y" : 4.34 }, + "3" : { "x" : -43.82, "y" : 11.32 }, + "4" : { "x" : -42.42, "y" : -2.74 }, + "5" : { "x" : -42.05, "y" : 20.13 }, + "6" : { "x" : -36.63, "y" : 10.01 }, + "7" : { "x" : -30.74, "y" : -0.19 }, + "8" : { "x" : -35.11, "y" : 19.75 }, + "9" : { "x" : -16.49, "y" : -16.49 }, + "10" : { "x" : -14.51, "y" : 27.72 }, + "11" : { "x" : -16.44, "y" : 6.95 } + }, + { + "index" : 105, + "ball" : { "x" : -39.22, "y" : -22.12 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.64, "y" : -10.02 }, + "3" : { "x" : -43.11, "y" : -3.81 }, + "4" : { "x" : -42.46, "y" : -17.18 }, + "5" : { "x" : -42.88, "y" : 2.69 }, + "6" : { "x" : -36.90, "y" : -8.77 }, + "7" : { "x" : -34.57, "y" : -17.60 }, + "8" : { "x" : -31.14, "y" : 1.89 }, + "9" : { "x" : -15.29, "y" : -27.15 }, + "10" : { "x" : -16.77, "y" : 18.47 }, + "11" : { "x" : -17.55, "y" : -6.43 } + }, + { + "index" : 106, + "ball" : { "x" : -39.22, "y" : 22.12 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -43.11, "y" : 3.81 }, + "3" : { "x" : -43.64, "y" : 10.02 }, + "4" : { "x" : -42.88, "y" : -2.69 }, + "5" : { "x" : -42.46, "y" : 17.18 }, + "6" : { "x" : -36.90, "y" : 8.77 }, + "7" : { "x" : -31.14, "y" : -1.89 }, + "8" : { "x" : -34.57, "y" : 17.60 }, + "9" : { "x" : -16.77, "y" : -18.47 }, + "10" : { "x" : -15.29, "y" : 27.15 }, + "11" : { "x" : -17.55, "y" : 6.43 } + }, + { + "index" : 107, + "ball" : { "x" : -41.58, "y" : -7.22 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.59, "y" : -4.05 }, + "3" : { "x" : -45.51, "y" : -0.60 }, + "4" : { "x" : -44.96, "y" : -8.55 }, + "5" : { "x" : -45.08, "y" : 3.99 }, + "6" : { "x" : -38.84, "y" : -3.44 }, + "7" : { "x" : -35.13, "y" : -11.83 }, + "8" : { "x" : -33.99, "y" : 6.61 }, + "9" : { "x" : -17.94, "y" : -24.94 }, + "10" : { "x" : -18.33, "y" : 22.22 }, + "11" : { "x" : -21.98, "y" : -1.47 } + }, + { + "index" : 108, + "ball" : { "x" : -41.58, "y" : 7.22 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.51, "y" : 0.60 }, + "3" : { "x" : -45.59, "y" : 4.05 }, + "4" : { "x" : -45.08, "y" : -3.99 }, + "5" : { "x" : -44.96, "y" : 8.55 }, + "6" : { "x" : -38.84, "y" : 3.44 }, + "7" : { "x" : -33.99, "y" : -6.61 }, + "8" : { "x" : -35.13, "y" : 11.83 }, + "9" : { "x" : -18.33, "y" : -22.22 }, + "10" : { "x" : -17.94, "y" : 24.94 }, + "11" : { "x" : -21.98, "y" : 1.47 } + }, + { + "index" : 109, + "ball" : { "x" : -34.06, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.55, "y" : -5.15 }, + "3" : { "x" : -41.60, "y" : -0.80 }, + "4" : { "x" : -40.20, "y" : -10.73 }, + "5" : { "x" : -40.73, "y" : 4.73 }, + "6" : { "x" : -34.41, "y" : -4.35 }, + "7" : { "x" : -29.99, "y" : -12.46 }, + "8" : { "x" : -28.91, "y" : 6.92 }, + "9" : { "x" : -14.14, "y" : -25.77 }, + "10" : { "x" : -14.67, "y" : 22.91 }, + "11" : { "x" : -17.91, "y" : -2.58 } + }, + { + "index" : 110, + "ball" : { "x" : -34.06, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -41.60, "y" : 0.80 }, + "3" : { "x" : -41.55, "y" : 5.15 }, + "4" : { "x" : -40.73, "y" : -4.73 }, + "5" : { "x" : -40.20, "y" : 10.73 }, + "6" : { "x" : -34.41, "y" : 4.35 }, + "7" : { "x" : -28.91, "y" : -6.92 }, + "8" : { "x" : -29.99, "y" : 12.46 }, + "9" : { "x" : -14.67, "y" : -22.91 }, + "10" : { "x" : -14.14, "y" : 25.77 }, + "11" : { "x" : -17.91, "y" : 2.58 } + }, + { + "index" : 111, + "ball" : { "x" : -48.22, "y" : -9.88 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.90, "y" : -4.98 }, + "3" : { "x" : -46.74, "y" : -0.12 }, + "4" : { "x" : -47.87, "y" : -9.24 }, + "5" : { "x" : -47.87, "y" : 4.14 }, + "6" : { "x" : -41.91, "y" : -3.75 }, + "7" : { "x" : -39.23, "y" : -12.38 }, + "8" : { "x" : -37.64, "y" : 5.54 }, + "9" : { "x" : -20.84, "y" : -24.54 }, + "10" : { "x" : -21.27, "y" : 20.92 }, + "11" : { "x" : -24.49, "y" : -1.57 } + }, + { + "index" : 112, + "ball" : { "x" : -48.22, "y" : 9.88 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.74, "y" : 0.12 }, + "3" : { "x" : -46.90, "y" : 4.98 }, + "4" : { "x" : -47.87, "y" : -4.14 }, + "5" : { "x" : -47.87, "y" : 9.24 }, + "6" : { "x" : -41.91, "y" : 3.75 }, + "7" : { "x" : -37.64, "y" : -5.54 }, + "8" : { "x" : -39.23, "y" : 12.38 }, + "9" : { "x" : -21.27, "y" : -20.92 }, + "10" : { "x" : -20.84, "y" : 24.54 }, + "11" : { "x" : -24.49, "y" : 1.57 } + }, + { + "index" : 113, + "ball" : { "x" : 15.33, "y" : -21.38 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.43, "y" : -14.97 }, + "3" : { "x" : -6.57, "y" : -0.58 }, + "4" : { "x" : -2.37, "y" : -25.05 }, + "5" : { "x" : -0.76, "y" : 12.47 }, + "6" : { "x" : 4.93, "y" : -10.62 }, + "7" : { "x" : 4.93, "y" : -21.15 }, + "8" : { "x" : 18.46, "y" : 0.94 }, + "9" : { "x" : 21.33, "y" : -29.66 }, + "10" : { "x" : 20.06, "y" : 18.78 }, + "11" : { "x" : 24.72, "y" : -14.15 } + }, + { + "index" : 114, + "ball" : { "x" : 15.33, "y" : 21.38 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -6.57, "y" : 0.58 }, + "3" : { "x" : -8.43, "y" : 14.97 }, + "4" : { "x" : -0.76, "y" : -12.47 }, + "5" : { "x" : -2.37, "y" : 25.05 }, + "6" : { "x" : 4.93, "y" : 10.62 }, + "7" : { "x" : 18.46, "y" : -0.94 }, + "8" : { "x" : 4.93, "y" : 21.15 }, + "9" : { "x" : 20.06, "y" : -18.78 }, + "10" : { "x" : 21.33, "y" : 29.66 }, + "11" : { "x" : 24.72, "y" : 14.15 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-opp.conf b/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-opp.conf new file mode 100644 index 0000000..7772079 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 15.00, "y" : -12.00 }, + "8" : { "x" : 15.00, "y" : 12.00 }, + "9" : { "x" : 31.00, "y" : -17.50 }, + "10" : { "x" : 31.00, "y" : 17.50 }, + "11" : { "x" : 31.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-our.conf b/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-our.conf new file mode 100644 index 0000000..8adc8df --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/goal-kick-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -44.50, "y" : -4.00 }, + "3" : { "x" : -44.50, "y" : 4.00 }, + "4" : { "x" : -42.00, "y" : -24.00 }, + "5" : { "x" : -42.00, "y" : 24.00 }, + "6" : { "x" : -32.00, "y" : 0.00 }, + "7" : { "x" : -32.50, "y" : -13.00 }, + "8" : { "x" : -32.50, "y" : 13.00 }, + "9" : { "x" : -13.00, "y" : -27.00 }, + "10" : { "x" : -13.00, "y" : 27.00 }, + "11" : { "x" : -13.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-opp.conf b/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-opp.conf new file mode 100644 index 0000000..51ee0c9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 10.00, "y" : -12.00 }, + "8" : { "x" : 10.00, "y" : 12.00 }, + "9" : { "x" : 20.00, "y" : -20.00 }, + "10" : { "x" : 20.00, "y" : 20.00 }, + "11" : { "x" : 20.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-our.conf b/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-our.conf new file mode 100644 index 0000000..ce31546 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/goalie-catch-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -29.50, "y" : -7.70 }, + "3" : { "x" : -29.50, "y" : 7.70 }, + "4" : { "x" : -29.50, "y" : -25.50 }, + "5" : { "x" : -29.50, "y" : 25.50 }, + "6" : { "x" : -29.00, "y" : 0.00 }, + "7" : { "x" : -15.50, "y" : -12.00 }, + "8" : { "x" : -15.50, "y" : 12.00 }, + "9" : { "x" : -15.00, "y" : -27.00 }, + "10" : { "x" : -15.00, "y" : 27.00 }, + "11" : { "x" : -8.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/goalie-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/goalie-formation.conf new file mode 100644 index 0000000..910deab --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/goalie-formation.conf @@ -0,0 +1,715 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.05, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -26.24, "y" : -14.19 }, + "7" : { "x" : -21.83, "y" : -26.72 }, + "8" : { "x" : -15.46, "y" : 2.33 }, + "9" : { "x" : -7.87, "y" : -31.01 }, + "10" : { "x" : -5.82, "y" : 19.94 }, + "11" : { "x" : -7.39, "y" : -15.15 } + }, + { + "index" : 1, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.05, "y" : 29.10 }, + "6" : { "x" : -26.24, "y" : 14.19 }, + "7" : { "x" : -15.46, "y" : -2.33 }, + "8" : { "x" : -21.83, "y" : 26.72 }, + "9" : { "x" : -5.82, "y" : -19.94 }, + "10" : { "x" : -7.87, "y" : 31.01 }, + "11" : { "x" : -7.39, "y" : 15.15 } + }, + { + "index" : 2, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : 0.00 }, + "2" : { "x" : -47.07, "y" : -2.61 }, + "3" : { "x" : -47.42, "y" : 2.25 }, + "4" : { "x" : -48.96, "y" : -5.34 }, + "5" : { "x" : -49.20, "y" : 5.10 }, + "6" : { "x" : -44.10, "y" : 0.12 }, + "7" : { "x" : -39.50, "y" : -6.00 }, + "8" : { "x" : -39.50, "y" : 6.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.74, "y" : 22.00 }, + "11" : { "x" : -18.50, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -36.61, "y" : -15.15 }, + "3" : { "x" : -36.26, "y" : -6.68 }, + "4" : { "x" : -36.14, "y" : -28.15 }, + "5" : { "x" : -34.60, "y" : 4.30 }, + "6" : { "x" : -31.61, "y" : -14.07 }, + "7" : { "x" : -26.72, "y" : -28.86 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.23, "y" : -30.77 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 4, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -36.26, "y" : 6.68 }, + "3" : { "x" : -36.61, "y" : 15.15 }, + "4" : { "x" : -34.60, "y" : -4.30 }, + "5" : { "x" : -36.14, "y" : 28.15 }, + "6" : { "x" : -31.61, "y" : 14.07 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.72, "y" : 28.86 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.23, "y" : 30.77 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 5, + "ball" : { "x" : -36.04, "y" : -9.96 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -42.92, "y" : -5.42 }, + "3" : { "x" : -39.70, "y" : -0.44 }, + "4" : { "x" : -41.75, "y" : -11.87 }, + "5" : { "x" : -41.27, "y" : 5.82 }, + "6" : { "x" : -35.75, "y" : -4.69 }, + "7" : { "x" : -32.28, "y" : -16.19 }, + "8" : { "x" : -27.62, "y" : 9.02 }, + "9" : { "x" : -18.00, "y" : -27.39 }, + "10" : { "x" : -18.00, "y" : 22.00 }, + "11" : { "x" : -14.78, "y" : -5.49 } + }, + { + "index" : 6, + "ball" : { "x" : -36.04, "y" : 9.96 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -39.70, "y" : 0.44 }, + "3" : { "x" : -42.92, "y" : 5.42 }, + "4" : { "x" : -41.27, "y" : -5.91 }, + "5" : { "x" : -41.75, "y" : 11.87 }, + "6" : { "x" : -35.75, "y" : 4.69 }, + "7" : { "x" : -27.62, "y" : -9.02 }, + "8" : { "x" : -32.28, "y" : 16.19 }, + "9" : { "x" : -18.00, "y" : -22.00 }, + "10" : { "x" : -18.00, "y" : 27.39 }, + "11" : { "x" : -14.78, "y" : 5.49 } + }, + { + "index" : 7, + "ball" : { "x" : -43.39, "y" : -9.53 }, + "1" : { "x" : -47.85, "y" : -6.00 }, + "2" : { "x" : -46.77, "y" : -5.52 }, + "3" : { "x" : -43.97, "y" : -0.25 }, + "4" : { "x" : -45.77, "y" : -9.15 }, + "5" : { "x" : -47.40, "y" : 3.89 }, + "6" : { "x" : -40.77, "y" : -6.11 }, + "7" : { "x" : -38.79, "y" : -14.81 }, + "8" : { "x" : -38.46, "y" : 3.97 }, + "9" : { "x" : -23.30, "y" : -28.20 }, + "10" : { "x" : -23.20, "y" : 20.07 }, + "11" : { "x" : -23.56, "y" : -7.45 } + }, + { + "index" : 8, + "ball" : { "x" : -43.39, "y" : 9.53 }, + "1" : { "x" : -47.85, "y" : 6.00 }, + "2" : { "x" : -43.97, "y" : 0.25 }, + "3" : { "x" : -46.77, "y" : 5.52 }, + "4" : { "x" : -47.40, "y" : -3.89 }, + "5" : { "x" : -45.77, "y" : 9.15 }, + "6" : { "x" : -40.77, "y" : 6.11 }, + "7" : { "x" : -38.46, "y" : -3.97 }, + "8" : { "x" : -38.79, "y" : 14.81 }, + "9" : { "x" : -23.20, "y" : -20.07 }, + "10" : { "x" : -23.30, "y" : 28.20 }, + "11" : { "x" : -23.56, "y" : 7.45 } + }, + { + "index" : 9, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -51.00, "y" : -6.50 }, + "2" : { "x" : -47.04, "y" : -18.02 }, + "3" : { "x" : -45.42, "y" : -8.52 }, + "4" : { "x" : -49.09, "y" : -27.29 }, + "5" : { "x" : -43.37, "y" : 0.00 }, + "6" : { "x" : -42.18, "y" : -14.13 }, + "7" : { "x" : -42.72, "y" : -24.49 }, + "8" : { "x" : -27.43, "y" : 5.25 }, + "9" : { "x" : -19.32, "y" : -30.06 }, + "10" : { "x" : -12.88, "y" : 19.80 }, + "11" : { "x" : -14.91, "y" : -9.18 } + }, + { + "index" : 10, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -51.00, "y" : 6.50 }, + "2" : { "x" : -45.42, "y" : 8.52 }, + "3" : { "x" : -47.04, "y" : 18.02 }, + "4" : { "x" : -43.37, "y" : -0.00 }, + "5" : { "x" : -49.09, "y" : 27.29 }, + "6" : { "x" : -42.18, "y" : 14.13 }, + "7" : { "x" : -27.43, "y" : -5.25 }, + "8" : { "x" : -42.72, "y" : 24.49 }, + "9" : { "x" : -12.88, "y" : -19.80 }, + "10" : { "x" : -19.32, "y" : 30.06 }, + "11" : { "x" : -14.91, "y" : 9.18 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.75, "y" : 22.00 }, + "11" : { "x" : -23.00, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : -10.57 }, + "1" : { "x" : -51.00, "y" : -7.00 }, + "2" : { "x" : -48.41, "y" : -5.80 }, + "3" : { "x" : -48.76, "y" : -1.66 }, + "4" : { "x" : -51.01, "y" : -8.52 }, + "5" : { "x" : -48.65, "y" : 3.20 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -39.90, "y" : 4.33 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -23.00, "y" : -8.59 } + }, + { + "index" : 13, + "ball" : { "x" : -54.50, "y" : 10.57 }, + "1" : { "x" : -51.00, "y" : 7.00 }, + "2" : { "x" : -48.76, "y" : 1.66 }, + "3" : { "x" : -48.41, "y" : 5.80 }, + "4" : { "x" : -48.65, "y" : -3.20 }, + "5" : { "x" : -51.01, "y" : 8.52 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -39.90, "y" : -4.33 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -23.00, "y" : 8.59 } + }, + { + "index" : 14, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -49.00, "y" : -6.50 }, + "2" : { "x" : -42.94, "y" : -15.32 }, + "3" : { "x" : -41.86, "y" : -7.55 }, + "4" : { "x" : -43.37, "y" : -24.38 }, + "5" : { "x" : -39.49, "y" : 0.65 }, + "6" : { "x" : -38.73, "y" : -13.27 }, + "7" : { "x" : -32.56, "y" : -22.90 }, + "8" : { "x" : -25.09, "y" : 4.60 }, + "9" : { "x" : -15.62, "y" : -30.53 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -13.95, "y" : -11.81 } + }, + { + "index" : 15, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -49.00, "y" : 6.50 }, + "2" : { "x" : -41.86, "y" : 7.55 }, + "3" : { "x" : -42.94, "y" : 15.32 }, + "4" : { "x" : -39.49, "y" : -0.65 }, + "5" : { "x" : -43.37, "y" : 24.38 }, + "6" : { "x" : -38.73, "y" : 13.27 }, + "7" : { "x" : -25.09, "y" : -4.60 }, + "8" : { "x" : -32.56, "y" : 22.90 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -15.62, "y" : 30.53 }, + "11" : { "x" : -13.95, "y" : 11.81 } + }, + { + "index" : 16, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.08, "y" : -6.22 }, + "3" : { "x" : -44.08, "y" : -1.75 }, + "4" : { "x" : -47.77, "y" : -12.89 }, + "5" : { "x" : -47.07, "y" : 2.17 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -37.99, "y" : 0.52 }, + "9" : { "x" : -30.17, "y" : -23.92 }, + "10" : { "x" : -20.89, "y" : 22.42 }, + "11" : { "x" : -21.75, "y" : -9.68 } + }, + { + "index" : 17, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -44.08, "y" : 1.75 }, + "3" : { "x" : -47.08, "y" : 6.22 }, + "4" : { "x" : -47.07, "y" : -2.17 }, + "5" : { "x" : -47.77, "y" : 12.89 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -37.99, "y" : -0.52 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -20.89, "y" : -22.42 }, + "10" : { "x" : -30.17, "y" : 23.92 }, + "11" : { "x" : -21.75, "y" : 9.68 } + }, + { + "index" : 18, + "ball" : { "x" : -22.08, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -25.43, "y" : -2.48 }, + "3" : { "x" : -25.34, "y" : 2.23 }, + "4" : { "x" : -26.20, "y" : -9.16 }, + "5" : { "x" : -25.77, "y" : 8.65 }, + "6" : { "x" : -20.42, "y" : 0.05 }, + "7" : { "x" : -15.86, "y" : -12.83 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -0.00 } + }, + { + "index" : 19, + "ball" : { "x" : -31.00, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -36.73, "y" : -2.99 }, + "3" : { "x" : -36.66, "y" : 2.67 }, + "4" : { "x" : -36.20, "y" : -8.93 }, + "5" : { "x" : -36.12, "y" : 8.13 }, + "6" : { "x" : -30.47, "y" : 0.22 }, + "7" : { "x" : -28.84, "y" : -12.26 }, + "8" : { "x" : -27.85, "y" : 9.82 }, + "9" : { "x" : -18.03, "y" : -21.00 }, + "10" : { "x" : -18.93, "y" : 22.26 }, + "11" : { "x" : -11.02, "y" : -0.00 } + }, + { + "index" : 20, + "ball" : { "x" : -48.35, "y" : -9.55 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -48.12, "y" : -6.51 }, + "3" : { "x" : -46.32, "y" : -2.57 }, + "4" : { "x" : -48.12, "y" : -8.17 }, + "5" : { "x" : -48.20, "y" : 1.88 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -41.22, "y" : 1.92 }, + "9" : { "x" : -27.41, "y" : -28.75 }, + "10" : { "x" : -25.72, "y" : 19.11 }, + "11" : { "x" : -23.00, "y" : -9.49 } + }, + { + "index" : 21, + "ball" : { "x" : -48.35, "y" : 9.55 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.32, "y" : 2.57 }, + "3" : { "x" : -48.12, "y" : 6.51 }, + "4" : { "x" : -48.20, "y" : -1.88 }, + "5" : { "x" : -48.12, "y" : 8.17 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -41.22, "y" : -1.92 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -25.72, "y" : -19.11 }, + "10" : { "x" : -27.41, "y" : 28.75 }, + "11" : { "x" : -23.00, "y" : 9.49 } + }, + { + "index" : 22, + "ball" : { "x" : -22.08, "y" : -18.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -26.23, "y" : -11.18 }, + "3" : { "x" : -26.32, "y" : -2.43 }, + "4" : { "x" : -25.96, "y" : -18.30 }, + "5" : { "x" : -26.32, "y" : 6.85 }, + "6" : { "x" : -21.58, "y" : -9.68 }, + "7" : { "x" : -17.81, "y" : -14.21 }, + "8" : { "x" : -14.69, "y" : 5.77 }, + "9" : { "x" : -4.33, "y" : -28.84 }, + "10" : { "x" : -4.51, "y" : 21.27 }, + "11" : { "x" : -4.87, "y" : -10.54 } + }, + { + "index" : 23, + "ball" : { "x" : -22.08, "y" : 18.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -26.32, "y" : 2.43 }, + "3" : { "x" : -26.23, "y" : 11.18 }, + "4" : { "x" : -26.32, "y" : -6.85 }, + "5" : { "x" : -25.96, "y" : 18.30 }, + "6" : { "x" : -21.58, "y" : 9.68 }, + "7" : { "x" : -14.69, "y" : -5.77 }, + "8" : { "x" : -17.81, "y" : 14.21 }, + "9" : { "x" : -4.51, "y" : -21.27 }, + "10" : { "x" : -4.33, "y" : 28.84 }, + "11" : { "x" : -4.87, "y" : 10.54 } + }, + { + "index" : 24, + "ball" : { "x" : -22.08, "y" : -9.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -25.24, "y" : -8.92 }, + "3" : { "x" : -25.42, "y" : -0.63 }, + "4" : { "x" : -24.96, "y" : -15.41 }, + "5" : { "x" : -25.33, "y" : 8.11 }, + "6" : { "x" : -22.62, "y" : -5.05 }, + "7" : { "x" : -17.81, "y" : -12.41 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -4.62 } + }, + { + "index" : 25, + "ball" : { "x" : -22.08, "y" : 9.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -25.42, "y" : 0.63 }, + "3" : { "x" : -25.24, "y" : 8.92 }, + "4" : { "x" : -25.33, "y" : -8.11 }, + "5" : { "x" : -24.96, "y" : 15.41 }, + "6" : { "x" : -22.62, "y" : 5.05 }, + "7" : { "x" : -15.25, "y" : -11.97 }, + "8" : { "x" : -17.81, "y" : 12.41 }, + "9" : { "x" : -5.43, "y" : -22.12 }, + "10" : { "x" : -6.18, "y" : 22.01 }, + "11" : { "x" : -3.02, "y" : 4.62 } + }, + { + "index" : 26, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 7.19, "y" : -26.29 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 21.83, "y" : -14.13 }, + "7" : { "x" : 35.28, "y" : -23.97 }, + "8" : { "x" : 40.92, "y" : -8.74 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 43.53, "y" : 4.78 }, + "11" : { "x" : 48.38, "y" : -19.52 } + }, + { + "index" : 27, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 7.19, "y" : 26.29 }, + "6" : { "x" : 21.83, "y" : 14.13 }, + "7" : { "x" : 40.92, "y" : 8.74 }, + "8" : { "x" : 35.28, "y" : 23.97 }, + "9" : { "x" : 43.53, "y" : -4.78 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 48.38, "y" : 19.52 } + }, + { + "index" : 28, + "ball" : { "x" : -11.99, "y" : -18.00 }, + "1" : { "x" : -43.00, "y" : -3.00 }, + "2" : { "x" : -16.27, "y" : -16.18 }, + "3" : { "x" : -15.84, "y" : -2.91 }, + "4" : { "x" : -15.07, "y" : -22.26 }, + "5" : { "x" : -16.18, "y" : 9.68 }, + "6" : { "x" : -14.56, "y" : -9.93 }, + "7" : { "x" : -4.78, "y" : -18.39 }, + "8" : { "x" : -4.15, "y" : 4.87 }, + "9" : { "x" : 2.88, "y" : -30.37 }, + "10" : { "x" : 3.70, "y" : 21.90 }, + "11" : { "x" : 3.70, "y" : -9.01 } + }, + { + "index" : 29, + "ball" : { "x" : -11.99, "y" : 18.00 }, + "1" : { "x" : -43.00, "y" : 3.00 }, + "2" : { "x" : -15.84, "y" : 2.91 }, + "3" : { "x" : -16.27, "y" : 16.18 }, + "4" : { "x" : -16.18, "y" : -9.68 }, + "5" : { "x" : -15.07, "y" : 22.26 }, + "6" : { "x" : -14.56, "y" : 9.93 }, + "7" : { "x" : -4.15, "y" : -4.87 }, + "8" : { "x" : -4.78, "y" : 18.39 }, + "9" : { "x" : 3.70, "y" : -21.90 }, + "10" : { "x" : 2.88, "y" : 30.37 }, + "11" : { "x" : 3.70, "y" : 9.01 } + }, + { + "index" : 30, + "ball" : { "x" : -11.99, "y" : -9.00 }, + "1" : { "x" : -43.00, "y" : -2.00 }, + "2" : { "x" : -15.58, "y" : -9.93 }, + "3" : { "x" : -15.93, "y" : 0.77 }, + "4" : { "x" : -15.50, "y" : -17.12 }, + "5" : { "x" : -15.75, "y" : 9.76 }, + "6" : { "x" : -13.96, "y" : -5.31 }, + "7" : { "x" : -7.75, "y" : -14.42 }, + "8" : { "x" : -5.59, "y" : 7.66 }, + "9" : { "x" : 2.25, "y" : -28.39 }, + "10" : { "x" : 2.16, "y" : 21.36 }, + "11" : { "x" : 2.61, "y" : -5.23 } + }, + { + "index" : 31, + "ball" : { "x" : -11.99, "y" : 9.00 }, + "1" : { "x" : -43.00, "y" : 2.00 }, + "2" : { "x" : -15.93, "y" : -0.77 }, + "3" : { "x" : -15.58, "y" : 9.93 }, + "4" : { "x" : -15.75, "y" : -9.76 }, + "5" : { "x" : -15.50, "y" : 17.12 }, + "6" : { "x" : -13.96, "y" : 5.31 }, + "7" : { "x" : -5.59, "y" : -7.66 }, + "8" : { "x" : -7.75, "y" : 14.42 }, + "9" : { "x" : 2.16, "y" : -21.36 }, + "10" : { "x" : 2.25, "y" : 28.39 }, + "11" : { "x" : 2.61, "y" : 5.23 } + }, + { + "index" : 32, + "ball" : { "x" : -11.99, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -15.75, "y" : -3.42 }, + "3" : { "x" : -15.75, "y" : 2.65 }, + "4" : { "x" : -15.75, "y" : -11.90 }, + "5" : { "x" : -16.70, "y" : 10.70 }, + "6" : { "x" : -13.96, "y" : 0.00 }, + "7" : { "x" : -8.05, "y" : -13.27 }, + "8" : { "x" : -7.11, "y" : 11.99 }, + "9" : { "x" : -2.20, "y" : -23.11 }, + "10" : { "x" : -0.94, "y" : 22.86 }, + "11" : { "x" : 1.91, "y" : -0.00 } + }, + { + "index" : 33, + "ball" : { "x" : -8.22, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : -4.00 }, + "2" : { "x" : -14.98, "y" : -24.57 }, + "3" : { "x" : -16.26, "y" : -7.31 }, + "4" : { "x" : -11.73, "y" : -33.05 }, + "5" : { "x" : -14.25, "y" : 7.67 }, + "6" : { "x" : -12.50, "y" : -16.95 }, + "7" : { "x" : -8.04, "y" : -26.49 }, + "8" : { "x" : -3.97, "y" : -5.41 }, + "9" : { "x" : 7.86, "y" : -31.17 }, + "10" : { "x" : 8.29, "y" : 2.34 }, + "11" : { "x" : 8.75, "y" : -16.72 } + }, + { + "index" : 34, + "ball" : { "x" : -8.22, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : 4.00 }, + "2" : { "x" : -16.26, "y" : 7.31 }, + "3" : { "x" : -14.98, "y" : 24.57 }, + "4" : { "x" : -14.25, "y" : -7.67 }, + "5" : { "x" : -11.73, "y" : 33.05 }, + "6" : { "x" : -12.50, "y" : 16.95 }, + "7" : { "x" : -3.97, "y" : 5.41 }, + "8" : { "x" : -8.04, "y" : 26.49 }, + "9" : { "x" : 8.29, "y" : -2.34 }, + "10" : { "x" : 7.86, "y" : 31.17 }, + "11" : { "x" : 8.75, "y" : 16.72 } + }, + { + "index" : 35, + "ball" : { "x" : -42.52, "y" : -6.04 }, + "1" : { "x" : -46.50, "y" : -4.75 }, + "2" : { "x" : -46.86, "y" : -4.31 }, + "3" : { "x" : -44.95, "y" : 0.79 }, + "4" : { "x" : -46.88, "y" : -7.76 }, + "5" : { "x" : -47.74, "y" : 4.50 }, + "6" : { "x" : -41.81, "y" : -3.85 }, + "7" : { "x" : -38.81, "y" : -11.62 }, + "8" : { "x" : -38.43, "y" : 4.91 }, + "9" : { "x" : -23.63, "y" : -25.89 }, + "10" : { "x" : -23.57, "y" : 20.85 }, + "11" : { "x" : -21.37, "y" : -4.64 } + }, + { + "index" : 36, + "ball" : { "x" : -42.52, "y" : 6.04 }, + "1" : { "x" : -46.50, "y" : 4.75 }, + "2" : { "x" : -44.95, "y" : -0.79 }, + "3" : { "x" : -46.86, "y" : 4.31 }, + "4" : { "x" : -47.74, "y" : -4.50 }, + "5" : { "x" : -46.88, "y" : 7.76 }, + "6" : { "x" : -41.81, "y" : 3.85 }, + "7" : { "x" : -38.43, "y" : -4.91 }, + "8" : { "x" : -38.81, "y" : 11.62 }, + "9" : { "x" : -23.57, "y" : -20.85 }, + "10" : { "x" : -23.63, "y" : 25.89 }, + "11" : { "x" : -21.37, "y" : 4.64 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -11.97, "y" : -8.07 }, + "3" : { "x" : -12.04, "y" : 6.87 }, + "4" : { "x" : -10.58, "y" : -16.23 }, + "5" : { "x" : -10.87, "y" : 15.70 }, + "6" : { "x" : -8.22, "y" : -0.19 }, + "7" : { "x" : -0.03, "y" : -8.56 }, + "8" : { "x" : -0.17, "y" : 8.44 }, + "9" : { "x" : 11.36, "y" : -18.82 }, + "10" : { "x" : 11.39, "y" : 18.52 }, + "11" : { "x" : 11.78, "y" : -0.06 } + }, + { + "index" : 38, + "ball" : { "x" : -41.21, "y" : -4.43 }, + "1" : { "x" : -46.50, "y" : -3.20 }, + "2" : { "x" : -46.31, "y" : -3.86 }, + "3" : { "x" : -45.02, "y" : 1.13 }, + "4" : { "x" : -46.83, "y" : -7.52 }, + "5" : { "x" : -47.24, "y" : 4.93 }, + "6" : { "x" : -41.69, "y" : -2.52 }, + "7" : { "x" : -38.02, "y" : -10.27 }, + "8" : { "x" : -37.09, "y" : 5.97 }, + "9" : { "x" : -23.14, "y" : -24.69 }, + "10" : { "x" : -23.11, "y" : 21.46 }, + "11" : { "x" : -19.25, "y" : -3.06 } + }, + { + "index" : 39, + "ball" : { "x" : -41.21, "y" : 4.43 }, + "1" : { "x" : -46.50, "y" : 3.20 }, + "2" : { "x" : -45.02, "y" : -1.13 }, + "3" : { "x" : -46.31, "y" : 3.86 }, + "4" : { "x" : -47.24, "y" : -4.93 }, + "5" : { "x" : -46.83, "y" : 7.52 }, + "6" : { "x" : -41.69, "y" : 2.52 }, + "7" : { "x" : -37.09, "y" : -5.97 }, + "8" : { "x" : -38.02, "y" : 10.27 }, + "9" : { "x" : -23.11, "y" : -21.46 }, + "10" : { "x" : -23.14, "y" : 24.69 }, + "11" : { "x" : -19.25, "y" : 3.06 } + }, + { + "index" : 40, + "ball" : { "x" : -42.38, "y" : -8.44 }, + "1" : { "x" : -46.50, "y" : -6.00 }, + "2" : { "x" : -46.42, "y" : -5.12 }, + "3" : { "x" : -43.87, "y" : 0.07 }, + "4" : { "x" : -45.73, "y" : -8.97 }, + "5" : { "x" : -46.90, "y" : 4.29 }, + "6" : { "x" : -40.61, "y" : -5.24 }, + "7" : { "x" : -38.15, "y" : -13.91 }, + "8" : { "x" : -37.38, "y" : 4.78 }, + "9" : { "x" : -22.88, "y" : -27.37 }, + "10" : { "x" : -22.81, "y" : 20.51 }, + "11" : { "x" : -21.98, "y" : -6.34 } + }, + { + "index" : 41, + "ball" : { "x" : -42.38, "y" : 8.44 }, + "1" : { "x" : -46.50, "y" : 6.00 }, + "2" : { "x" : -43.87, "y" : -0.07 }, + "3" : { "x" : -46.42, "y" : 5.12 }, + "4" : { "x" : -46.90, "y" : -4.29 }, + "5" : { "x" : -45.73, "y" : 8.97 }, + "6" : { "x" : -40.61, "y" : 5.24 }, + "7" : { "x" : -37.38, "y" : -4.78 }, + "8" : { "x" : -38.15, "y" : 13.91 }, + "9" : { "x" : -22.81, "y" : -20.51 }, + "10" : { "x" : -22.88, "y" : 27.37 }, + "11" : { "x" : -21.98, "y" : 6.34 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-opp-formation.conf new file mode 100644 index 0000000..b0054c3 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-opp-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.60, "y" : -18.57 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.91, "y" : -24.24 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -29.11, "y" : -28.84 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.60, "y" : 18.57 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.91, "y" : 24.24 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -29.11, "y" : 28.84 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.68, "y" : -9.82 }, + "3" : { "x" : -4.51, "y" : 2.34 }, + "4" : { "x" : 5.86, "y" : -22.53 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 20.82, "y" : -15.86 }, + "7" : { "x" : 31.99, "y" : -26.86 }, + "8" : { "x" : 35.24, "y" : -14.15 }, + "9" : { "x" : 39.02, "y" : -32.81 }, + "10" : { "x" : 43.71, "y" : -11.81 }, + "11" : { "x" : 40.11, "y" : -23.79 } + }, + { + "index" : 4, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.51, "y" : -2.34 }, + "3" : { "x" : -5.68, "y" : 9.82 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 5.86, "y" : 22.53 }, + "6" : { "x" : 20.82, "y" : 15.86 }, + "7" : { "x" : 35.24, "y" : 14.15 }, + "8" : { "x" : 31.99, "y" : 26.86 }, + "9" : { "x" : 43.71, "y" : 11.81 }, + "10" : { "x" : 39.02, "y" : 32.81 }, + "11" : { "x" : 40.11, "y" : 23.79 } + }, + { + "index" : 5, + "ball" : { "x" : -35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : -6.50 }, + "2" : { "x" : -44.28, "y" : -10.05 }, + "3" : { "x" : -44.22, "y" : -1.48 }, + "4" : { "x" : -44.19, "y" : -15.75 }, + "5" : { "x" : -43.66, "y" : 4.83 }, + "6" : { "x" : -40.28, "y" : -10.05 }, + "7" : { "x" : -35.08, "y" : -10.56 }, + "8" : { "x" : -37.64, "y" : -2.21 }, + "9" : { "x" : -25.89, "y" : -20.10 }, + "10" : { "x" : -12.49, "y" : 14.65 }, + "11" : { "x" : -21.91, "y" : -8.74 } + }, + { + "index" : 6, + "ball" : { "x" : -35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 6.50 }, + "2" : { "x" : -44.22, "y" : 1.48 }, + "3" : { "x" : -44.28, "y" : 10.05 }, + "4" : { "x" : -43.66, "y" : -4.83 }, + "5" : { "x" : -44.19, "y" : 15.75 }, + "6" : { "x" : -40.28, "y" : 10.05 }, + "7" : { "x" : -37.64, "y" : 2.21 }, + "8" : { "x" : -35.08, "y" : 10.56 }, + "9" : { "x" : -12.49, "y" : -14.65 }, + "10" : { "x" : -25.89, "y" : 20.10 }, + "11" : { "x" : -21.91, "y" : 8.74 } + }, + { + "index" : 7, + "ball" : { "x" : -35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.21, "y" : -2.19 }, + "3" : { "x" : -45.21, "y" : 2.19 }, + "4" : { "x" : -46.27, "y" : -4.12 }, + "5" : { "x" : -46.27, "y" : 4.12 }, + "6" : { "x" : -45.10, "y" : 0.00 }, + "7" : { "x" : -44.68, "y" : -5.14 }, + "8" : { "x" : -44.68, "y" : 5.14 }, + "9" : { "x" : -25.12, "y" : -16.78 }, + "10" : { "x" : -25.12, "y" : 16.78 }, + "11" : { "x" : -23.50, "y" : -0.09 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -54.00, "y" : 0.00 }, + "2" : { "x" : -52.60, "y" : -2.00 }, + "3" : { "x" : -52.60, "y" : 2.00 }, + "4" : { "x" : -52.60, "y" : -6.50 }, + "5" : { "x" : -52.60, "y" : 6.50 }, + "6" : { "x" : -52.60, "y" : 0.00 }, + "7" : { "x" : -52.60, "y" : -4.00 }, + "8" : { "x" : -52.60, "y" : 4.00 }, + "9" : { "x" : -33.21, "y" : -19.76 }, + "10" : { "x" : -33.21, "y" : 19.76 }, + "11" : { "x" : -32.47, "y" : 0.11 } + }, + { + "index" : 9, + "ball" : { "x" : -47.00, "y" : 0.00 }, + "1" : { "x" : -52.70, "y" : -0.35 }, + "2" : { "x" : -52.62, "y" : -2.09 }, + "3" : { "x" : -52.62, "y" : 1.08 }, + "4" : { "x" : -52.62, "y" : -3.88 }, + "5" : { "x" : -52.55, "y" : 3.65 }, + "6" : { "x" : -52.67, "y" : 2.37 }, + "7" : { "x" : -52.67, "y" : -5.34 }, + "8" : { "x" : -52.47, "y" : 4.96 }, + "9" : { "x" : -27.39, "y" : -19.82 }, + "10" : { "x" : -27.39, "y" : 19.82 }, + "11" : { "x" : -28.40, "y" : 0.07 } + }, + { + "index" : 10, + "ball" : { "x" : -47.00, "y" : -9.00 }, + "1" : { "x" : -52.65, "y" : -3.93 }, + "2" : { "x" : -52.55, "y" : -2.72 }, + "3" : { "x" : -52.65, "y" : -1.11 }, + "4" : { "x" : -52.55, "y" : -5.09 }, + "5" : { "x" : -52.72, "y" : 3.91 }, + "6" : { "x" : -52.65, "y" : 0.66 }, + "7" : { "x" : -52.75, "y" : -6.25 }, + "8" : { "x" : -51.44, "y" : 2.87 }, + "9" : { "x" : -36.10, "y" : -15.24 }, + "10" : { "x" : -30.66, "y" : 15.55 }, + "11" : { "x" : -32.13, "y" : -3.29 } + }, + { + "index" : 11, + "ball" : { "x" : -47.00, "y" : 9.00 }, + "1" : { "x" : -52.65, "y" : 3.93 }, + "2" : { "x" : -52.65, "y" : 1.11 }, + "3" : { "x" : -52.55, "y" : 2.72 }, + "4" : { "x" : -52.72, "y" : -3.91 }, + "5" : { "x" : -52.55, "y" : 5.09 }, + "6" : { "x" : -52.65, "y" : -0.66 }, + "7" : { "x" : -51.44, "y" : -2.87 }, + "8" : { "x" : -52.75, "y" : 6.25 }, + "9" : { "x" : -30.66, "y" : -15.55 }, + "10" : { "x" : -36.10, "y" : 15.24 }, + "11" : { "x" : -32.13, "y" : 3.29 } + }, + { + "index" : 12, + "ball" : { "x" : -35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : -3.02 }, + "2" : { "x" : -45.64, "y" : -4.17 }, + "3" : { "x" : -45.25, "y" : 0.23 }, + "4" : { "x" : -45.78, "y" : -7.75 }, + "5" : { "x" : -45.25, "y" : 5.29 }, + "6" : { "x" : -43.44, "y" : -2.95 }, + "7" : { "x" : -45.74, "y" : -6.20 }, + "8" : { "x" : -41.43, "y" : 1.89 }, + "9" : { "x" : -27.84, "y" : -17.20 }, + "10" : { "x" : -20.78, "y" : 14.99 }, + "11" : { "x" : -25.29, "y" : -3.66 } + }, + { + "index" : 13, + "ball" : { "x" : -35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 3.02 }, + "2" : { "x" : -45.25, "y" : -0.23 }, + "3" : { "x" : -45.64, "y" : 4.17 }, + "4" : { "x" : -45.25, "y" : -5.29 }, + "5" : { "x" : -45.78, "y" : 7.75 }, + "6" : { "x" : -43.44, "y" : 2.95 }, + "7" : { "x" : -41.43, "y" : -1.89 }, + "8" : { "x" : -45.74, "y" : 6.20 }, + "9" : { "x" : -20.78, "y" : -14.99 }, + "10" : { "x" : -27.84, "y" : 17.20 }, + "11" : { "x" : -25.29, "y" : 3.66 } + }, + { + "index" : 14, + "ball" : { "x" : -44.00, "y" : -21.00 }, + "1" : { "x" : -51.00, "y" : -6.00 }, + "2" : { "x" : -45.86, "y" : -4.39 }, + "3" : { "x" : -45.71, "y" : 1.02 }, + "4" : { "x" : -45.97, "y" : -7.15 }, + "5" : { "x" : -45.40, "y" : 5.78 }, + "6" : { "x" : -44.08, "y" : -6.92 }, + "7" : { "x" : -44.72, "y" : -8.96 }, + "8" : { "x" : -41.36, "y" : -0.49 }, + "9" : { "x" : -39.09, "y" : -10.43 }, + "10" : { "x" : -18.77, "y" : 16.91 }, + "11" : { "x" : -23.22, "y" : -6.10 } + }, + { + "index" : 15, + "ball" : { "x" : -44.00, "y" : 21.00 }, + "1" : { "x" : -51.00, "y" : 6.00 }, + "2" : { "x" : -45.71, "y" : -1.02 }, + "3" : { "x" : -45.86, "y" : 4.39 }, + "4" : { "x" : -45.40, "y" : -5.78 }, + "5" : { "x" : -45.97, "y" : 7.15 }, + "6" : { "x" : -44.08, "y" : 6.92 }, + "7" : { "x" : -41.36, "y" : 0.49 }, + "8" : { "x" : -44.72, "y" : 8.96 }, + "9" : { "x" : -18.77, "y" : -16.91 }, + "10" : { "x" : -39.09, "y" : 10.43 }, + "11" : { "x" : -23.22, "y" : 6.10 } + }, + { + "index" : 16, + "ball" : { "x" : -54.50, "y" : -21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -48.79, "y" : -7.15 }, + "3" : { "x" : -47.86, "y" : -0.17 }, + "4" : { "x" : -49.73, "y" : -13.20 }, + "5" : { "x" : -48.37, "y" : 6.05 }, + "6" : { "x" : -44.53, "y" : -8.00 }, + "7" : { "x" : -41.72, "y" : -14.39 }, + "8" : { "x" : -38.40, "y" : 0.34 }, + "9" : { "x" : -30.87, "y" : -24.94 }, + "10" : { "x" : -22.65, "y" : 21.03 }, + "11" : { "x" : -22.45, "y" : -2.96 } + }, + { + "index" : 17, + "ball" : { "x" : -54.50, "y" : 21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -47.86, "y" : 0.17 }, + "3" : { "x" : -48.79, "y" : 7.15 }, + "4" : { "x" : -48.37, "y" : -6.05 }, + "5" : { "x" : -49.73, "y" : 13.20 }, + "6" : { "x" : -44.53, "y" : 8.00 }, + "7" : { "x" : -38.40, "y" : -0.34 }, + "8" : { "x" : -41.72, "y" : 14.39 }, + "9" : { "x" : -22.65, "y" : -21.03 }, + "10" : { "x" : -30.87, "y" : 24.94 }, + "11" : { "x" : -22.45, "y" : 2.96 } + }, + { + "index" : 18, + "ball" : { "x" : -42.00, "y" : 0.00 }, + "1" : { "x" : -52.78, "y" : -1.21 }, + "2" : { "x" : -51.87, "y" : -1.06 }, + "3" : { "x" : -51.87, "y" : 1.06 }, + "4" : { "x" : -51.53, "y" : -3.25 }, + "5" : { "x" : -51.91, "y" : 3.48 }, + "6" : { "x" : -52.32, "y" : 1.44 }, + "7" : { "x" : -51.19, "y" : -5.22 }, + "8" : { "x" : -51.19, "y" : 5.22 }, + "9" : { "x" : -29.12, "y" : -16.35 }, + "10" : { "x" : -29.12, "y" : 16.35 }, + "11" : { "x" : -27.20, "y" : 0.06 } + }, + { + "index" : 19, + "ball" : { "x" : -42.50, "y" : -9.00 }, + "1" : { "x" : -52.51, "y" : -1.65 }, + "2" : { "x" : -52.62, "y" : -3.52 }, + "3" : { "x" : -52.11, "y" : 1.08 }, + "4" : { "x" : -52.79, "y" : -4.94 }, + "5" : { "x" : -52.06, "y" : 3.41 }, + "6" : { "x" : -51.32, "y" : 0.57 }, + "7" : { "x" : -52.85, "y" : -6.47 }, + "8" : { "x" : -50.07, "y" : 5.28 }, + "9" : { "x" : -33.14, "y" : -15.92 }, + "10" : { "x" : -26.91, "y" : 15.37 }, + "11" : { "x" : -29.52, "y" : -3.47 } + }, + { + "index" : 20, + "ball" : { "x" : -42.50, "y" : 9.00 }, + "1" : { "x" : -52.51, "y" : 1.65 }, + "2" : { "x" : -52.11, "y" : -1.08 }, + "3" : { "x" : -52.62, "y" : 3.52 }, + "4" : { "x" : -52.06, "y" : -3.41 }, + "5" : { "x" : -52.79, "y" : 4.94 }, + "6" : { "x" : -51.32, "y" : -0.57 }, + "7" : { "x" : -50.07, "y" : -5.28 }, + "8" : { "x" : -52.85, "y" : 6.47 }, + "9" : { "x" : -26.91, "y" : -15.37 }, + "10" : { "x" : -33.14, "y" : 15.92 }, + "11" : { "x" : -29.52, "y" : 3.47 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-our-formation.conf new file mode 100644 index 0000000..40592d4 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/indirect-freekick-our-formation.conf @@ -0,0 +1,460 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 34.06, "y" : 0.17 }, + "7" : { "x" : 35.08, "y" : -7.07 }, + "8" : { "x" : 35.08, "y" : 7.07 }, + "9" : { "x" : 41.43, "y" : -5.14 }, + "10" : { "x" : 41.43, "y" : 5.14 }, + "11" : { "x" : 41.02, "y" : 0.04 } + }, + { + "index" : 3, + "ball" : { "x" : 35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 32.19, "y" : -2.72 }, + "7" : { "x" : 34.49, "y" : -9.03 }, + "8" : { "x" : 35.00, "y" : 5.71 }, + "9" : { "x" : 41.47, "y" : -6.31 }, + "10" : { "x" : 43.25, "y" : 3.86 }, + "11" : { "x" : 42.76, "y" : -1.78 } + }, + { + "index" : 4, + "ball" : { "x" : 35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -6.85 }, + "3" : { "x" : 1.68, "y" : 7.93 }, + "4" : { "x" : 12.26, "y" : -16.47 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 32.19, "y" : 2.72 }, + "7" : { "x" : 35.00, "y" : -5.71 }, + "8" : { "x" : 34.49, "y" : 9.03 }, + "9" : { "x" : 43.25, "y" : -3.86 }, + "10" : { "x" : 41.47, "y" : 6.31 }, + "11" : { "x" : 42.76, "y" : 1.78 } + }, + { + "index" : 5, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 6, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 7, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 9, + "ball" : { "x" : 35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.35 }, + "6" : { "x" : 28.78, "y" : -11.75 }, + "7" : { "x" : 34.23, "y" : -20.86 }, + "8" : { "x" : 35.08, "y" : -1.70 }, + "9" : { "x" : 39.00, "y" : -16.86 }, + "10" : { "x" : 40.36, "y" : 5.79 }, + "11" : { "x" : 39.85, "y" : -10.22 } + }, + { + "index" : 10, + "ball" : { "x" : 35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.35 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 28.78, "y" : 11.75 }, + "7" : { "x" : 35.08, "y" : 1.70 }, + "8" : { "x" : 34.23, "y" : 20.86 }, + "9" : { "x" : 40.36, "y" : -5.79 }, + "10" : { "x" : 39.00, "y" : 16.86 }, + "11" : { "x" : 39.85, "y" : 10.22 } + }, + { + "index" : 11, + "ball" : { "x" : 54.50, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.65, "y" : -10.71 }, + "3" : { "x" : 4.82, "y" : 4.56 }, + "4" : { "x" : 10.43, "y" : -23.74 }, + "5" : { "x" : 16.19, "y" : 14.12 }, + "6" : { "x" : 35.85, "y" : -10.13 }, + "7" : { "x" : 53.65, "y" : -21.12 }, + "8" : { "x" : 38.57, "y" : -0.34 }, + "9" : { "x" : 48.28, "y" : -12.94 }, + "10" : { "x" : 46.41, "y" : 5.79 }, + "11" : { "x" : 46.83, "y" : -5.88 } + }, + { + "index" : 12, + "ball" : { "x" : 54.50, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 4.82, "y" : -4.56 }, + "3" : { "x" : 0.65, "y" : 10.71 }, + "4" : { "x" : 16.19, "y" : -14.12 }, + "5" : { "x" : 10.43, "y" : 23.74 }, + "6" : { "x" : 35.85, "y" : 10.13 }, + "7" : { "x" : 38.57, "y" : 0.34 }, + "8" : { "x" : 53.65, "y" : 21.12 }, + "9" : { "x" : 46.41, "y" : -5.79 }, + "10" : { "x" : 48.28, "y" : 12.94 }, + "11" : { "x" : 46.83, "y" : 5.88 } + }, + { + "index" : 13, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -7.64 }, + "3" : { "x" : 2.74, "y" : 7.64 }, + "4" : { "x" : 13.31, "y" : -18.93 }, + "5" : { "x" : 13.31, "y" : 18.93 }, + "6" : { "x" : 36.62, "y" : 0.00 }, + "7" : { "x" : 40.15, "y" : -8.47 }, + "8" : { "x" : 40.15, "y" : 8.47 }, + "9" : { "x" : 50.41, "y" : -6.13 }, + "10" : { "x" : 50.41, "y" : 6.13 }, + "11" : { "x" : 53.00, "y" : 0.09 } + }, + { + "index" : 14, + "ball" : { "x" : 47.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.80, "y" : -8.51 }, + "3" : { "x" : 4.12, "y" : 6.57 }, + "4" : { "x" : 9.30, "y" : -20.53 }, + "5" : { "x" : 13.60, "y" : 16.77 }, + "6" : { "x" : 35.08, "y" : -1.19 }, + "7" : { "x" : 46.27, "y" : -8.92 }, + "8" : { "x" : 38.71, "y" : 5.18 }, + "9" : { "x" : 49.22, "y" : -6.09 }, + "10" : { "x" : 48.96, "y" : 2.61 }, + "11" : { "x" : 49.22, "y" : -2.42 } + }, + { + "index" : 15, + "ball" : { "x" : 47.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.12, "y" : -6.57 }, + "3" : { "x" : 1.80, "y" : 8.51 }, + "4" : { "x" : 13.60, "y" : -16.77 }, + "5" : { "x" : 9.30, "y" : 20.53 }, + "6" : { "x" : 35.08, "y" : 1.19 }, + "7" : { "x" : 38.71, "y" : -5.18 }, + "8" : { "x" : 46.27, "y" : 8.92 }, + "9" : { "x" : 48.96, "y" : -2.61 }, + "10" : { "x" : 49.22, "y" : 6.09 }, + "11" : { "x" : 49.22, "y" : 2.42 } + }, + { + "index" : 16, + "ball" : { "x" : 54.50, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -8.98 }, + "3" : { "x" : 3.65, "y" : 6.29 }, + "4" : { "x" : 12.05, "y" : -21.04 }, + "5" : { "x" : 14.57, "y" : 16.82 }, + "6" : { "x" : 36.28, "y" : -4.44 }, + "7" : { "x" : 53.90, "y" : -9.37 }, + "8" : { "x" : 39.46, "y" : 4.61 }, + "9" : { "x" : 50.58, "y" : -5.96 }, + "10" : { "x" : 47.13, "y" : 6.32 }, + "11" : { "x" : 46.66, "y" : -0.51 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 3.65, "y" : -6.29 }, + "3" : { "x" : 1.82, "y" : 8.98 }, + "4" : { "x" : 14.57, "y" : -16.82 }, + "5" : { "x" : 12.05, "y" : 21.04 }, + "6" : { "x" : 36.28, "y" : 4.44 }, + "7" : { "x" : 39.46, "y" : -4.61 }, + "8" : { "x" : 53.90, "y" : 9.37 }, + "9" : { "x" : 47.13, "y" : -6.32 }, + "10" : { "x" : 50.58, "y" : 5.96 }, + "11" : { "x" : 46.66, "y" : 0.51 } + }, + { + "index" : 18, + "ball" : { "x" : 47.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.61, "y" : -7.53 }, + "3" : { "x" : 2.61, "y" : 7.53 }, + "4" : { "x" : 10.66, "y" : -18.55 }, + "5" : { "x" : 10.66, "y" : 18.55 }, + "6" : { "x" : 33.31, "y" : 0.00 }, + "7" : { "x" : 41.13, "y" : -6.10 }, + "8" : { "x" : 41.13, "y" : 6.10 }, + "9" : { "x" : 48.96, "y" : -4.35 }, + "10" : { "x" : 48.96, "y" : 4.35 }, + "11" : { "x" : 46.32, "y" : -0.09 } + }, + { + "index" : 19, + "ball" : { "x" : 45.00, "y" : -3.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.04, "y" : -7.87 }, + "3" : { "x" : 2.87, "y" : 7.17 }, + "4" : { "x" : 9.46, "y" : -19.17 }, + "5" : { "x" : 11.01, "y" : 17.82 }, + "6" : { "x" : 32.43, "y" : -0.37 }, + "7" : { "x" : 44.50, "y" : -3.33 }, + "8" : { "x" : 37.42, "y" : 7.26 }, + "9" : { "x" : 49.33, "y" : -5.44 }, + "10" : { "x" : 49.22, "y" : 3.70 }, + "11" : { "x" : 49.52, "y" : -1.55 } + }, + { + "index" : 20, + "ball" : { "x" : 45.00, "y" : 3.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.87, "y" : -7.17 }, + "3" : { "x" : 2.04, "y" : 7.87 }, + "4" : { "x" : 11.01, "y" : -17.82 }, + "5" : { "x" : 9.46, "y" : 19.17 }, + "6" : { "x" : 32.43, "y" : 0.37 }, + "7" : { "x" : 37.42, "y" : -7.26 }, + "8" : { "x" : 44.50, "y" : 3.33 }, + "9" : { "x" : 49.22, "y" : -3.70 }, + "10" : { "x" : 49.33, "y" : 5.44 }, + "11" : { "x" : 49.52, "y" : 1.55 } + }, + { + "index" : 21, + "ball" : { "x" : 40.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.21, "y" : -7.45 }, + "3" : { "x" : 1.21, "y" : 7.45 }, + "4" : { "x" : 7.08, "y" : -18.09 }, + "5" : { "x" : 7.08, "y" : 18.09 }, + "6" : { "x" : 31.79, "y" : -2.34 }, + "7" : { "x" : 39.13, "y" : -0.08 }, + "8" : { "x" : 37.84, "y" : 3.63 }, + "9" : { "x" : 45.44, "y" : -3.33 }, + "10" : { "x" : 45.44, "y" : 3.36 }, + "11" : { "x" : 45.59, "y" : -0.08 } + }, + { + "index" : 22, + "ball" : { "x" : 44.53, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.34, "y" : -7.51 }, + "3" : { "x" : 2.34, "y" : 7.51 }, + "4" : { "x" : 9.94, "y" : -18.46 }, + "5" : { "x" : 9.94, "y" : 18.46 }, + "6" : { "x" : 32.41, "y" : -0.00 }, + "7" : { "x" : 38.60, "y" : -4.65 }, + "8" : { "x" : 38.60, "y" : 4.65 }, + "9" : { "x" : 47.48, "y" : -3.97 }, + "10" : { "x" : 47.48, "y" : 3.97 }, + "11" : { "x" : 44.62, "y" : -0.09 } + }, + { + "index" : 23, + "ball" : { "x" : 47.00, "y" : -4.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.24, "y" : -7.99 }, + "3" : { "x" : 3.31, "y" : 7.09 }, + "4" : { "x" : 10.12, "y" : -19.48 }, + "5" : { "x" : 12.11, "y" : 17.74 }, + "6" : { "x" : 34.25, "y" : -0.55 }, + "7" : { "x" : 43.66, "y" : -7.46 }, + "8" : { "x" : 39.00, "y" : 6.28 }, + "9" : { "x" : 48.96, "y" : -7.58 }, + "10" : { "x" : 48.77, "y" : 0.53 }, + "11" : { "x" : 46.92, "y" : -3.75 } + }, + { + "index" : 24, + "ball" : { "x" : 47.00, "y" : 4.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.31, "y" : -7.09 }, + "3" : { "x" : 2.24, "y" : 7.99 }, + "4" : { "x" : 12.11, "y" : -17.74 }, + "5" : { "x" : 10.12, "y" : 19.48 }, + "6" : { "x" : 34.25, "y" : 0.55 }, + "7" : { "x" : 39.00, "y" : -6.28 }, + "8" : { "x" : 43.66, "y" : 7.46 }, + "9" : { "x" : 48.77, "y" : -0.53 }, + "10" : { "x" : 48.96, "y" : 7.58 }, + "11" : { "x" : 46.92, "y" : 3.75 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/kickin-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/kickin-our-formation.conf new file mode 100644 index 0000000..956c8a9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/kickin-our-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -9.00 }, + "3" : { "x" : 0.00, "y" : 9.00 }, + "4" : { "x" : 7.00, "y" : -19.00 }, + "5" : { "x" : 7.00, "y" : 19.00 }, + "6" : { "x" : 21.00, "y" : 0.00 }, + "7" : { "x" : 35.00, "y" : -6.00 }, + "8" : { "x" : 35.00, "y" : 6.00 }, + "9" : { "x" : 46.00, "y" : -9.50 }, + "10" : { "x" : 46.00, "y" : 9.50 }, + "11" : { "x" : 46.00, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -22.00, "y" : 28.00 }, + "11" : { "x" : -18.49, "y" : 0.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.06, "y" : -4.84 }, + "3" : { "x" : -15.18, "y" : 3.68 }, + "4" : { "x" : -12.58, "y" : -14.88 }, + "5" : { "x" : -13.39, "y" : 14.07 }, + "6" : { "x" : -5.61, "y" : 0.00 }, + "7" : { "x" : 0.11, "y" : -11.99 }, + "8" : { "x" : 0.11, "y" : 11.99 }, + "9" : { "x" : 10.37, "y" : -23.99 }, + "10" : { "x" : 10.84, "y" : 23.99 }, + "11" : { "x" : 10.84, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.35, "y" : -11.81 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -47.81, "y" : -26.33 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.23, "y" : -11.92 }, + "7" : { "x" : -37.38, "y" : -21.36 }, + "8" : { "x" : -27.94, "y" : 1.74 }, + "9" : { "x" : -22.23, "y" : -31.17 }, + "10" : { "x" : -17.01, "y" : 19.99 }, + "11" : { "x" : -17.51, "y" : -11.55 } + }, + { + "index" : 4, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -47.35, "y" : 11.81 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -47.81, "y" : 26.33 }, + "6" : { "x" : -41.23, "y" : 11.92 }, + "7" : { "x" : -27.94, "y" : -1.74 }, + "8" : { "x" : -37.38, "y" : 21.36 }, + "9" : { "x" : -17.01, "y" : -19.99 }, + "10" : { "x" : -22.23, "y" : 31.17 }, + "11" : { "x" : -17.51, "y" : 11.55 } + }, + { + "index" : 5, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -39.12, "y" : -16.02 }, + "3" : { "x" : -38.87, "y" : -6.58 }, + "4" : { "x" : -36.39, "y" : -27.94 }, + "5" : { "x" : -36.76, "y" : 3.85 }, + "6" : { "x" : -28.32, "y" : -15.28 }, + "7" : { "x" : -22.23, "y" : -24.59 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.43, "y" : -32.54 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.20, "y" : -14.16 } + }, + { + "index" : 6, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.87, "y" : 6.58 }, + "3" : { "x" : -39.12, "y" : 16.02 }, + "4" : { "x" : -36.76, "y" : -3.85 }, + "5" : { "x" : -36.39, "y" : 27.94 }, + "6" : { "x" : -28.32, "y" : 15.28 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -22.23, "y" : 24.59 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.43, "y" : 32.54 }, + "11" : { "x" : -7.20, "y" : 14.16 } + }, + { + "index" : 7, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.50, "y" : -21.61 }, + "3" : { "x" : -18.50, "y" : -8.94 }, + "4" : { "x" : -12.42, "y" : -34.65 }, + "5" : { "x" : -18.38, "y" : 4.72 }, + "6" : { "x" : -9.07, "y" : -14.90 }, + "7" : { "x" : -0.50, "y" : -22.48 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 11.67, "y" : -32.29 }, + "10" : { "x" : 10.80, "y" : 14.03 }, + "11" : { "x" : 8.20, "y" : -15.15 } + }, + { + "index" : 8, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.50, "y" : 8.94 }, + "3" : { "x" : -18.50, "y" : 21.61 }, + "4" : { "x" : -18.38, "y" : -4.72 }, + "5" : { "x" : -12.42, "y" : 34.65 }, + "6" : { "x" : -9.07, "y" : 14.90 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -0.50, "y" : 22.48 }, + "9" : { "x" : 10.80, "y" : -14.03 }, + "10" : { "x" : 11.67, "y" : 32.29 }, + "11" : { "x" : 8.20, "y" : 15.15 } + }, + { + "index" : 9, + "ball" : { "x" : 38.13, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.14, "y" : -16.53 }, + "3" : { "x" : 6.25, "y" : -1.80 }, + "4" : { "x" : 7.93, "y" : -28.00 }, + "5" : { "x" : 17.31, "y" : 8.77 }, + "6" : { "x" : 24.88, "y" : -17.67 }, + "7" : { "x" : 36.30, "y" : -31.49 }, + "8" : { "x" : 32.09, "y" : -0.36 }, + "9" : { "x" : 46.75, "y" : -24.64 }, + "10" : { "x" : 44.23, "y" : -0.72 }, + "11" : { "x" : 44.59, "y" : -13.82 } + }, + { + "index" : 10, + "ball" : { "x" : 38.13, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.25, "y" : 1.80 }, + "3" : { "x" : -0.14, "y" : 16.53 }, + "4" : { "x" : 17.31, "y" : -8.77 }, + "5" : { "x" : 7.93, "y" : 28.00 }, + "6" : { "x" : 24.88, "y" : 17.67 }, + "7" : { "x" : 32.09, "y" : 0.36 }, + "8" : { "x" : 36.30, "y" : 31.49 }, + "9" : { "x" : 44.23, "y" : 0.72 }, + "10" : { "x" : 46.75, "y" : 24.64 }, + "11" : { "x" : 44.59, "y" : 13.82 } + }, + { + "index" : 11, + "ball" : { "x" : 35.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -14.54 }, + "3" : { "x" : 6.49, "y" : -0.12 }, + "4" : { "x" : 6.37, "y" : -27.76 }, + "5" : { "x" : 15.86, "y" : 8.65 }, + "6" : { "x" : 22.73, "y" : -17.39 }, + "7" : { "x" : 33.41, "y" : -32.69 }, + "8" : { "x" : 29.81, "y" : 0.00 }, + "9" : { "x" : 43.03, "y" : -29.81 }, + "10" : { "x" : 41.70, "y" : -1.08 }, + "11" : { "x" : 42.31, "y" : -15.38 } + }, + { + "index" : 12, + "ball" : { "x" : 35.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.49, "y" : 0.12 }, + "3" : { "x" : 1.68, "y" : 14.54 }, + "4" : { "x" : 15.86, "y" : -8.65 }, + "5" : { "x" : 6.37, "y" : 27.76 }, + "6" : { "x" : 22.73, "y" : 17.39 }, + "7" : { "x" : 29.81, "y" : -0.00 }, + "8" : { "x" : 33.41, "y" : 32.69 }, + "9" : { "x" : 41.70, "y" : 1.08 }, + "10" : { "x" : 43.03, "y" : 29.81 }, + "11" : { "x" : 42.31, "y" : 15.38 } + }, + { + "index" : 13, + "ball" : { "x" : 24.88, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.84, "y" : -21.03 }, + "3" : { "x" : 2.88, "y" : -5.53 }, + "4" : { "x" : 20.67, "y" : -32.93 }, + "5" : { "x" : 11.42, "y" : 7.69 }, + "6" : { "x" : 14.54, "y" : -13.46 }, + "7" : { "x" : 26.08, "y" : -19.11 }, + "8" : { "x" : 31.01, "y" : -6.01 }, + "9" : { "x" : 44.23, "y" : -29.93 }, + "10" : { "x" : 39.54, "y" : -1.08 }, + "11" : { "x" : 41.34, "y" : -17.43 } + }, + { + "index" : 14, + "ball" : { "x" : 24.88, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.88, "y" : 5.53 }, + "3" : { "x" : -0.84, "y" : 21.03 }, + "4" : { "x" : 11.42, "y" : -7.69 }, + "5" : { "x" : 20.67, "y" : 32.93 }, + "6" : { "x" : 14.54, "y" : 13.46 }, + "7" : { "x" : 31.01, "y" : 6.01 }, + "8" : { "x" : 26.08, "y" : 19.11 }, + "9" : { "x" : 39.54, "y" : 1.08 }, + "10" : { "x" : 44.23, "y" : 29.93 }, + "11" : { "x" : 41.34, "y" : 17.43 } + }, + { + "index" : 15, + "ball" : { "x" : 12.98, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.61, "y" : -21.51 }, + "3" : { "x" : -0.12, "y" : -4.33 }, + "4" : { "x" : 9.86, "y" : -31.97 }, + "5" : { "x" : 8.29, "y" : 8.17 }, + "6" : { "x" : 8.51, "y" : -16.20 }, + "7" : { "x" : 20.91, "y" : -20.67 }, + "8" : { "x" : 18.15, "y" : -1.20 }, + "9" : { "x" : 37.02, "y" : -31.25 }, + "10" : { "x" : 31.49, "y" : -1.08 }, + "11" : { "x" : 34.97, "y" : -15.38 } + }, + { + "index" : 16, + "ball" : { "x" : 12.98, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.12, "y" : 4.33 }, + "3" : { "x" : -3.61, "y" : 21.51 }, + "4" : { "x" : 8.29, "y" : -8.17 }, + "5" : { "x" : 9.86, "y" : 31.97 }, + "6" : { "x" : 8.51, "y" : 16.20 }, + "7" : { "x" : 18.15, "y" : 1.20 }, + "8" : { "x" : 20.91, "y" : 20.67 }, + "9" : { "x" : 31.49, "y" : 1.08 }, + "10" : { "x" : 37.02, "y" : 31.25 }, + "11" : { "x" : 34.97, "y" : 15.38 } + }, + { + "index" : 17, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.58, "y" : -23.22 }, + "3" : { "x" : -9.06, "y" : -10.97 }, + "4" : { "x" : -1.56, "y" : -32.69 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : 0.00, "y" : -16.95 }, + "7" : { "x" : 7.57, "y" : -22.71 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 24.47, "y" : -30.18 }, + "10" : { "x" : 23.68, "y" : 3.97 }, + "11" : { "x" : 20.91, "y" : -14.66 } + }, + { + "index" : 18, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.06, "y" : 10.97 }, + "3" : { "x" : -7.58, "y" : 23.22 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -1.56, "y" : 32.69 }, + "6" : { "x" : 0.00, "y" : 16.95 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 7.57, "y" : 22.71 }, + "9" : { "x" : 23.68, "y" : -3.97 }, + "10" : { "x" : 24.47, "y" : 30.18 }, + "11" : { "x" : 20.91, "y" : 14.66 } + }, + { + "index" : 19, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.24, "y" : -14.54 }, + "3" : { "x" : 7.21, "y" : -0.48 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 17.19, "y" : 10.22 }, + "6" : { "x" : 24.76, "y" : -14.66 }, + "7" : { "x" : 39.78, "y" : -28.60 }, + "8" : { "x" : 38.65, "y" : -11.04 }, + "9" : { "x" : 51.54, "y" : -34.65 }, + "10" : { "x" : 46.27, "y" : -8.05 }, + "11" : { "x" : 48.07, "y" : -22.35 } + }, + { + "index" : 20, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 7.21, "y" : 0.48 }, + "3" : { "x" : -0.24, "y" : 14.54 }, + "4" : { "x" : 17.19, "y" : -10.22 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 24.76, "y" : 14.66 }, + "7" : { "x" : 38.65, "y" : 11.04 }, + "8" : { "x" : 39.78, "y" : 28.60 }, + "9" : { "x" : 46.27, "y" : 8.05 }, + "10" : { "x" : 51.54, "y" : 34.65 }, + "11" : { "x" : 48.07, "y" : 22.35 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/normal-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/normal-formation.conf new file mode 100644 index 0000000..ac1e9d9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/normal-formation.conf @@ -0,0 +1,1810 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 4.90, "y" : -27.30 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 27.43, "y" : -16.50 }, + "7" : { "x" : 33.12, "y" : -27.00 }, + "8" : { "x" : 38.22, "y" : -3.50 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 46.00, "y" : 6.80 }, + "11" : { "x" : 46.28, "y" : -14.00 } + }, + { + "index" : 1, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 4.90, "y" : 27.30 }, + "6" : { "x" : 27.43, "y" : 16.50 }, + "7" : { "x" : 38.22, "y" : 3.50 }, + "8" : { "x" : 33.12, "y" : 27.00 }, + "9" : { "x" : 46.00, "y" : -6.80 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 46.28, "y" : 14.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.53, "y" : -5.42 }, + "3" : { "x" : -15.53, "y" : 5.42 }, + "4" : { "x" : -11.56, "y" : -15.78 }, + "5" : { "x" : -11.56, "y" : 15.78 }, + "6" : { "x" : -6.73, "y" : -1.87 }, + "7" : { "x" : 2.83, "y" : -10.81 }, + "8" : { "x" : 2.83, "y" : 10.81 }, + "9" : { "x" : 9.30, "y" : -23.78 }, + "10" : { "x" : 9.30, "y" : 23.78 }, + "11" : { "x" : 9.41, "y" : -3.12 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -6.07 }, + "3" : { "x" : 2.74, "y" : 6.07 }, + "4" : { "x" : 7.21, "y" : -18.58 }, + "5" : { "x" : 7.21, "y" : 18.58 }, + "6" : { "x" : 26.86, "y" : -3.20 }, + "7" : { "x" : 40.73, "y" : -3.77 }, + "8" : { "x" : 40.73, "y" : 3.77 }, + "9" : { "x" : 48.97, "y" : -9.82 }, + "10" : { "x" : 48.97, "y" : 9.82 }, + "11" : { "x" : 45.60, "y" : -1.65 } + }, + { + "index" : 4, + "ball" : { "x" : 36.57, "y" : -12.09 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.25, "y" : -9.96 }, + "3" : { "x" : 0.52, "y" : 3.20 }, + "4" : { "x" : 5.09, "y" : -23.21 }, + "5" : { "x" : 7.36, "y" : 15.67 }, + "6" : { "x" : 18.98, "y" : -7.30 }, + "7" : { "x" : 27.73, "y" : -14.57 }, + "8" : { "x" : 32.40, "y" : 1.86 }, + "9" : { "x" : 39.17, "y" : -19.85 }, + "10" : { "x" : 42.41, "y" : 10.78 }, + "11" : { "x" : 38.10, "y" : -8.45 } + }, + { + "index" : 5, + "ball" : { "x" : 36.57, "y" : 12.09 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.52, "y" : -3.20 }, + "3" : { "x" : -1.25, "y" : 9.96 }, + "4" : { "x" : 7.36, "y" : -15.67 }, + "5" : { "x" : 5.09, "y" : 23.21 }, + "6" : { "x" : 18.98, "y" : 7.30 }, + "7" : { "x" : 32.40, "y" : -1.86 }, + "8" : { "x" : 27.73, "y" : 14.57 }, + "9" : { "x" : 42.41, "y" : -10.78 }, + "10" : { "x" : 39.17, "y" : 19.85 }, + "11" : { "x" : 38.10, "y" : 8.45 } + }, + { + "index" : 6, + "ball" : { "x" : 48.51, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.51, "y" : -10.77 }, + "3" : { "x" : 3.07, "y" : 3.38 }, + "4" : { "x" : 2.27, "y" : -23.46 }, + "5" : { "x" : 12.83, "y" : 13.63 }, + "6" : { "x" : 25.20, "y" : -9.33 }, + "7" : { "x" : 34.83, "y" : -14.95 }, + "8" : { "x" : 39.34, "y" : -1.01 }, + "9" : { "x" : 45.03, "y" : -20.81 }, + "10" : { "x" : 46.88, "y" : 6.76 }, + "11" : { "x" : 43.86, "y" : -8.86 } + }, + { + "index" : 7, + "ball" : { "x" : 48.51, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.07, "y" : -3.38 }, + "3" : { "x" : 0.51, "y" : 10.77 }, + "4" : { "x" : 12.83, "y" : -13.63 }, + "5" : { "x" : 2.27, "y" : 23.46 }, + "6" : { "x" : 25.20, "y" : 9.33 }, + "7" : { "x" : 39.34, "y" : 1.01 }, + "8" : { "x" : 34.83, "y" : 14.95 }, + "9" : { "x" : 46.88, "y" : -6.76 }, + "10" : { "x" : 45.03, "y" : 20.81 }, + "11" : { "x" : 43.86, "y" : 8.86 } + }, + { + "index" : 8, + "ball" : { "x" : 42.76, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.98, "y" : -5.97 }, + "3" : { "x" : 0.98, "y" : 5.97 }, + "4" : { "x" : 6.85, "y" : -19.24 }, + "5" : { "x" : 6.85, "y" : 19.24 }, + "6" : { "x" : 21.77, "y" : -2.76 }, + "7" : { "x" : 35.57, "y" : -5.84 }, + "8" : { "x" : 35.57, "y" : 5.84 }, + "9" : { "x" : 44.37, "y" : -9.81 }, + "10" : { "x" : 44.37, "y" : 9.81 }, + "11" : { "x" : 40.72, "y" : -2.36 } + }, + { + "index" : 9, + "ball" : { "x" : 48.66, "y" : -5.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.54, "y" : -7.25 }, + "3" : { "x" : 2.33, "y" : 5.02 }, + "4" : { "x" : 6.06, "y" : -20.44 }, + "5" : { "x" : 8.38, "y" : 17.49 }, + "6" : { "x" : 24.70, "y" : -4.89 }, + "7" : { "x" : 37.70, "y" : -7.40 }, + "8" : { "x" : 39.20, "y" : 2.37 }, + "9" : { "x" : 46.09, "y" : -15.60 }, + "10" : { "x" : 46.80, "y" : 0.42 }, + "11" : { "x" : 43.57, "y" : -4.31 } + }, + { + "index" : 10, + "ball" : { "x" : 48.66, "y" : 5.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.33, "y" : -5.02 }, + "3" : { "x" : 1.54, "y" : 7.25 }, + "4" : { "x" : 8.38, "y" : -17.49 }, + "5" : { "x" : 6.06, "y" : 20.44 }, + "6" : { "x" : 24.70, "y" : 4.89 }, + "7" : { "x" : 39.20, "y" : -2.37 }, + "8" : { "x" : 37.70, "y" : 7.40 }, + "9" : { "x" : 46.80, "y" : -0.42 }, + "10" : { "x" : 46.09, "y" : 15.60 }, + "11" : { "x" : 43.57, "y" : 4.31 } + }, + { + "index" : 11, + "ball" : { "x" : 50.57, "y" : -6.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.66, "y" : -7.71 }, + "3" : { "x" : 2.75, "y" : 4.77 }, + "4" : { "x" : 5.36, "y" : -20.80 }, + "5" : { "x" : 9.23, "y" : 16.82 }, + "6" : { "x" : 25.62, "y" : -5.67 }, + "7" : { "x" : 38.20, "y" : -8.13 }, + "8" : { "x" : 40.06, "y" : 1.43 }, + "9" : { "x" : 47.00, "y" : -17.67 }, + "10" : { "x" : 47.39, "y" : -0.36 }, + "11" : { "x" : 44.40, "y" : -4.93 } + }, + { + "index" : 12, + "ball" : { "x" : 50.57, "y" : 6.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.75, "y" : -4.77 }, + "3" : { "x" : 1.66, "y" : 7.71 }, + "4" : { "x" : 9.23, "y" : -16.82 }, + "5" : { "x" : 5.36, "y" : 20.80 }, + "6" : { "x" : 25.62, "y" : 5.67 }, + "7" : { "x" : 40.06, "y" : -1.43 }, + "8" : { "x" : 38.20, "y" : 8.13 }, + "9" : { "x" : 47.39, "y" : 0.36 }, + "10" : { "x" : 47.00, "y" : 17.67 }, + "11" : { "x" : 44.40, "y" : 4.93 } + }, + { + "index" : 13, + "ball" : { "x" : 52.49, "y" : -17.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.95, "y" : -10.96 }, + "3" : { "x" : 3.74, "y" : 3.50 }, + "4" : { "x" : 0.75, "y" : -23.35 }, + "5" : { "x" : 14.73, "y" : 12.86 }, + "6" : { "x" : 27.02, "y" : -9.99 }, + "7" : { "x" : 36.71, "y" : -15.30 }, + "8" : { "x" : 40.72, "y" : -1.59 }, + "9" : { "x" : 47.62, "y" : -24.13 }, + "10" : { "x" : 47.64, "y" : 7.59 }, + "11" : { "x" : 45.39, "y" : -8.87 } + }, + { + "index" : 14, + "ball" : { "x" : 52.49, "y" : 17.10 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.74, "y" : -3.50 }, + "3" : { "x" : 0.95, "y" : 10.96 }, + "4" : { "x" : 14.73, "y" : -12.86 }, + "5" : { "x" : 0.75, "y" : 23.35 }, + "6" : { "x" : 27.02, "y" : 9.99 }, + "7" : { "x" : 40.72, "y" : 1.59 }, + "8" : { "x" : 36.71, "y" : 15.30 }, + "9" : { "x" : 47.64, "y" : -7.59 }, + "10" : { "x" : 47.62, "y" : 24.13 }, + "11" : { "x" : 45.39, "y" : 8.87 } + }, + { + "index" : 15, + "ball" : { "x" : 52.49, "y" : -7.96 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -7.99 }, + "3" : { "x" : 3.10, "y" : 4.66 }, + "4" : { "x" : 4.65, "y" : -20.95 }, + "5" : { "x" : 10.02, "y" : 16.31 }, + "6" : { "x" : 26.49, "y" : -6.22 }, + "7" : { "x" : 38.78, "y" : -8.58 }, + "8" : { "x" : 40.75, "y" : 0.80 }, + "9" : { "x" : 48.07, "y" : -19.82 }, + "10" : { "x" : 47.99, "y" : 0.19 }, + "11" : { "x" : 45.16, "y" : -5.26 } + }, + { + "index" : 16, + "ball" : { "x" : 52.49, "y" : 7.96 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.10, "y" : -4.66 }, + "3" : { "x" : 1.82, "y" : 7.99 }, + "4" : { "x" : 10.02, "y" : -16.31 }, + "5" : { "x" : 4.65, "y" : 20.95 }, + "6" : { "x" : 26.49, "y" : 6.22 }, + "7" : { "x" : 40.75, "y" : -0.80 }, + "8" : { "x" : 38.78, "y" : 8.58 }, + "9" : { "x" : 47.99, "y" : -0.19 }, + "10" : { "x" : 48.07, "y" : 19.82 }, + "11" : { "x" : 45.16, "y" : 5.26 } + }, + { + "index" : 17, + "ball" : { "x" : 49.25, "y" : -9.29 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.25, "y" : -8.48 }, + "3" : { "x" : 2.73, "y" : 4.33 }, + "4" : { "x" : 4.73, "y" : -21.62 }, + "5" : { "x" : 9.92, "y" : 16.07 }, + "6" : { "x" : 25.18, "y" : -6.62 }, + "7" : { "x" : 37.01, "y" : -10.02 }, + "8" : { "x" : 39.69, "y" : 0.74 }, + "9" : { "x" : 46.18, "y" : -17.93 }, + "10" : { "x" : 47.11, "y" : 1.01 }, + "11" : { "x" : 43.96, "y" : -6.11 } + }, + { + "index" : 18, + "ball" : { "x" : 49.25, "y" : 9.29 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.73, "y" : -4.33 }, + "3" : { "x" : 1.25, "y" : 8.48 }, + "4" : { "x" : 9.92, "y" : -16.07 }, + "5" : { "x" : 4.73, "y" : 21.62 }, + "6" : { "x" : 25.18, "y" : 6.62 }, + "7" : { "x" : 39.69, "y" : -0.74 }, + "8" : { "x" : 37.01, "y" : 10.02 }, + "9" : { "x" : 47.11, "y" : -1.01 }, + "10" : { "x" : 46.18, "y" : 17.93 }, + "11" : { "x" : 43.96, "y" : 6.11 } + }, + { + "index" : 19, + "ball" : { "x" : 46.74, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.62, "y" : -6.08 }, + "3" : { "x" : 1.62, "y" : 6.08 }, + "4" : { "x" : 7.10, "y" : -19.05 }, + "5" : { "x" : 7.10, "y" : 19.05 }, + "6" : { "x" : 23.75, "y" : -0.90 }, + "7" : { "x" : 37.73, "y" : -4.99 }, + "8" : { "x" : 37.73, "y" : 4.99 }, + "9" : { "x" : 45.70, "y" : -9.75 }, + "10" : { "x" : 45.70, "y" : 9.75 }, + "11" : { "x" : 42.56, "y" : -2.13 } + }, + { + "index" : 20, + "ball" : { "x" : 42.61, "y" : -5.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.50, "y" : -7.52 }, + "3" : { "x" : 1.36, "y" : 4.72 }, + "4" : { "x" : 6.18, "y" : -20.97 }, + "5" : { "x" : 7.57, "y" : 17.56 }, + "6" : { "x" : 21.91, "y" : -4.90 }, + "7" : { "x" : 34.21, "y" : -9.06 }, + "8" : { "x" : 36.27, "y" : 3.21 }, + "9" : { "x" : 43.47, "y" : -15.10 }, + "10" : { "x" : 45.41, "y" : 2.80 }, + "11" : { "x" : 40.91, "y" : -5.04 } + }, + { + "index" : 21, + "ball" : { "x" : 42.61, "y" : 5.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.36, "y" : -4.72 }, + "3" : { "x" : 0.50, "y" : 7.52 }, + "4" : { "x" : 7.57, "y" : -17.56 }, + "5" : { "x" : 6.18, "y" : 20.97 }, + "6" : { "x" : 21.91, "y" : 4.90 }, + "7" : { "x" : 36.27, "y" : -3.21 }, + "8" : { "x" : 34.21, "y" : 9.06 }, + "9" : { "x" : 45.41, "y" : -2.80 }, + "10" : { "x" : 43.47, "y" : 15.10 }, + "11" : { "x" : 40.91, "y" : 5.04 } + }, + { + "index" : 22, + "ball" : { "x" : 45.86, "y" : -3.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.23, "y" : -6.89 }, + "3" : { "x" : 1.78, "y" : 5.23 }, + "4" : { "x" : 6.49, "y" : -20.18 }, + "5" : { "x" : 7.68, "y" : 18.07 }, + "6" : { "x" : 23.37, "y" : -4.21 }, + "7" : { "x" : 36.61, "y" : -7.09 }, + "8" : { "x" : 37.80, "y" : 3.47 }, + "9" : { "x" : 45.04, "y" : -13.82 }, + "10" : { "x" : 45.96, "y" : 2.43 }, + "11" : { "x" : 42.32, "y" : -3.85 } + }, + { + "index" : 23, + "ball" : { "x" : 45.86, "y" : 3.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.78, "y" : -5.23 }, + "3" : { "x" : 1.23, "y" : 6.89 }, + "4" : { "x" : 7.68, "y" : -18.07 }, + "5" : { "x" : 6.49, "y" : 20.18 }, + "6" : { "x" : 23.37, "y" : 4.21 }, + "7" : { "x" : 37.80, "y" : -3.47 }, + "8" : { "x" : 36.61, "y" : 7.09 }, + "9" : { "x" : 45.96, "y" : -2.43 }, + "10" : { "x" : 45.04, "y" : 13.82 }, + "11" : { "x" : 42.32, "y" : 3.85 } + }, + { + "index" : 24, + "ball" : { "x" : 46.89, "y" : -6.49 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.14, "y" : -7.70 }, + "3" : { "x" : 2.17, "y" : 4.70 }, + "4" : { "x" : 5.83, "y" : -20.99 }, + "5" : { "x" : 8.52, "y" : 17.12 }, + "6" : { "x" : 23.98, "y" : -5.41 }, + "7" : { "x" : 36.48, "y" : -8.62 }, + "8" : { "x" : 38.57, "y" : 2.07 }, + "9" : { "x" : 45.21, "y" : -15.64 }, + "10" : { "x" : 46.51, "y" : 0.08 }, + "11" : { "x" : 42.89, "y" : -5.11 } + }, + { + "index" : 25, + "ball" : { "x" : 46.89, "y" : 6.49 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.17, "y" : -4.70 }, + "3" : { "x" : 1.14, "y" : 7.70 }, + "4" : { "x" : 8.52, "y" : -17.12 }, + "5" : { "x" : 5.83, "y" : 20.99 }, + "6" : { "x" : 23.98, "y" : 5.41 }, + "7" : { "x" : 38.57, "y" : -2.07 }, + "8" : { "x" : 36.48, "y" : 8.62 }, + "9" : { "x" : 46.51, "y" : -0.08 }, + "10" : { "x" : 45.21, "y" : 15.64 }, + "11" : { "x" : 42.89, "y" : 5.11 } + }, + { + "index" : 26, + "ball" : { "x" : 38.63, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -5.93 }, + "3" : { "x" : 0.18, "y" : 5.93 }, + "4" : { "x" : 6.41, "y" : -19.34 }, + "5" : { "x" : 6.41, "y" : 19.34 }, + "6" : { "x" : 19.71, "y" : -2.62 }, + "7" : { "x" : 32.73, "y" : -6.84 }, + "8" : { "x" : 32.73, "y" : 6.84 }, + "9" : { "x" : 42.20, "y" : -11.81 }, + "10" : { "x" : 42.20, "y" : 11.81 }, + "11" : { "x" : 38.61, "y" : -2.57 } + }, + { + "index" : 27, + "ball" : { "x" : 39.22, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.15, "y" : -7.62 }, + "3" : { "x" : 0.71, "y" : 4.57 }, + "4" : { "x" : 6.10, "y" : -21.14 }, + "5" : { "x" : 6.93, "y" : 17.60 }, + "6" : { "x" : 20.20, "y" : -4.84 }, + "7" : { "x" : 31.80, "y" : -9.98 }, + "8" : { "x" : 34.05, "y" : 3.87 }, + "9" : { "x" : 41.58, "y" : -16.28 }, + "10" : { "x" : 44.01, "y" : 6.35 }, + "11" : { "x" : 39.22, "y" : -5.35 } + }, + { + "index" : 28, + "ball" : { "x" : 39.22, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.71, "y" : -4.57 }, + "3" : { "x" : -0.15, "y" : 7.62 }, + "4" : { "x" : 6.93, "y" : -17.60 }, + "5" : { "x" : 6.10, "y" : 21.14 }, + "6" : { "x" : 20.20, "y" : 4.84 }, + "7" : { "x" : 34.05, "y" : -3.87 }, + "8" : { "x" : 31.80, "y" : 9.98 }, + "9" : { "x" : 44.01, "y" : -6.35 }, + "10" : { "x" : 41.58, "y" : 16.28 }, + "11" : { "x" : 39.22, "y" : 5.35 } + }, + { + "index" : 29, + "ball" : { "x" : 30.37, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.06, "y" : -11.84 }, + "3" : { "x" : -0.92, "y" : 2.05 }, + "4" : { "x" : 3.83, "y" : -24.40 }, + "5" : { "x" : 6.00, "y" : 14.49 }, + "6" : { "x" : 15.44, "y" : -8.70 }, + "7" : { "x" : 21.07, "y" : -17.96 }, + "8" : { "x" : 27.44, "y" : 1.55 }, + "9" : { "x" : 34.11, "y" : -24.30 }, + "10" : { "x" : 34.71, "y" : 14.57 }, + "11" : { "x" : 34.70, "y" : -10.66 } + }, + { + "index" : 30, + "ball" : { "x" : 30.37, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.92, "y" : -2.05 }, + "3" : { "x" : -3.06, "y" : 11.84 }, + "4" : { "x" : 6.00, "y" : -14.49 }, + "5" : { "x" : 3.83, "y" : 24.40 }, + "6" : { "x" : 15.44, "y" : 8.70 }, + "7" : { "x" : 27.44, "y" : -1.55 }, + "8" : { "x" : 21.07, "y" : 17.96 }, + "9" : { "x" : 34.71, "y" : -14.57 }, + "10" : { "x" : 34.11, "y" : 24.30 }, + "11" : { "x" : 34.70, "y" : 10.66 } + }, + { + "index" : 31, + "ball" : { "x" : 0.00, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.18, "y" : -19.96 }, + "3" : { "x" : -16.68, "y" : -6.05 }, + "4" : { "x" : -13.42, "y" : -30.30 }, + "5" : { "x" : -7.16, "y" : 6.63 }, + "6" : { "x" : -8.38, "y" : -16.63 }, + "7" : { "x" : -7.37, "y" : -25.18 }, + "8" : { "x" : -4.81, "y" : -1.58 }, + "9" : { "x" : 13.45, "y" : -32.14 }, + "10" : { "x" : 10.92, "y" : 18.27 }, + "11" : { "x" : 14.62, "y" : -20.60 } + }, + { + "index" : 32, + "ball" : { "x" : 0.00, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.68, "y" : 6.05 }, + "3" : { "x" : -17.18, "y" : 19.96 }, + "4" : { "x" : -7.16, "y" : -6.63 }, + "5" : { "x" : -13.42, "y" : 30.30 }, + "6" : { "x" : -8.38, "y" : 16.63 }, + "7" : { "x" : -4.81, "y" : 1.58 }, + "8" : { "x" : -7.37, "y" : 25.18 }, + "9" : { "x" : 10.92, "y" : -18.27 }, + "10" : { "x" : 13.45, "y" : 32.14 }, + "11" : { "x" : 14.62, "y" : 20.60 } + }, + { + "index" : 33, + "ball" : { "x" : 44.53, "y" : -22.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.79, "y" : -13.56 }, + "3" : { "x" : 2.77, "y" : 2.31 }, + "4" : { "x" : 0.88, "y" : -25.30 }, + "5" : { "x" : 14.30, "y" : 11.33 }, + "6" : { "x" : 23.64, "y" : -11.92 }, + "7" : { "x" : 30.42, "y" : -20.33 }, + "8" : { "x" : 36.76, "y" : -1.94 }, + "9" : { "x" : 41.44, "y" : -22.71 }, + "10" : { "x" : 45.59, "y" : 7.46 }, + "11" : { "x" : 42.36, "y" : -11.75 } + }, + { + "index" : 34, + "ball" : { "x" : 44.53, "y" : 22.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.77, "y" : -2.31 }, + "3" : { "x" : -0.79, "y" : 13.56 }, + "4" : { "x" : 14.30, "y" : -11.33 }, + "5" : { "x" : 0.88, "y" : 25.30 }, + "6" : { "x" : 23.64, "y" : 11.92 }, + "7" : { "x" : 36.76, "y" : 1.94 }, + "8" : { "x" : 30.42, "y" : 20.33 }, + "9" : { "x" : 45.59, "y" : -7.46 }, + "10" : { "x" : 41.44, "y" : 22.71 }, + "11" : { "x" : 42.36, "y" : 11.75 } + }, + { + "index" : 35, + "ball" : { "x" : 44.09, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.70, "y" : -16.43 }, + "3" : { "x" : 3.08, "y" : 1.45 }, + "4" : { "x" : 2.15, "y" : -27.12 }, + "5" : { "x" : 15.32, "y" : 8.96 }, + "6" : { "x" : 23.78, "y" : -15.03 }, + "7" : { "x" : 28.49, "y" : -25.40 }, + "8" : { "x" : 35.10, "y" : -2.94 }, + "9" : { "x" : 39.72, "y" : -25.13 }, + "10" : { "x" : 44.65, "y" : 7.22 }, + "11" : { "x" : 42.31, "y" : -14.34 } + }, + { + "index" : 36, + "ball" : { "x" : 44.09, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.08, "y" : -1.45 }, + "3" : { "x" : -1.70, "y" : 16.43 }, + "4" : { "x" : 15.32, "y" : -8.96 }, + "5" : { "x" : 2.15, "y" : 27.12 }, + "6" : { "x" : 23.78, "y" : 15.03 }, + "7" : { "x" : 35.10, "y" : 2.94 }, + "8" : { "x" : 28.49, "y" : 25.40 }, + "9" : { "x" : 44.65, "y" : -7.22 }, + "10" : { "x" : 39.72, "y" : 25.13 }, + "11" : { "x" : 42.31, "y" : 14.34 } + }, + { + "index" : 37, + "ball" : { "x" : 29.19, "y" : -34.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.36, "y" : -18.80 }, + "3" : { "x" : -0.74, "y" : -0.94 }, + "4" : { "x" : 2.30, "y" : -27.83 }, + "5" : { "x" : 9.40, "y" : 8.12 }, + "6" : { "x" : 15.16, "y" : -16.50 }, + "7" : { "x" : 19.03, "y" : -27.25 }, + "8" : { "x" : 26.04, "y" : -3.11 }, + "9" : { "x" : 36.79, "y" : -29.36 }, + "10" : { "x" : 29.88, "y" : 13.71 }, + "11" : { "x" : 34.81, "y" : -17.65 } + }, + { + "index" : 38, + "ball" : { "x" : 29.19, "y" : 34.36 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.74, "y" : 0.94 }, + "3" : { "x" : -5.36, "y" : 18.80 }, + "4" : { "x" : 9.40, "y" : -8.12 }, + "5" : { "x" : 2.30, "y" : 27.83 }, + "6" : { "x" : 15.16, "y" : 16.50 }, + "7" : { "x" : 26.04, "y" : 3.11 }, + "8" : { "x" : 19.03, "y" : 27.25 }, + "9" : { "x" : 29.88, "y" : -13.71 }, + "10" : { "x" : 36.79, "y" : 29.36 }, + "11" : { "x" : 34.81, "y" : 17.65 } + }, + { + "index" : 39, + "ball" : { "x" : 33.03, "y" : -31.26 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.18, "y" : -17.73 }, + "3" : { "x" : 0.28, "y" : -0.08 }, + "4" : { "x" : 2.01, "y" : -27.43 }, + "5" : { "x" : 11.01, "y" : 8.83 }, + "6" : { "x" : 17.29, "y" : -15.35 }, + "7" : { "x" : 20.92, "y" : -26.07 }, + "8" : { "x" : 28.24, "y" : -2.72 }, + "9" : { "x" : 38.57, "y" : -27.83 }, + "10" : { "x" : 34.68, "y" : 12.10 }, + "11" : { "x" : 36.65, "y" : -16.30 } + }, + { + "index" : 40, + "ball" : { "x" : 33.03, "y" : 31.26 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.28, "y" : 0.08 }, + "3" : { "x" : -4.18, "y" : 17.73 }, + "4" : { "x" : 11.01, "y" : -8.83 }, + "5" : { "x" : 2.01, "y" : 27.43 }, + "6" : { "x" : 17.29, "y" : 15.35 }, + "7" : { "x" : 28.24, "y" : 2.72 }, + "8" : { "x" : 20.92, "y" : 26.07 }, + "9" : { "x" : 34.68, "y" : -12.10 }, + "10" : { "x" : 38.57, "y" : 27.83 }, + "11" : { "x" : 36.65, "y" : 16.30 } + }, + { + "index" : 41, + "ball" : { "x" : 23.00, "y" : -5.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.35, "y" : -7.68 }, + "3" : { "x" : -3.76, "y" : 4.10 }, + "4" : { "x" : 2.99, "y" : -20.69 }, + "5" : { "x" : 2.22, "y" : 17.45 }, + "6" : { "x" : 10.52, "y" : -4.14 }, + "7" : { "x" : 15.33, "y" : -13.53 }, + "8" : { "x" : 18.29, "y" : 8.05 }, + "9" : { "x" : 23.07, "y" : -25.95 }, + "10" : { "x" : 24.74, "y" : 20.06 }, + "11" : { "x" : 29.04, "y" : -6.00 } + }, + { + "index" : 42, + "ball" : { "x" : 23.00, "y" : 5.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -3.76, "y" : -4.10 }, + "3" : { "x" : -4.35, "y" : 7.68 }, + "4" : { "x" : 2.22, "y" : -17.45 }, + "5" : { "x" : 2.99, "y" : 20.69 }, + "6" : { "x" : 10.52, "y" : 4.14 }, + "7" : { "x" : 18.29, "y" : -8.05 }, + "8" : { "x" : 15.33, "y" : 13.53 }, + "9" : { "x" : 24.74, "y" : -20.06 }, + "10" : { "x" : 23.07, "y" : 25.95 }, + "11" : { "x" : 29.04, "y" : 6.00 } + }, + { + "index" : 43, + "ball" : { "x" : 28.16, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.39, "y" : -5.82 }, + "3" : { "x" : -2.39, "y" : 5.82 }, + "4" : { "x" : 4.32, "y" : -19.24 }, + "5" : { "x" : 4.32, "y" : 19.24 }, + "6" : { "x" : 13.80, "y" : -2.33 }, + "7" : { "x" : 22.61, "y" : -9.60 }, + "8" : { "x" : 22.61, "y" : 9.60 }, + "9" : { "x" : 29.71, "y" : -21.47 }, + "10" : { "x" : 29.71, "y" : 21.47 }, + "11" : { "x" : 32.25, "y" : -1.00 } + }, + { + "index" : 44, + "ball" : { "x" : 34.65, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.13, "y" : -7.70 }, + "3" : { "x" : -0.31, "y" : 4.40 }, + "4" : { "x" : 5.74, "y" : -21.22 }, + "5" : { "x" : 5.89, "y" : 17.64 }, + "6" : { "x" : 17.72, "y" : -4.69 }, + "7" : { "x" : 27.93, "y" : -11.15 }, + "8" : { "x" : 30.34, "y" : 4.95 }, + "9" : { "x" : 37.52, "y" : -18.78 }, + "10" : { "x" : 40.20, "y" : 11.53 }, + "11" : { "x" : 36.70, "y" : -5.66 } + }, + { + "index" : 45, + "ball" : { "x" : 34.65, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.31, "y" : -4.40 }, + "3" : { "x" : -1.13, "y" : 7.70 }, + "4" : { "x" : 5.89, "y" : -17.64 }, + "5" : { "x" : 5.74, "y" : 21.22 }, + "6" : { "x" : 17.72, "y" : 4.69 }, + "7" : { "x" : 30.34, "y" : -4.95 }, + "8" : { "x" : 27.93, "y" : 11.15 }, + "9" : { "x" : 40.20, "y" : -11.53 }, + "10" : { "x" : 37.52, "y" : 18.78 }, + "11" : { "x" : 36.70, "y" : 5.66 } + }, + { + "index" : 46, + "ball" : { "x" : 19.91, "y" : -28.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.44, "y" : -17.45 }, + "3" : { "x" : -4.43, "y" : -1.60 }, + "4" : { "x" : -1.88, "y" : -26.53 }, + "5" : { "x" : 4.35, "y" : 9.94 }, + "6" : { "x" : 8.44, "y" : -13.83 }, + "7" : { "x" : 11.60, "y" : -24.14 }, + "8" : { "x" : 21.83, "y" : -1.79 }, + "9" : { "x" : 28.02, "y" : -30.94 }, + "10" : { "x" : 24.91, "y" : 17.54 }, + "11" : { "x" : 28.57, "y" : -16.62 } + }, + { + "index" : 47, + "ball" : { "x" : 19.91, "y" : 28.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -4.43, "y" : 1.60 }, + "3" : { "x" : -7.44, "y" : 17.45 }, + "4" : { "x" : 4.35, "y" : -9.94 }, + "5" : { "x" : -1.88, "y" : 26.53 }, + "6" : { "x" : 8.44, "y" : 13.83 }, + "7" : { "x" : 21.83, "y" : 1.79 }, + "8" : { "x" : 11.60, "y" : 24.14 }, + "9" : { "x" : 24.91, "y" : -17.54 }, + "10" : { "x" : 28.02, "y" : 30.94 }, + "11" : { "x" : 28.57, "y" : 16.62 } + }, + { + "index" : 48, + "ball" : { "x" : 14.30, "y" : -11.06 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.06, "y" : -10.45 }, + "3" : { "x" : -7.15, "y" : 1.87 }, + "4" : { "x" : -1.04, "y" : -21.99 }, + "5" : { "x" : -2.42, "y" : 15.19 }, + "6" : { "x" : 4.24, "y" : -6.29 }, + "7" : { "x" : 5.05, "y" : -17.13 }, + "8" : { "x" : 13.68, "y" : 6.13 }, + "9" : { "x" : 17.23, "y" : -26.90 }, + "10" : { "x" : 18.09, "y" : 19.60 }, + "11" : { "x" : 22.95, "y" : -9.41 } + }, + { + "index" : 49, + "ball" : { "x" : 14.30, "y" : 11.06 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.15, "y" : -1.87 }, + "3" : { "x" : -8.06, "y" : 10.45 }, + "4" : { "x" : -2.42, "y" : -15.19 }, + "5" : { "x" : -1.04, "y" : 21.99 }, + "6" : { "x" : 4.24, "y" : 6.29 }, + "7" : { "x" : 13.68, "y" : -6.13 }, + "8" : { "x" : 5.05, "y" : 17.13 }, + "9" : { "x" : 18.09, "y" : -19.60 }, + "10" : { "x" : 17.23, "y" : 26.90 }, + "11" : { "x" : 22.95, "y" : 9.41 } + }, + { + "index" : 50, + "ball" : { "x" : 11.35, "y" : -25.07 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.43, "y" : -16.57 }, + "3" : { "x" : -8.68, "y" : -1.89 }, + "4" : { "x" : -5.48, "y" : -25.58 }, + "5" : { "x" : -2.46, "y" : 11.03 }, + "6" : { "x" : 1.71, "y" : -12.12 }, + "7" : { "x" : 3.25, "y" : -22.20 }, + "8" : { "x" : 16.29, "y" : -0.28 }, + "9" : { "x" : 18.90, "y" : -29.64 }, + "10" : { "x" : 17.57, "y" : 18.46 }, + "11" : { "x" : 22.04, "y" : -15.92 } + }, + { + "index" : 51, + "ball" : { "x" : 11.35, "y" : 25.07 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.68, "y" : 1.89 }, + "3" : { "x" : -10.43, "y" : 16.57 }, + "4" : { "x" : -2.46, "y" : -11.03 }, + "5" : { "x" : -5.48, "y" : 25.58 }, + "6" : { "x" : 1.71, "y" : 12.12 }, + "7" : { "x" : 16.29, "y" : 0.28 }, + "8" : { "x" : 3.25, "y" : 22.20 }, + "9" : { "x" : 17.57, "y" : -18.46 }, + "10" : { "x" : 18.90, "y" : 29.64 }, + "11" : { "x" : 22.04, "y" : 15.92 } + }, + { + "index" : 52, + "ball" : { "x" : 9.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.77, "y" : -5.58 }, + "3" : { "x" : -9.77, "y" : 5.58 }, + "4" : { "x" : -4.36, "y" : -17.44 }, + "5" : { "x" : -4.36, "y" : 17.44 }, + "6" : { "x" : 0.91, "y" : -0.62 }, + "7" : { "x" : 5.26, "y" : -12.10 }, + "8" : { "x" : 5.26, "y" : 12.10 }, + "9" : { "x" : 14.64, "y" : -25.04 }, + "10" : { "x" : 14.64, "y" : 25.04 }, + "11" : { "x" : 17.81, "y" : -1.03 } + }, + { + "index" : 53, + "ball" : { "x" : 18.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.66, "y" : -5.71 }, + "3" : { "x" : -5.66, "y" : 5.71 }, + "4" : { "x" : 0.77, "y" : -18.60 }, + "5" : { "x" : 0.77, "y" : 18.60 }, + "6" : { "x" : 7.52, "y" : -2.11 }, + "7" : { "x" : 11.95, "y" : -11.59 }, + "8" : { "x" : 11.95, "y" : 11.59 }, + "9" : { "x" : 20.57, "y" : -25.76 }, + "10" : { "x" : 20.57, "y" : 25.76 }, + "11" : { "x" : 25.23, "y" : -0.34 } + }, + { + "index" : 54, + "ball" : { "x" : 3.83, "y" : -20.20 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -13.84, "y" : -14.96 }, + "3" : { "x" : -13.20, "y" : -1.74 }, + "4" : { "x" : -9.32, "y" : -24.18 }, + "5" : { "x" : -9.54, "y" : 11.72 }, + "6" : { "x" : -4.47, "y" : -9.91 }, + "7" : { "x" : -3.05, "y" : -19.66 }, + "8" : { "x" : 10.11, "y" : 2.00 }, + "9" : { "x" : 11.32, "y" : -27.46 }, + "10" : { "x" : 11.22, "y" : 18.50 }, + "11" : { "x" : 15.55, "y" : -14.21 } + }, + { + "index" : 55, + "ball" : { "x" : 3.83, "y" : 20.20 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.20, "y" : 1.74 }, + "3" : { "x" : -13.84, "y" : 14.96 }, + "4" : { "x" : -9.54, "y" : -11.72 }, + "5" : { "x" : -9.32, "y" : 24.18 }, + "6" : { "x" : -4.47, "y" : 9.91 }, + "7" : { "x" : 10.11, "y" : -2.00 }, + "8" : { "x" : -3.05, "y" : 19.66 }, + "9" : { "x" : 11.22, "y" : -18.50 }, + "10" : { "x" : 11.32, "y" : 27.46 }, + "11" : { "x" : 15.55, "y" : 14.21 } + }, + { + "index" : 56, + "ball" : { "x" : 6.19, "y" : -10.32 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.99, "y" : -10.37 }, + "3" : { "x" : -11.54, "y" : 1.49 }, + "4" : { "x" : -6.34, "y" : -20.75 }, + "5" : { "x" : -7.77, "y" : 14.20 }, + "6" : { "x" : -2.15, "y" : -5.86 }, + "7" : { "x" : -0.16, "y" : -16.34 }, + "8" : { "x" : 9.32, "y" : 6.62 }, + "9" : { "x" : 11.66, "y" : -29.11 }, + "10" : { "x" : 12.63, "y" : 18.96 }, + "11" : { "x" : 16.23, "y" : -9.25 } + }, + { + "index" : 57, + "ball" : { "x" : 6.19, "y" : 10.32 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -11.54, "y" : -1.49 }, + "3" : { "x" : -11.99, "y" : 10.37 }, + "4" : { "x" : -7.77, "y" : -14.20 }, + "5" : { "x" : -6.34, "y" : 20.75 }, + "6" : { "x" : -2.15, "y" : 5.86 }, + "7" : { "x" : 9.32, "y" : -6.62 }, + "8" : { "x" : -0.16, "y" : 16.34 }, + "9" : { "x" : 12.63, "y" : -18.96 }, + "10" : { "x" : 11.66, "y" : 29.11 }, + "11" : { "x" : 16.23, "y" : 9.25 } + }, + { + "index" : 58, + "ball" : { "x" : 10.47, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.25, "y" : -18.18 }, + "3" : { "x" : -9.28, "y" : -3.00 }, + "4" : { "x" : -6.48, "y" : -26.52 }, + "5" : { "x" : -1.47, "y" : 9.34 }, + "6" : { "x" : 0.92, "y" : -14.14 }, + "7" : { "x" : 3.65, "y" : -23.76 }, + "8" : { "x" : 14.34, "y" : -1.54 }, + "9" : { "x" : 19.43, "y" : -31.04 }, + "10" : { "x" : 18.15, "y" : 18.08 }, + "11" : { "x" : 21.84, "y" : -17.79 } + }, + { + "index" : 59, + "ball" : { "x" : 10.47, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.28, "y" : 3.00 }, + "3" : { "x" : -11.25, "y" : 18.18 }, + "4" : { "x" : -1.47, "y" : -9.34 }, + "5" : { "x" : -6.48, "y" : 26.52 }, + "6" : { "x" : 0.92, "y" : 14.14 }, + "7" : { "x" : 14.34, "y" : 1.54 }, + "8" : { "x" : 3.65, "y" : 23.76 }, + "9" : { "x" : 18.15, "y" : -18.08 }, + "10" : { "x" : 19.43, "y" : 31.04 }, + "11" : { "x" : 21.84, "y" : 17.79 } + }, + { + "index" : 60, + "ball" : { "x" : 13.27, "y" : -33.18 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.40, "y" : -19.06 }, + "3" : { "x" : -7.76, "y" : -3.20 }, + "4" : { "x" : -4.63, "y" : -27.14 }, + "5" : { "x" : 1.37, "y" : 8.33 }, + "6" : { "x" : 3.20, "y" : -15.64 }, + "7" : { "x" : 7.31, "y" : -25.26 }, + "8" : { "x" : 15.53, "y" : -2.38 }, + "9" : { "x" : 22.52, "y" : -31.88 }, + "10" : { "x" : 21.76, "y" : 17.76 }, + "11" : { "x" : 24.21, "y" : -18.79 } + }, + { + "index" : 61, + "ball" : { "x" : 13.27, "y" : 33.18 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.76, "y" : 3.20 }, + "3" : { "x" : -10.40, "y" : 19.06 }, + "4" : { "x" : 1.37, "y" : -8.33 }, + "5" : { "x" : -4.63, "y" : 27.14 }, + "6" : { "x" : 3.20, "y" : 15.64 }, + "7" : { "x" : 15.53, "y" : 2.38 }, + "8" : { "x" : 7.31, "y" : 25.26 }, + "9" : { "x" : 21.76, "y" : -17.76 }, + "10" : { "x" : 22.52, "y" : 31.88 }, + "11" : { "x" : 24.21, "y" : 18.79 } + }, + { + "index" : 62, + "ball" : { "x" : -16.96, "y" : -30.52 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.33, "y" : -18.45 }, + "3" : { "x" : -23.18, "y" : -4.34 }, + "4" : { "x" : -23.94, "y" : -27.93 }, + "5" : { "x" : -22.14, "y" : 9.35 }, + "6" : { "x" : -19.24, "y" : -13.98 }, + "7" : { "x" : -16.33, "y" : -22.81 }, + "8" : { "x" : -14.10, "y" : -0.07 }, + "9" : { "x" : 0.44, "y" : -30.41 }, + "10" : { "x" : -4.28, "y" : 17.04 }, + "11" : { "x" : 0.06, "y" : -9.81 } + }, + { + "index" : 63, + "ball" : { "x" : -16.96, "y" : 30.52 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.18, "y" : 4.34 }, + "3" : { "x" : -23.33, "y" : 18.45 }, + "4" : { "x" : -22.14, "y" : -9.35 }, + "5" : { "x" : -23.94, "y" : 27.93 }, + "6" : { "x" : -19.24, "y" : 13.98 }, + "7" : { "x" : -14.10, "y" : 0.07 }, + "8" : { "x" : -16.33, "y" : 22.81 }, + "9" : { "x" : -4.28, "y" : -17.04 }, + "10" : { "x" : 0.44, "y" : 30.41 }, + "11" : { "x" : 0.06, "y" : 9.81 } + }, + { + "index" : 64, + "ball" : { "x" : -4.28, "y" : -16.81 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.71, "y" : -15.79 }, + "3" : { "x" : -14.88, "y" : -3.68 }, + "4" : { "x" : -13.76, "y" : -23.07 }, + "5" : { "x" : -12.63, "y" : 11.13 }, + "6" : { "x" : -8.80, "y" : -11.13 }, + "7" : { "x" : -3.79, "y" : -19.50 }, + "8" : { "x" : -3.98, "y" : 5.90 }, + "9" : { "x" : 6.03, "y" : -29.81 }, + "10" : { "x" : 2.60, "y" : 22.30 }, + "11" : { "x" : 5.59, "y" : -8.48 } + }, + { + "index" : 65, + "ball" : { "x" : -4.28, "y" : 16.81 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.88, "y" : 3.68 }, + "3" : { "x" : -12.71, "y" : 15.79 }, + "4" : { "x" : -12.63, "y" : -11.13 }, + "5" : { "x" : -13.76, "y" : 23.07 }, + "6" : { "x" : -8.80, "y" : 11.13 }, + "7" : { "x" : -3.98, "y" : -5.90 }, + "8" : { "x" : -3.79, "y" : 19.50 }, + "9" : { "x" : 2.60, "y" : -22.30 }, + "10" : { "x" : 6.03, "y" : 29.81 }, + "11" : { "x" : 5.59, "y" : 8.48 } + }, + { + "index" : 66, + "ball" : { "x" : -7.08, "y" : -27.57 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.15, "y" : -19.34 }, + "3" : { "x" : -16.57, "y" : -4.96 }, + "4" : { "x" : -15.35, "y" : -27.21 }, + "5" : { "x" : -13.48, "y" : 10.45 }, + "6" : { "x" : -10.91, "y" : -14.26 }, + "7" : { "x" : -6.54, "y" : -22.94 }, + "8" : { "x" : -6.22, "y" : 1.56 }, + "9" : { "x" : 6.84, "y" : -30.97 }, + "10" : { "x" : 1.32, "y" : 18.51 }, + "11" : { "x" : 6.91, "y" : -10.52 } + }, + { + "index" : 67, + "ball" : { "x" : -7.08, "y" : 27.57 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.57, "y" : 4.96 }, + "3" : { "x" : -15.15, "y" : 19.34 }, + "4" : { "x" : -13.48, "y" : -10.45 }, + "5" : { "x" : -15.35, "y" : 27.21 }, + "6" : { "x" : -10.91, "y" : 14.26 }, + "7" : { "x" : -6.22, "y" : -1.56 }, + "8" : { "x" : -6.54, "y" : 22.94 }, + "9" : { "x" : 1.32, "y" : -18.51 }, + "10" : { "x" : 6.84, "y" : 30.97 }, + "11" : { "x" : 6.91, "y" : 10.52 } + }, + { + "index" : 68, + "ball" : { "x" : -7.96, "y" : -31.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.89, "y" : -20.09 }, + "3" : { "x" : -17.14, "y" : -5.03 }, + "4" : { "x" : -15.83, "y" : -28.57 }, + "5" : { "x" : -13.66, "y" : 11.00 }, + "6" : { "x" : -11.44, "y" : -14.98 }, + "7" : { "x" : -7.45, "y" : -24.07 }, + "8" : { "x" : -6.86, "y" : 0.18 }, + "9" : { "x" : 7.39, "y" : -31.30 }, + "10" : { "x" : 1.09, "y" : 17.04 }, + "11" : { "x" : 8.36, "y" : -10.67 } + }, + { + "index" : 69, + "ball" : { "x" : -7.96, "y" : 31.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.14, "y" : 5.03 }, + "3" : { "x" : -15.89, "y" : 20.09 }, + "4" : { "x" : -13.66, "y" : -11.00 }, + "5" : { "x" : -15.83, "y" : 28.57 }, + "6" : { "x" : -11.44, "y" : 14.98 }, + "7" : { "x" : -6.86, "y" : -0.18 }, + "8" : { "x" : -7.45, "y" : 24.07 }, + "9" : { "x" : 1.09, "y" : -17.04 }, + "10" : { "x" : 7.39, "y" : 31.30 }, + "11" : { "x" : 8.36, "y" : 10.67 } + }, + { + "index" : 70, + "ball" : { "x" : -23.89, "y" : -34.21 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -31.05, "y" : -17.31 }, + "3" : { "x" : -29.37, "y" : -4.33 }, + "4" : { "x" : -29.93, "y" : -27.83 }, + "5" : { "x" : -28.55, "y" : 8.60 }, + "6" : { "x" : -24.69, "y" : -13.70 }, + "7" : { "x" : -22.94, "y" : -23.29 }, + "8" : { "x" : -19.22, "y" : -1.39 }, + "9" : { "x" : -3.39, "y" : -30.07 }, + "10" : { "x" : -7.83, "y" : 15.33 }, + "11" : { "x" : -3.41, "y" : -8.93 } + }, + { + "index" : 71, + "ball" : { "x" : -23.89, "y" : 34.21 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.37, "y" : 4.33 }, + "3" : { "x" : -31.05, "y" : 17.31 }, + "4" : { "x" : -28.55, "y" : -8.60 }, + "5" : { "x" : -29.93, "y" : 27.83 }, + "6" : { "x" : -24.69, "y" : 13.70 }, + "7" : { "x" : -19.22, "y" : 1.39 }, + "8" : { "x" : -22.94, "y" : 23.29 }, + "9" : { "x" : -7.83, "y" : -15.33 }, + "10" : { "x" : -3.39, "y" : 30.07 }, + "11" : { "x" : -3.41, "y" : 8.93 } + }, + { + "index" : 72, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.53, "y" : -3.17 }, + "3" : { "x" : -47.53, "y" : 3.17 }, + "4" : { "x" : -49.99, "y" : -6.88 }, + "5" : { "x" : -49.99, "y" : 6.88 }, + "6" : { "x" : -44.06, "y" : 1.02 }, + "7" : { "x" : -41.64, "y" : -8.61 }, + "8" : { "x" : -41.64, "y" : 8.61 }, + "9" : { "x" : -23.83, "y" : -22.20 }, + "10" : { "x" : -23.83, "y" : 22.20 }, + "11" : { "x" : -30.03, "y" : 4.57 } + }, + { + "index" : 73, + "ball" : { "x" : -19.61, "y" : -5.46 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.74, "y" : -7.22 }, + "3" : { "x" : -27.37, "y" : 1.07 }, + "4" : { "x" : -27.57, "y" : -15.59 }, + "5" : { "x" : -27.52, "y" : 9.88 }, + "6" : { "x" : -23.16, "y" : -4.67 }, + "7" : { "x" : -18.04, "y" : -13.11 }, + "8" : { "x" : -17.58, "y" : 8.75 }, + "9" : { "x" : -6.06, "y" : -26.78 }, + "10" : { "x" : -6.72, "y" : 24.53 }, + "11" : { "x" : -8.99, "y" : -3.01 } + }, + { + "index" : 74, + "ball" : { "x" : -19.61, "y" : 5.46 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -27.37, "y" : -1.07 }, + "3" : { "x" : -26.74, "y" : 7.22 }, + "4" : { "x" : -27.52, "y" : -9.88 }, + "5" : { "x" : -27.57, "y" : 15.59 }, + "6" : { "x" : -23.16, "y" : 4.67 }, + "7" : { "x" : -17.58, "y" : -8.75 }, + "8" : { "x" : -18.04, "y" : 13.11 }, + "9" : { "x" : -6.72, "y" : -24.53 }, + "10" : { "x" : -6.06, "y" : 26.78 }, + "11" : { "x" : -8.99, "y" : 3.01 } + }, + { + "index" : 75, + "ball" : { "x" : -7.96, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.64, "y" : -9.85 }, + "3" : { "x" : -17.18, "y" : 0.07 }, + "4" : { "x" : -16.91, "y" : -19.09 }, + "5" : { "x" : -16.52, "y" : 12.59 }, + "6" : { "x" : -12.21, "y" : -6.37 }, + "7" : { "x" : -7.34, "y" : -15.32 }, + "8" : { "x" : -7.25, "y" : 9.27 }, + "9" : { "x" : 1.69, "y" : -28.01 }, + "10" : { "x" : 0.38, "y" : 24.81 }, + "11" : { "x" : 0.76, "y" : -4.50 } + }, + { + "index" : 76, + "ball" : { "x" : -7.96, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.18, "y" : -0.07 }, + "3" : { "x" : -15.64, "y" : 9.85 }, + "4" : { "x" : -16.52, "y" : -12.59 }, + "5" : { "x" : -16.91, "y" : 19.09 }, + "6" : { "x" : -12.21, "y" : 6.37 }, + "7" : { "x" : -7.25, "y" : -9.27 }, + "8" : { "x" : -7.34, "y" : 15.32 }, + "9" : { "x" : 0.38, "y" : -24.81 }, + "10" : { "x" : 1.69, "y" : 28.01 }, + "11" : { "x" : 0.76, "y" : 4.50 } + }, + { + "index" : 77, + "ball" : { "x" : -5.31, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.82, "y" : -4.50 }, + "3" : { "x" : -14.82, "y" : 4.50 }, + "4" : { "x" : -14.59, "y" : -16.26 }, + "5" : { "x" : -14.59, "y" : 16.26 }, + "6" : { "x" : -9.26, "y" : -1.26 }, + "7" : { "x" : -4.86, "y" : -12.66 }, + "8" : { "x" : -4.86, "y" : 12.66 }, + "9" : { "x" : 2.61, "y" : -26.72 }, + "10" : { "x" : 2.61, "y" : 26.72 }, + "11" : { "x" : 2.20, "y" : -0.09 } + }, + { + "index" : 78, + "ball" : { "x" : -2.06, "y" : -11.35 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.37, "y" : -12.91 }, + "3" : { "x" : -13.56, "y" : -2.16 }, + "4" : { "x" : -12.20, "y" : -21.01 }, + "5" : { "x" : -11.39, "y" : 13.02 }, + "6" : { "x" : -6.73, "y" : -8.68 }, + "7" : { "x" : -1.72, "y" : -17.72 }, + "8" : { "x" : -2.03, "y" : 8.39 }, + "9" : { "x" : 6.48, "y" : -29.12 }, + "10" : { "x" : 4.06, "y" : 24.04 }, + "11" : { "x" : 6.06, "y" : -6.47 } + }, + { + "index" : 79, + "ball" : { "x" : -2.06, "y" : 11.35 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.56, "y" : 2.16 }, + "3" : { "x" : -11.37, "y" : 12.91 }, + "4" : { "x" : -11.39, "y" : -13.02 }, + "5" : { "x" : -12.20, "y" : 21.01 }, + "6" : { "x" : -6.73, "y" : 8.68 }, + "7" : { "x" : -2.03, "y" : -8.39 }, + "8" : { "x" : -1.72, "y" : 17.72 }, + "9" : { "x" : 4.06, "y" : -24.04 }, + "10" : { "x" : 6.48, "y" : 29.12 }, + "11" : { "x" : 6.06, "y" : 6.47 } + }, + { + "index" : 80, + "ball" : { "x" : -3.39, "y" : -5.90 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.70, "y" : -8.99 }, + "3" : { "x" : -14.14, "y" : 0.58 }, + "4" : { "x" : -13.20, "y" : -18.92 }, + "5" : { "x" : -12.79, "y" : 14.39 }, + "6" : { "x" : -7.76, "y" : -5.48 }, + "7" : { "x" : -3.04, "y" : -15.36 }, + "8" : { "x" : -3.16, "y" : 10.48 }, + "9" : { "x" : 4.62, "y" : -28.05 }, + "10" : { "x" : 3.43, "y" : 25.44 }, + "11" : { "x" : 4.70, "y" : -3.75 } + }, + { + "index" : 81, + "ball" : { "x" : -3.39, "y" : 5.90 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.14, "y" : -0.58 }, + "3" : { "x" : -12.70, "y" : 8.99 }, + "4" : { "x" : -12.79, "y" : -14.39 }, + "5" : { "x" : -13.20, "y" : 18.92 }, + "6" : { "x" : -7.76, "y" : 5.48 }, + "7" : { "x" : -3.16, "y" : -10.48 }, + "8" : { "x" : -3.04, "y" : 15.36 }, + "9" : { "x" : 3.43, "y" : -25.44 }, + "10" : { "x" : 4.62, "y" : 28.05 }, + "11" : { "x" : 4.70, "y" : 3.75 } + }, + { + "index" : 82, + "ball" : { "x" : -9.44, "y" : -24.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -16.56, "y" : -18.28 }, + "3" : { "x" : -17.92, "y" : -4.50 }, + "4" : { "x" : -17.58, "y" : -26.25 }, + "5" : { "x" : -15.92, "y" : 9.67 }, + "6" : { "x" : -13.12, "y" : -13.42 }, + "7" : { "x" : -8.86, "y" : -21.71 }, + "8" : { "x" : -8.23, "y" : 2.36 }, + "9" : { "x" : 4.27, "y" : -30.45 }, + "10" : { "x" : -0.29, "y" : 19.43 }, + "11" : { "x" : 3.59, "y" : -10.02 } + }, + { + "index" : 83, + "ball" : { "x" : -9.44, "y" : 24.77 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.92, "y" : 4.50 }, + "3" : { "x" : -16.56, "y" : 18.28 }, + "4" : { "x" : -15.92, "y" : -9.67 }, + "5" : { "x" : -17.58, "y" : 26.25 }, + "6" : { "x" : -13.12, "y" : 13.42 }, + "7" : { "x" : -8.23, "y" : -2.36 }, + "8" : { "x" : -8.86, "y" : 21.71 }, + "9" : { "x" : -0.29, "y" : -19.43 }, + "10" : { "x" : 4.27, "y" : 30.45 }, + "11" : { "x" : 3.59, "y" : 10.02 } + }, + { + "index" : 84, + "ball" : { "x" : -12.39, "y" : -12.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.61, "y" : -12.64 }, + "3" : { "x" : -20.37, "y" : -1.72 }, + "4" : { "x" : -20.71, "y" : -20.92 }, + "5" : { "x" : -20.15, "y" : 9.72 }, + "6" : { "x" : -16.37, "y" : -8.83 }, + "7" : { "x" : -11.58, "y" : -16.74 }, + "8" : { "x" : -11.06, "y" : 6.74 }, + "9" : { "x" : -0.53, "y" : -28.52 }, + "10" : { "x" : -2.47, "y" : 23.22 }, + "11" : { "x" : -2.10, "y" : -6.61 } + }, + { + "index" : 85, + "ball" : { "x" : -12.39, "y" : 12.39 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -20.37, "y" : 1.72 }, + "3" : { "x" : -18.61, "y" : 12.64 }, + "4" : { "x" : -20.15, "y" : -9.72 }, + "5" : { "x" : -20.71, "y" : 20.92 }, + "6" : { "x" : -16.37, "y" : 8.83 }, + "7" : { "x" : -11.06, "y" : -6.74 }, + "8" : { "x" : -11.58, "y" : 16.74 }, + "9" : { "x" : -2.47, "y" : -23.22 }, + "10" : { "x" : -0.53, "y" : 28.52 }, + "11" : { "x" : -2.10, "y" : 6.61 } + }, + { + "index" : 86, + "ball" : { "x" : -16.37, "y" : -15.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -22.13, "y" : -13.78 }, + "3" : { "x" : -23.54, "y" : -2.52 }, + "4" : { "x" : -24.22, "y" : -21.95 }, + "5" : { "x" : -23.62, "y" : 8.03 }, + "6" : { "x" : -19.87, "y" : -9.96 }, + "7" : { "x" : -15.41, "y" : -17.57 }, + "8" : { "x" : -14.35, "y" : 5.07 }, + "9" : { "x" : -2.60, "y" : -28.70 }, + "10" : { "x" : -4.82, "y" : 22.01 }, + "11" : { "x" : -4.48, "y" : -7.55 } + }, + { + "index" : 87, + "ball" : { "x" : -16.37, "y" : 15.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.54, "y" : 2.52 }, + "3" : { "x" : -22.13, "y" : 13.78 }, + "4" : { "x" : -23.62, "y" : -8.03 }, + "5" : { "x" : -24.22, "y" : 21.95 }, + "6" : { "x" : -19.87, "y" : 9.96 }, + "7" : { "x" : -14.35, "y" : -5.07 }, + "8" : { "x" : -15.41, "y" : 17.57 }, + "9" : { "x" : -4.82, "y" : -22.01 }, + "10" : { "x" : -2.60, "y" : 28.70 }, + "11" : { "x" : -4.48, "y" : 7.55 } + }, + { + "index" : 88, + "ball" : { "x" : -19.91, "y" : -18.28 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -25.82, "y" : -14.13 }, + "3" : { "x" : -26.70, "y" : -3.02 }, + "4" : { "x" : -27.37, "y" : -22.39 }, + "5" : { "x" : -26.83, "y" : 6.95 }, + "6" : { "x" : -22.83, "y" : -10.50 }, + "7" : { "x" : -18.77, "y" : -18.12 }, + "8" : { "x" : -17.16, "y" : 3.88 }, + "9" : { "x" : -4.47, "y" : -28.73 }, + "10" : { "x" : -6.79, "y" : 21.05 }, + "11" : { "x" : -6.47, "y" : -7.96 } + }, + { + "index" : 89, + "ball" : { "x" : -19.91, "y" : 18.28 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.70, "y" : 3.02 }, + "3" : { "x" : -25.82, "y" : 14.13 }, + "4" : { "x" : -26.83, "y" : -6.95 }, + "5" : { "x" : -27.37, "y" : 22.39 }, + "6" : { "x" : -22.83, "y" : 10.50 }, + "7" : { "x" : -17.16, "y" : -3.88 }, + "8" : { "x" : -18.77, "y" : 18.12 }, + "9" : { "x" : -6.79, "y" : -21.05 }, + "10" : { "x" : -4.47, "y" : 28.73 }, + "11" : { "x" : -6.47, "y" : 7.96 } + }, + { + "index" : 90, + "ball" : { "x" : -32.73, "y" : -29.19 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.69, "y" : -13.44 }, + "3" : { "x" : -38.23, "y" : -4.58 }, + "4" : { "x" : -37.42, "y" : -22.97 }, + "5" : { "x" : -37.47, "y" : 4.45 }, + "6" : { "x" : -32.04, "y" : -11.42 }, + "7" : { "x" : -30.22, "y" : -20.74 }, + "8" : { "x" : -26.10, "y" : -0.09 }, + "9" : { "x" : -10.38, "y" : -28.63 }, + "10" : { "x" : -13.04, "y" : 16.63 }, + "11" : { "x" : -12.00, "y" : -7.92 } + }, + { + "index" : 91, + "ball" : { "x" : -32.73, "y" : 29.19 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -38.23, "y" : 4.58 }, + "3" : { "x" : -39.69, "y" : 13.44 }, + "4" : { "x" : -37.47, "y" : -4.45 }, + "5" : { "x" : -37.42, "y" : 22.97 }, + "6" : { "x" : -32.04, "y" : 11.42 }, + "7" : { "x" : -26.10, "y" : 0.09 }, + "8" : { "x" : -30.22, "y" : 20.74 }, + "9" : { "x" : -13.04, "y" : -16.63 }, + "10" : { "x" : -10.38, "y" : 28.63 }, + "11" : { "x" : -12.00, "y" : 7.92 } + }, + { + "index" : 92, + "ball" : { "x" : -24.03, "y" : -17.55 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.55, "y" : -12.75 }, + "3" : { "x" : -31.07, "y" : -2.95 }, + "4" : { "x" : -31.18, "y" : -20.78 }, + "5" : { "x" : -30.99, "y" : 5.87 }, + "6" : { "x" : -26.38, "y" : -9.76 }, + "7" : { "x" : -22.45, "y" : -17.38 }, + "8" : { "x" : -20.54, "y" : 3.87 }, + "9" : { "x" : -7.22, "y" : -28.24 }, + "10" : { "x" : -9.15, "y" : 21.01 }, + "11" : { "x" : -9.46, "y" : -7.39 } + }, + { + "index" : 93, + "ball" : { "x" : -24.03, "y" : 17.55 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -31.07, "y" : 2.95 }, + "3" : { "x" : -30.55, "y" : 12.75 }, + "4" : { "x" : -30.99, "y" : -5.87 }, + "5" : { "x" : -31.18, "y" : 20.78 }, + "6" : { "x" : -26.38, "y" : 9.76 }, + "7" : { "x" : -20.54, "y" : -3.87 }, + "8" : { "x" : -22.45, "y" : 17.38 }, + "9" : { "x" : -9.15, "y" : -21.01 }, + "10" : { "x" : -7.22, "y" : 28.24 }, + "11" : { "x" : -9.46, "y" : 7.39 } + }, + { + "index" : 94, + "ball" : { "x" : -31.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.65, "y" : -2.16 }, + "3" : { "x" : -39.65, "y" : 2.16 }, + "4" : { "x" : -38.28, "y" : -8.03 }, + "5" : { "x" : -38.28, "y" : 8.03 }, + "6" : { "x" : -32.56, "y" : -0.43 }, + "7" : { "x" : -27.38, "y" : -9.85 }, + "8" : { "x" : -27.38, "y" : 9.85 }, + "9" : { "x" : -13.07, "y" : -24.74 }, + "10" : { "x" : -13.07, "y" : 24.74 }, + "11" : { "x" : -18.33, "y" : 1.17 } + }, + { + "index" : 95, + "ball" : { "x" : -29.34, "y" : -15.33 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -36.56, "y" : -10.26 }, + "3" : { "x" : -36.79, "y" : -2.72 }, + "4" : { "x" : -35.95, "y" : -17.42 }, + "5" : { "x" : -36.13, "y" : 4.57 }, + "6" : { "x" : -30.72, "y" : -8.28 }, + "7" : { "x" : -26.82, "y" : -15.97 }, + "8" : { "x" : -24.81, "y" : 4.35 }, + "9" : { "x" : -10.73, "y" : -27.40 }, + "10" : { "x" : -12.11, "y" : 21.27 }, + "11" : { "x" : -13.30, "y" : -6.21 } + }, + { + "index" : 96, + "ball" : { "x" : -29.34, "y" : 15.33 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -36.79, "y" : 2.72 }, + "3" : { "x" : -36.56, "y" : 10.26 }, + "4" : { "x" : -36.13, "y" : -4.57 }, + "5" : { "x" : -35.95, "y" : 17.42 }, + "6" : { "x" : -30.72, "y" : 8.28 }, + "7" : { "x" : -24.81, "y" : -4.35 }, + "8" : { "x" : -26.82, "y" : 15.97 }, + "9" : { "x" : -12.11, "y" : -21.27 }, + "10" : { "x" : -10.73, "y" : 27.40 }, + "11" : { "x" : -13.30, "y" : 6.21 } + }, + { + "index" : 97, + "ball" : { "x" : -37.01, "y" : -33.03 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.77, "y" : -12.81 }, + "3" : { "x" : -40.82, "y" : -4.62 }, + "4" : { "x" : -40.07, "y" : -23.04 }, + "5" : { "x" : -40.14, "y" : 3.64 }, + "6" : { "x" : -34.61, "y" : -11.31 }, + "7" : { "x" : -33.61, "y" : -21.66 }, + "8" : { "x" : -28.64, "y" : -1.11 }, + "9" : { "x" : -12.13, "y" : -28.47 }, + "10" : { "x" : -14.85, "y" : 14.96 }, + "11" : { "x" : -13.43, "y" : -7.26 } + }, + { + "index" : 98, + "ball" : { "x" : -37.01, "y" : 33.03 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -40.82, "y" : 4.62 }, + "3" : { "x" : -42.77, "y" : 12.81 }, + "4" : { "x" : -40.14, "y" : -3.64 }, + "5" : { "x" : -40.07, "y" : 23.04 }, + "6" : { "x" : -34.61, "y" : 11.31 }, + "7" : { "x" : -28.64, "y" : 1.11 }, + "8" : { "x" : -33.61, "y" : 21.66 }, + "9" : { "x" : -14.85, "y" : -14.96 }, + "10" : { "x" : -12.13, "y" : 28.47 }, + "11" : { "x" : -13.43, "y" : 7.26 } + }, + { + "index" : 99, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.24, "y" : -10.29 }, + "3" : { "x" : -44.48, "y" : -1.69 }, + "4" : { "x" : -48.45, "y" : -21.85 }, + "5" : { "x" : -48.06, "y" : 2.31 }, + "6" : { "x" : -43.60, "y" : -8.28 }, + "7" : { "x" : -43.89, "y" : -21.18 }, + "8" : { "x" : -38.36, "y" : -1.28 }, + "9" : { "x" : -20.87, "y" : -26.29 }, + "10" : { "x" : -22.49, "y" : 12.44 }, + "11" : { "x" : -22.80, "y" : -4.37 } + }, + { + "index" : 100, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -44.48, "y" : 1.69 }, + "3" : { "x" : -46.24, "y" : 10.29 }, + "4" : { "x" : -48.06, "y" : -2.31 }, + "5" : { "x" : -48.45, "y" : 21.85 }, + "6" : { "x" : -43.60, "y" : 8.28 }, + "7" : { "x" : -38.36, "y" : 1.28 }, + "8" : { "x" : -43.89, "y" : 21.18 }, + "9" : { "x" : -22.49, "y" : -12.44 }, + "10" : { "x" : -20.87, "y" : 26.29 }, + "11" : { "x" : -22.80, "y" : 4.37 } + }, + { + "index" : 101, + "ball" : { "x" : -48.66, "y" : -22.71 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.06, "y" : -8.98 }, + "3" : { "x" : -45.54, "y" : -2.25 }, + "4" : { "x" : -47.21, "y" : -15.63 }, + "5" : { "x" : -47.31, "y" : 2.84 }, + "6" : { "x" : -41.76, "y" : -7.28 }, + "7" : { "x" : -40.32, "y" : -17.03 }, + "8" : { "x" : -36.69, "y" : 1.74 }, + "9" : { "x" : -19.94, "y" : -26.01 }, + "10" : { "x" : -21.01, "y" : 17.44 }, + "11" : { "x" : -22.29, "y" : -5.05 } + }, + { + "index" : 102, + "ball" : { "x" : -48.66, "y" : 22.71 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.54, "y" : 2.25 }, + "3" : { "x" : -46.06, "y" : 8.98 }, + "4" : { "x" : -47.31, "y" : -2.84 }, + "5" : { "x" : -47.21, "y" : 15.63 }, + "6" : { "x" : -41.76, "y" : 7.28 }, + "7" : { "x" : -36.69, "y" : -1.74 }, + "8" : { "x" : -40.32, "y" : 17.03 }, + "9" : { "x" : -21.01, "y" : -17.44 }, + "10" : { "x" : -19.94, "y" : 26.01 }, + "11" : { "x" : -22.29, "y" : 5.05 } + }, + { + "index" : 103, + "ball" : { "x" : -39.52, "y" : -28.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.82, "y" : -11.32 }, + "3" : { "x" : -42.60, "y" : -4.34 }, + "4" : { "x" : -42.05, "y" : -20.13 }, + "5" : { "x" : -42.42, "y" : 2.74 }, + "6" : { "x" : -36.63, "y" : -10.01 }, + "7" : { "x" : -35.11, "y" : -19.75 }, + "8" : { "x" : -30.74, "y" : 0.19 }, + "9" : { "x" : -14.51, "y" : -27.72 }, + "10" : { "x" : -16.49, "y" : 16.49 }, + "11" : { "x" : -16.44, "y" : -6.95 } + }, + { + "index" : 104, + "ball" : { "x" : -39.52, "y" : 28.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -42.60, "y" : 4.34 }, + "3" : { "x" : -43.82, "y" : 11.32 }, + "4" : { "x" : -42.42, "y" : -2.74 }, + "5" : { "x" : -42.05, "y" : 20.13 }, + "6" : { "x" : -36.63, "y" : 10.01 }, + "7" : { "x" : -30.74, "y" : -0.19 }, + "8" : { "x" : -35.11, "y" : 19.75 }, + "9" : { "x" : -16.49, "y" : -16.49 }, + "10" : { "x" : -14.51, "y" : 27.72 }, + "11" : { "x" : -16.44, "y" : 6.95 } + }, + { + "index" : 105, + "ball" : { "x" : -39.22, "y" : -22.12 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.64, "y" : -10.02 }, + "3" : { "x" : -43.11, "y" : -3.81 }, + "4" : { "x" : -42.46, "y" : -17.18 }, + "5" : { "x" : -42.88, "y" : 2.69 }, + "6" : { "x" : -36.90, "y" : -8.77 }, + "7" : { "x" : -34.57, "y" : -17.60 }, + "8" : { "x" : -31.14, "y" : 1.89 }, + "9" : { "x" : -15.29, "y" : -27.15 }, + "10" : { "x" : -16.77, "y" : 18.47 }, + "11" : { "x" : -17.55, "y" : -6.43 } + }, + { + "index" : 106, + "ball" : { "x" : -39.22, "y" : 22.12 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -43.11, "y" : 3.81 }, + "3" : { "x" : -43.64, "y" : 10.02 }, + "4" : { "x" : -42.88, "y" : -2.69 }, + "5" : { "x" : -42.46, "y" : 17.18 }, + "6" : { "x" : -36.90, "y" : 8.77 }, + "7" : { "x" : -31.14, "y" : -1.89 }, + "8" : { "x" : -34.57, "y" : 17.60 }, + "9" : { "x" : -16.77, "y" : -18.47 }, + "10" : { "x" : -15.29, "y" : 27.15 }, + "11" : { "x" : -17.55, "y" : 6.43 } + }, + { + "index" : 107, + "ball" : { "x" : -41.58, "y" : -7.22 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.59, "y" : -4.05 }, + "3" : { "x" : -45.51, "y" : -0.60 }, + "4" : { "x" : -44.96, "y" : -8.55 }, + "5" : { "x" : -45.08, "y" : 3.99 }, + "6" : { "x" : -38.84, "y" : -3.44 }, + "7" : { "x" : -35.13, "y" : -11.83 }, + "8" : { "x" : -33.99, "y" : 6.61 }, + "9" : { "x" : -17.94, "y" : -24.94 }, + "10" : { "x" : -18.33, "y" : 22.22 }, + "11" : { "x" : -21.98, "y" : -1.47 } + }, + { + "index" : 108, + "ball" : { "x" : -41.58, "y" : 7.22 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.51, "y" : 0.60 }, + "3" : { "x" : -45.59, "y" : 4.05 }, + "4" : { "x" : -45.08, "y" : -3.99 }, + "5" : { "x" : -44.96, "y" : 8.55 }, + "6" : { "x" : -38.84, "y" : 3.44 }, + "7" : { "x" : -33.99, "y" : -6.61 }, + "8" : { "x" : -35.13, "y" : 11.83 }, + "9" : { "x" : -18.33, "y" : -22.22 }, + "10" : { "x" : -17.94, "y" : 24.94 }, + "11" : { "x" : -21.98, "y" : 1.47 } + }, + { + "index" : 109, + "ball" : { "x" : -34.06, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.55, "y" : -5.15 }, + "3" : { "x" : -41.60, "y" : -0.80 }, + "4" : { "x" : -40.20, "y" : -10.73 }, + "5" : { "x" : -40.73, "y" : 4.73 }, + "6" : { "x" : -34.41, "y" : -4.35 }, + "7" : { "x" : -29.99, "y" : -12.46 }, + "8" : { "x" : -28.91, "y" : 6.92 }, + "9" : { "x" : -14.14, "y" : -25.77 }, + "10" : { "x" : -14.67, "y" : 22.91 }, + "11" : { "x" : -17.91, "y" : -2.58 } + }, + { + "index" : 110, + "ball" : { "x" : -34.06, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -41.60, "y" : 0.80 }, + "3" : { "x" : -41.55, "y" : 5.15 }, + "4" : { "x" : -40.73, "y" : -4.73 }, + "5" : { "x" : -40.20, "y" : 10.73 }, + "6" : { "x" : -34.41, "y" : 4.35 }, + "7" : { "x" : -28.91, "y" : -6.92 }, + "8" : { "x" : -29.99, "y" : 12.46 }, + "9" : { "x" : -14.67, "y" : -22.91 }, + "10" : { "x" : -14.14, "y" : 25.77 }, + "11" : { "x" : -17.91, "y" : 2.58 } + }, + { + "index" : 111, + "ball" : { "x" : -48.22, "y" : -9.88 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.90, "y" : -4.98 }, + "3" : { "x" : -46.74, "y" : -0.12 }, + "4" : { "x" : -47.87, "y" : -9.24 }, + "5" : { "x" : -47.87, "y" : 4.14 }, + "6" : { "x" : -41.91, "y" : -3.75 }, + "7" : { "x" : -39.23, "y" : -12.38 }, + "8" : { "x" : -37.64, "y" : 5.54 }, + "9" : { "x" : -20.84, "y" : -24.54 }, + "10" : { "x" : -21.27, "y" : 20.92 }, + "11" : { "x" : -24.49, "y" : -1.57 } + }, + { + "index" : 112, + "ball" : { "x" : -48.22, "y" : 9.88 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.74, "y" : 0.12 }, + "3" : { "x" : -46.90, "y" : 4.98 }, + "4" : { "x" : -47.87, "y" : -4.14 }, + "5" : { "x" : -47.87, "y" : 9.24 }, + "6" : { "x" : -41.91, "y" : 3.75 }, + "7" : { "x" : -37.64, "y" : -5.54 }, + "8" : { "x" : -39.23, "y" : 12.38 }, + "9" : { "x" : -21.27, "y" : -20.92 }, + "10" : { "x" : -20.84, "y" : 24.54 }, + "11" : { "x" : -24.49, "y" : 1.57 } + }, + { + "index" : 113, + "ball" : { "x" : 15.33, "y" : -21.38 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.43, "y" : -14.97 }, + "3" : { "x" : -6.57, "y" : -0.58 }, + "4" : { "x" : -2.37, "y" : -25.05 }, + "5" : { "x" : -0.76, "y" : 12.47 }, + "6" : { "x" : 4.93, "y" : -10.62 }, + "7" : { "x" : 4.93, "y" : -21.15 }, + "8" : { "x" : 18.46, "y" : 0.94 }, + "9" : { "x" : 21.33, "y" : -29.66 }, + "10" : { "x" : 20.06, "y" : 18.78 }, + "11" : { "x" : 24.72, "y" : -14.15 } + }, + { + "index" : 114, + "ball" : { "x" : 15.33, "y" : 21.38 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -6.57, "y" : 0.58 }, + "3" : { "x" : -8.43, "y" : 14.97 }, + "4" : { "x" : -0.76, "y" : -12.47 }, + "5" : { "x" : -2.37, "y" : 25.05 }, + "6" : { "x" : 4.93, "y" : 10.62 }, + "7" : { "x" : 18.46, "y" : -0.94 }, + "8" : { "x" : 4.93, "y" : 21.15 }, + "9" : { "x" : 20.06, "y" : -18.78 }, + "10" : { "x" : 21.33, "y" : 29.66 }, + "11" : { "x" : 24.72, "y" : 14.15 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/offense-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/offense-formation.conf new file mode 100644 index 0000000..ac1e9d9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/offense-formation.conf @@ -0,0 +1,1810 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 4.90, "y" : -27.30 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 27.43, "y" : -16.50 }, + "7" : { "x" : 33.12, "y" : -27.00 }, + "8" : { "x" : 38.22, "y" : -3.50 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 46.00, "y" : 6.80 }, + "11" : { "x" : 46.28, "y" : -14.00 } + }, + { + "index" : 1, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 4.90, "y" : 27.30 }, + "6" : { "x" : 27.43, "y" : 16.50 }, + "7" : { "x" : 38.22, "y" : 3.50 }, + "8" : { "x" : 33.12, "y" : 27.00 }, + "9" : { "x" : 46.00, "y" : -6.80 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 46.28, "y" : 14.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.53, "y" : -5.42 }, + "3" : { "x" : -15.53, "y" : 5.42 }, + "4" : { "x" : -11.56, "y" : -15.78 }, + "5" : { "x" : -11.56, "y" : 15.78 }, + "6" : { "x" : -6.73, "y" : -1.87 }, + "7" : { "x" : 2.83, "y" : -10.81 }, + "8" : { "x" : 2.83, "y" : 10.81 }, + "9" : { "x" : 9.30, "y" : -23.78 }, + "10" : { "x" : 9.30, "y" : 23.78 }, + "11" : { "x" : 9.41, "y" : -3.12 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -6.07 }, + "3" : { "x" : 2.74, "y" : 6.07 }, + "4" : { "x" : 7.21, "y" : -18.58 }, + "5" : { "x" : 7.21, "y" : 18.58 }, + "6" : { "x" : 26.86, "y" : -3.20 }, + "7" : { "x" : 40.73, "y" : -3.77 }, + "8" : { "x" : 40.73, "y" : 3.77 }, + "9" : { "x" : 48.97, "y" : -9.82 }, + "10" : { "x" : 48.97, "y" : 9.82 }, + "11" : { "x" : 45.60, "y" : -1.65 } + }, + { + "index" : 4, + "ball" : { "x" : 36.57, "y" : -12.09 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.25, "y" : -9.96 }, + "3" : { "x" : 0.52, "y" : 3.20 }, + "4" : { "x" : 5.09, "y" : -23.21 }, + "5" : { "x" : 7.36, "y" : 15.67 }, + "6" : { "x" : 18.98, "y" : -7.30 }, + "7" : { "x" : 27.73, "y" : -14.57 }, + "8" : { "x" : 32.40, "y" : 1.86 }, + "9" : { "x" : 39.17, "y" : -19.85 }, + "10" : { "x" : 42.41, "y" : 10.78 }, + "11" : { "x" : 38.10, "y" : -8.45 } + }, + { + "index" : 5, + "ball" : { "x" : 36.57, "y" : 12.09 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.52, "y" : -3.20 }, + "3" : { "x" : -1.25, "y" : 9.96 }, + "4" : { "x" : 7.36, "y" : -15.67 }, + "5" : { "x" : 5.09, "y" : 23.21 }, + "6" : { "x" : 18.98, "y" : 7.30 }, + "7" : { "x" : 32.40, "y" : -1.86 }, + "8" : { "x" : 27.73, "y" : 14.57 }, + "9" : { "x" : 42.41, "y" : -10.78 }, + "10" : { "x" : 39.17, "y" : 19.85 }, + "11" : { "x" : 38.10, "y" : 8.45 } + }, + { + "index" : 6, + "ball" : { "x" : 48.51, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.51, "y" : -10.77 }, + "3" : { "x" : 3.07, "y" : 3.38 }, + "4" : { "x" : 2.27, "y" : -23.46 }, + "5" : { "x" : 12.83, "y" : 13.63 }, + "6" : { "x" : 25.20, "y" : -9.33 }, + "7" : { "x" : 34.83, "y" : -14.95 }, + "8" : { "x" : 39.34, "y" : -1.01 }, + "9" : { "x" : 45.03, "y" : -20.81 }, + "10" : { "x" : 46.88, "y" : 6.76 }, + "11" : { "x" : 43.86, "y" : -8.86 } + }, + { + "index" : 7, + "ball" : { "x" : 48.51, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.07, "y" : -3.38 }, + "3" : { "x" : 0.51, "y" : 10.77 }, + "4" : { "x" : 12.83, "y" : -13.63 }, + "5" : { "x" : 2.27, "y" : 23.46 }, + "6" : { "x" : 25.20, "y" : 9.33 }, + "7" : { "x" : 39.34, "y" : 1.01 }, + "8" : { "x" : 34.83, "y" : 14.95 }, + "9" : { "x" : 46.88, "y" : -6.76 }, + "10" : { "x" : 45.03, "y" : 20.81 }, + "11" : { "x" : 43.86, "y" : 8.86 } + }, + { + "index" : 8, + "ball" : { "x" : 42.76, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.98, "y" : -5.97 }, + "3" : { "x" : 0.98, "y" : 5.97 }, + "4" : { "x" : 6.85, "y" : -19.24 }, + "5" : { "x" : 6.85, "y" : 19.24 }, + "6" : { "x" : 21.77, "y" : -2.76 }, + "7" : { "x" : 35.57, "y" : -5.84 }, + "8" : { "x" : 35.57, "y" : 5.84 }, + "9" : { "x" : 44.37, "y" : -9.81 }, + "10" : { "x" : 44.37, "y" : 9.81 }, + "11" : { "x" : 40.72, "y" : -2.36 } + }, + { + "index" : 9, + "ball" : { "x" : 48.66, "y" : -5.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.54, "y" : -7.25 }, + "3" : { "x" : 2.33, "y" : 5.02 }, + "4" : { "x" : 6.06, "y" : -20.44 }, + "5" : { "x" : 8.38, "y" : 17.49 }, + "6" : { "x" : 24.70, "y" : -4.89 }, + "7" : { "x" : 37.70, "y" : -7.40 }, + "8" : { "x" : 39.20, "y" : 2.37 }, + "9" : { "x" : 46.09, "y" : -15.60 }, + "10" : { "x" : 46.80, "y" : 0.42 }, + "11" : { "x" : 43.57, "y" : -4.31 } + }, + { + "index" : 10, + "ball" : { "x" : 48.66, "y" : 5.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.33, "y" : -5.02 }, + "3" : { "x" : 1.54, "y" : 7.25 }, + "4" : { "x" : 8.38, "y" : -17.49 }, + "5" : { "x" : 6.06, "y" : 20.44 }, + "6" : { "x" : 24.70, "y" : 4.89 }, + "7" : { "x" : 39.20, "y" : -2.37 }, + "8" : { "x" : 37.70, "y" : 7.40 }, + "9" : { "x" : 46.80, "y" : -0.42 }, + "10" : { "x" : 46.09, "y" : 15.60 }, + "11" : { "x" : 43.57, "y" : 4.31 } + }, + { + "index" : 11, + "ball" : { "x" : 50.57, "y" : -6.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.66, "y" : -7.71 }, + "3" : { "x" : 2.75, "y" : 4.77 }, + "4" : { "x" : 5.36, "y" : -20.80 }, + "5" : { "x" : 9.23, "y" : 16.82 }, + "6" : { "x" : 25.62, "y" : -5.67 }, + "7" : { "x" : 38.20, "y" : -8.13 }, + "8" : { "x" : 40.06, "y" : 1.43 }, + "9" : { "x" : 47.00, "y" : -17.67 }, + "10" : { "x" : 47.39, "y" : -0.36 }, + "11" : { "x" : 44.40, "y" : -4.93 } + }, + { + "index" : 12, + "ball" : { "x" : 50.57, "y" : 6.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.75, "y" : -4.77 }, + "3" : { "x" : 1.66, "y" : 7.71 }, + "4" : { "x" : 9.23, "y" : -16.82 }, + "5" : { "x" : 5.36, "y" : 20.80 }, + "6" : { "x" : 25.62, "y" : 5.67 }, + "7" : { "x" : 40.06, "y" : -1.43 }, + "8" : { "x" : 38.20, "y" : 8.13 }, + "9" : { "x" : 47.39, "y" : 0.36 }, + "10" : { "x" : 47.00, "y" : 17.67 }, + "11" : { "x" : 44.40, "y" : 4.93 } + }, + { + "index" : 13, + "ball" : { "x" : 52.49, "y" : -17.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.95, "y" : -10.96 }, + "3" : { "x" : 3.74, "y" : 3.50 }, + "4" : { "x" : 0.75, "y" : -23.35 }, + "5" : { "x" : 14.73, "y" : 12.86 }, + "6" : { "x" : 27.02, "y" : -9.99 }, + "7" : { "x" : 36.71, "y" : -15.30 }, + "8" : { "x" : 40.72, "y" : -1.59 }, + "9" : { "x" : 47.62, "y" : -24.13 }, + "10" : { "x" : 47.64, "y" : 7.59 }, + "11" : { "x" : 45.39, "y" : -8.87 } + }, + { + "index" : 14, + "ball" : { "x" : 52.49, "y" : 17.10 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.74, "y" : -3.50 }, + "3" : { "x" : 0.95, "y" : 10.96 }, + "4" : { "x" : 14.73, "y" : -12.86 }, + "5" : { "x" : 0.75, "y" : 23.35 }, + "6" : { "x" : 27.02, "y" : 9.99 }, + "7" : { "x" : 40.72, "y" : 1.59 }, + "8" : { "x" : 36.71, "y" : 15.30 }, + "9" : { "x" : 47.64, "y" : -7.59 }, + "10" : { "x" : 47.62, "y" : 24.13 }, + "11" : { "x" : 45.39, "y" : 8.87 } + }, + { + "index" : 15, + "ball" : { "x" : 52.49, "y" : -7.96 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -7.99 }, + "3" : { "x" : 3.10, "y" : 4.66 }, + "4" : { "x" : 4.65, "y" : -20.95 }, + "5" : { "x" : 10.02, "y" : 16.31 }, + "6" : { "x" : 26.49, "y" : -6.22 }, + "7" : { "x" : 38.78, "y" : -8.58 }, + "8" : { "x" : 40.75, "y" : 0.80 }, + "9" : { "x" : 48.07, "y" : -19.82 }, + "10" : { "x" : 47.99, "y" : 0.19 }, + "11" : { "x" : 45.16, "y" : -5.26 } + }, + { + "index" : 16, + "ball" : { "x" : 52.49, "y" : 7.96 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.10, "y" : -4.66 }, + "3" : { "x" : 1.82, "y" : 7.99 }, + "4" : { "x" : 10.02, "y" : -16.31 }, + "5" : { "x" : 4.65, "y" : 20.95 }, + "6" : { "x" : 26.49, "y" : 6.22 }, + "7" : { "x" : 40.75, "y" : -0.80 }, + "8" : { "x" : 38.78, "y" : 8.58 }, + "9" : { "x" : 47.99, "y" : -0.19 }, + "10" : { "x" : 48.07, "y" : 19.82 }, + "11" : { "x" : 45.16, "y" : 5.26 } + }, + { + "index" : 17, + "ball" : { "x" : 49.25, "y" : -9.29 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.25, "y" : -8.48 }, + "3" : { "x" : 2.73, "y" : 4.33 }, + "4" : { "x" : 4.73, "y" : -21.62 }, + "5" : { "x" : 9.92, "y" : 16.07 }, + "6" : { "x" : 25.18, "y" : -6.62 }, + "7" : { "x" : 37.01, "y" : -10.02 }, + "8" : { "x" : 39.69, "y" : 0.74 }, + "9" : { "x" : 46.18, "y" : -17.93 }, + "10" : { "x" : 47.11, "y" : 1.01 }, + "11" : { "x" : 43.96, "y" : -6.11 } + }, + { + "index" : 18, + "ball" : { "x" : 49.25, "y" : 9.29 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.73, "y" : -4.33 }, + "3" : { "x" : 1.25, "y" : 8.48 }, + "4" : { "x" : 9.92, "y" : -16.07 }, + "5" : { "x" : 4.73, "y" : 21.62 }, + "6" : { "x" : 25.18, "y" : 6.62 }, + "7" : { "x" : 39.69, "y" : -0.74 }, + "8" : { "x" : 37.01, "y" : 10.02 }, + "9" : { "x" : 47.11, "y" : -1.01 }, + "10" : { "x" : 46.18, "y" : 17.93 }, + "11" : { "x" : 43.96, "y" : 6.11 } + }, + { + "index" : 19, + "ball" : { "x" : 46.74, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.62, "y" : -6.08 }, + "3" : { "x" : 1.62, "y" : 6.08 }, + "4" : { "x" : 7.10, "y" : -19.05 }, + "5" : { "x" : 7.10, "y" : 19.05 }, + "6" : { "x" : 23.75, "y" : -0.90 }, + "7" : { "x" : 37.73, "y" : -4.99 }, + "8" : { "x" : 37.73, "y" : 4.99 }, + "9" : { "x" : 45.70, "y" : -9.75 }, + "10" : { "x" : 45.70, "y" : 9.75 }, + "11" : { "x" : 42.56, "y" : -2.13 } + }, + { + "index" : 20, + "ball" : { "x" : 42.61, "y" : -5.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.50, "y" : -7.52 }, + "3" : { "x" : 1.36, "y" : 4.72 }, + "4" : { "x" : 6.18, "y" : -20.97 }, + "5" : { "x" : 7.57, "y" : 17.56 }, + "6" : { "x" : 21.91, "y" : -4.90 }, + "7" : { "x" : 34.21, "y" : -9.06 }, + "8" : { "x" : 36.27, "y" : 3.21 }, + "9" : { "x" : 43.47, "y" : -15.10 }, + "10" : { "x" : 45.41, "y" : 2.80 }, + "11" : { "x" : 40.91, "y" : -5.04 } + }, + { + "index" : 21, + "ball" : { "x" : 42.61, "y" : 5.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.36, "y" : -4.72 }, + "3" : { "x" : 0.50, "y" : 7.52 }, + "4" : { "x" : 7.57, "y" : -17.56 }, + "5" : { "x" : 6.18, "y" : 20.97 }, + "6" : { "x" : 21.91, "y" : 4.90 }, + "7" : { "x" : 36.27, "y" : -3.21 }, + "8" : { "x" : 34.21, "y" : 9.06 }, + "9" : { "x" : 45.41, "y" : -2.80 }, + "10" : { "x" : 43.47, "y" : 15.10 }, + "11" : { "x" : 40.91, "y" : 5.04 } + }, + { + "index" : 22, + "ball" : { "x" : 45.86, "y" : -3.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.23, "y" : -6.89 }, + "3" : { "x" : 1.78, "y" : 5.23 }, + "4" : { "x" : 6.49, "y" : -20.18 }, + "5" : { "x" : 7.68, "y" : 18.07 }, + "6" : { "x" : 23.37, "y" : -4.21 }, + "7" : { "x" : 36.61, "y" : -7.09 }, + "8" : { "x" : 37.80, "y" : 3.47 }, + "9" : { "x" : 45.04, "y" : -13.82 }, + "10" : { "x" : 45.96, "y" : 2.43 }, + "11" : { "x" : 42.32, "y" : -3.85 } + }, + { + "index" : 23, + "ball" : { "x" : 45.86, "y" : 3.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.78, "y" : -5.23 }, + "3" : { "x" : 1.23, "y" : 6.89 }, + "4" : { "x" : 7.68, "y" : -18.07 }, + "5" : { "x" : 6.49, "y" : 20.18 }, + "6" : { "x" : 23.37, "y" : 4.21 }, + "7" : { "x" : 37.80, "y" : -3.47 }, + "8" : { "x" : 36.61, "y" : 7.09 }, + "9" : { "x" : 45.96, "y" : -2.43 }, + "10" : { "x" : 45.04, "y" : 13.82 }, + "11" : { "x" : 42.32, "y" : 3.85 } + }, + { + "index" : 24, + "ball" : { "x" : 46.89, "y" : -6.49 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.14, "y" : -7.70 }, + "3" : { "x" : 2.17, "y" : 4.70 }, + "4" : { "x" : 5.83, "y" : -20.99 }, + "5" : { "x" : 8.52, "y" : 17.12 }, + "6" : { "x" : 23.98, "y" : -5.41 }, + "7" : { "x" : 36.48, "y" : -8.62 }, + "8" : { "x" : 38.57, "y" : 2.07 }, + "9" : { "x" : 45.21, "y" : -15.64 }, + "10" : { "x" : 46.51, "y" : 0.08 }, + "11" : { "x" : 42.89, "y" : -5.11 } + }, + { + "index" : 25, + "ball" : { "x" : 46.89, "y" : 6.49 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.17, "y" : -4.70 }, + "3" : { "x" : 1.14, "y" : 7.70 }, + "4" : { "x" : 8.52, "y" : -17.12 }, + "5" : { "x" : 5.83, "y" : 20.99 }, + "6" : { "x" : 23.98, "y" : 5.41 }, + "7" : { "x" : 38.57, "y" : -2.07 }, + "8" : { "x" : 36.48, "y" : 8.62 }, + "9" : { "x" : 46.51, "y" : -0.08 }, + "10" : { "x" : 45.21, "y" : 15.64 }, + "11" : { "x" : 42.89, "y" : 5.11 } + }, + { + "index" : 26, + "ball" : { "x" : 38.63, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -5.93 }, + "3" : { "x" : 0.18, "y" : 5.93 }, + "4" : { "x" : 6.41, "y" : -19.34 }, + "5" : { "x" : 6.41, "y" : 19.34 }, + "6" : { "x" : 19.71, "y" : -2.62 }, + "7" : { "x" : 32.73, "y" : -6.84 }, + "8" : { "x" : 32.73, "y" : 6.84 }, + "9" : { "x" : 42.20, "y" : -11.81 }, + "10" : { "x" : 42.20, "y" : 11.81 }, + "11" : { "x" : 38.61, "y" : -2.57 } + }, + { + "index" : 27, + "ball" : { "x" : 39.22, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.15, "y" : -7.62 }, + "3" : { "x" : 0.71, "y" : 4.57 }, + "4" : { "x" : 6.10, "y" : -21.14 }, + "5" : { "x" : 6.93, "y" : 17.60 }, + "6" : { "x" : 20.20, "y" : -4.84 }, + "7" : { "x" : 31.80, "y" : -9.98 }, + "8" : { "x" : 34.05, "y" : 3.87 }, + "9" : { "x" : 41.58, "y" : -16.28 }, + "10" : { "x" : 44.01, "y" : 6.35 }, + "11" : { "x" : 39.22, "y" : -5.35 } + }, + { + "index" : 28, + "ball" : { "x" : 39.22, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.71, "y" : -4.57 }, + "3" : { "x" : -0.15, "y" : 7.62 }, + "4" : { "x" : 6.93, "y" : -17.60 }, + "5" : { "x" : 6.10, "y" : 21.14 }, + "6" : { "x" : 20.20, "y" : 4.84 }, + "7" : { "x" : 34.05, "y" : -3.87 }, + "8" : { "x" : 31.80, "y" : 9.98 }, + "9" : { "x" : 44.01, "y" : -6.35 }, + "10" : { "x" : 41.58, "y" : 16.28 }, + "11" : { "x" : 39.22, "y" : 5.35 } + }, + { + "index" : 29, + "ball" : { "x" : 30.37, "y" : -15.92 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.06, "y" : -11.84 }, + "3" : { "x" : -0.92, "y" : 2.05 }, + "4" : { "x" : 3.83, "y" : -24.40 }, + "5" : { "x" : 6.00, "y" : 14.49 }, + "6" : { "x" : 15.44, "y" : -8.70 }, + "7" : { "x" : 21.07, "y" : -17.96 }, + "8" : { "x" : 27.44, "y" : 1.55 }, + "9" : { "x" : 34.11, "y" : -24.30 }, + "10" : { "x" : 34.71, "y" : 14.57 }, + "11" : { "x" : 34.70, "y" : -10.66 } + }, + { + "index" : 30, + "ball" : { "x" : 30.37, "y" : 15.92 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.92, "y" : -2.05 }, + "3" : { "x" : -3.06, "y" : 11.84 }, + "4" : { "x" : 6.00, "y" : -14.49 }, + "5" : { "x" : 3.83, "y" : 24.40 }, + "6" : { "x" : 15.44, "y" : 8.70 }, + "7" : { "x" : 27.44, "y" : -1.55 }, + "8" : { "x" : 21.07, "y" : 17.96 }, + "9" : { "x" : 34.71, "y" : -14.57 }, + "10" : { "x" : 34.11, "y" : 24.30 }, + "11" : { "x" : 34.70, "y" : 10.66 } + }, + { + "index" : 31, + "ball" : { "x" : 0.00, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.18, "y" : -19.96 }, + "3" : { "x" : -16.68, "y" : -6.05 }, + "4" : { "x" : -13.42, "y" : -30.30 }, + "5" : { "x" : -7.16, "y" : 6.63 }, + "6" : { "x" : -8.38, "y" : -16.63 }, + "7" : { "x" : -7.37, "y" : -25.18 }, + "8" : { "x" : -4.81, "y" : -1.58 }, + "9" : { "x" : 13.45, "y" : -32.14 }, + "10" : { "x" : 10.92, "y" : 18.27 }, + "11" : { "x" : 14.62, "y" : -20.60 } + }, + { + "index" : 32, + "ball" : { "x" : 0.00, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.68, "y" : 6.05 }, + "3" : { "x" : -17.18, "y" : 19.96 }, + "4" : { "x" : -7.16, "y" : -6.63 }, + "5" : { "x" : -13.42, "y" : 30.30 }, + "6" : { "x" : -8.38, "y" : 16.63 }, + "7" : { "x" : -4.81, "y" : 1.58 }, + "8" : { "x" : -7.37, "y" : 25.18 }, + "9" : { "x" : 10.92, "y" : -18.27 }, + "10" : { "x" : 13.45, "y" : 32.14 }, + "11" : { "x" : 14.62, "y" : 20.60 } + }, + { + "index" : 33, + "ball" : { "x" : 44.53, "y" : -22.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.79, "y" : -13.56 }, + "3" : { "x" : 2.77, "y" : 2.31 }, + "4" : { "x" : 0.88, "y" : -25.30 }, + "5" : { "x" : 14.30, "y" : 11.33 }, + "6" : { "x" : 23.64, "y" : -11.92 }, + "7" : { "x" : 30.42, "y" : -20.33 }, + "8" : { "x" : 36.76, "y" : -1.94 }, + "9" : { "x" : 41.44, "y" : -22.71 }, + "10" : { "x" : 45.59, "y" : 7.46 }, + "11" : { "x" : 42.36, "y" : -11.75 } + }, + { + "index" : 34, + "ball" : { "x" : 44.53, "y" : 22.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.77, "y" : -2.31 }, + "3" : { "x" : -0.79, "y" : 13.56 }, + "4" : { "x" : 14.30, "y" : -11.33 }, + "5" : { "x" : 0.88, "y" : 25.30 }, + "6" : { "x" : 23.64, "y" : 11.92 }, + "7" : { "x" : 36.76, "y" : 1.94 }, + "8" : { "x" : 30.42, "y" : 20.33 }, + "9" : { "x" : 45.59, "y" : -7.46 }, + "10" : { "x" : 41.44, "y" : 22.71 }, + "11" : { "x" : 42.36, "y" : 11.75 } + }, + { + "index" : 35, + "ball" : { "x" : 44.09, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.70, "y" : -16.43 }, + "3" : { "x" : 3.08, "y" : 1.45 }, + "4" : { "x" : 2.15, "y" : -27.12 }, + "5" : { "x" : 15.32, "y" : 8.96 }, + "6" : { "x" : 23.78, "y" : -15.03 }, + "7" : { "x" : 28.49, "y" : -25.40 }, + "8" : { "x" : 35.10, "y" : -2.94 }, + "9" : { "x" : 39.72, "y" : -25.13 }, + "10" : { "x" : 44.65, "y" : 7.22 }, + "11" : { "x" : 42.31, "y" : -14.34 } + }, + { + "index" : 36, + "ball" : { "x" : 44.09, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.08, "y" : -1.45 }, + "3" : { "x" : -1.70, "y" : 16.43 }, + "4" : { "x" : 15.32, "y" : -8.96 }, + "5" : { "x" : 2.15, "y" : 27.12 }, + "6" : { "x" : 23.78, "y" : 15.03 }, + "7" : { "x" : 35.10, "y" : 2.94 }, + "8" : { "x" : 28.49, "y" : 25.40 }, + "9" : { "x" : 44.65, "y" : -7.22 }, + "10" : { "x" : 39.72, "y" : 25.13 }, + "11" : { "x" : 42.31, "y" : 14.34 } + }, + { + "index" : 37, + "ball" : { "x" : 29.19, "y" : -34.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.36, "y" : -18.80 }, + "3" : { "x" : -0.74, "y" : -0.94 }, + "4" : { "x" : 2.30, "y" : -27.83 }, + "5" : { "x" : 9.40, "y" : 8.12 }, + "6" : { "x" : 15.16, "y" : -16.50 }, + "7" : { "x" : 19.03, "y" : -27.25 }, + "8" : { "x" : 26.04, "y" : -3.11 }, + "9" : { "x" : 36.79, "y" : -29.36 }, + "10" : { "x" : 29.88, "y" : 13.71 }, + "11" : { "x" : 34.81, "y" : -17.65 } + }, + { + "index" : 38, + "ball" : { "x" : 29.19, "y" : 34.36 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.74, "y" : 0.94 }, + "3" : { "x" : -5.36, "y" : 18.80 }, + "4" : { "x" : 9.40, "y" : -8.12 }, + "5" : { "x" : 2.30, "y" : 27.83 }, + "6" : { "x" : 15.16, "y" : 16.50 }, + "7" : { "x" : 26.04, "y" : 3.11 }, + "8" : { "x" : 19.03, "y" : 27.25 }, + "9" : { "x" : 29.88, "y" : -13.71 }, + "10" : { "x" : 36.79, "y" : 29.36 }, + "11" : { "x" : 34.81, "y" : 17.65 } + }, + { + "index" : 39, + "ball" : { "x" : 33.03, "y" : -31.26 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.18, "y" : -17.73 }, + "3" : { "x" : 0.28, "y" : -0.08 }, + "4" : { "x" : 2.01, "y" : -27.43 }, + "5" : { "x" : 11.01, "y" : 8.83 }, + "6" : { "x" : 17.29, "y" : -15.35 }, + "7" : { "x" : 20.92, "y" : -26.07 }, + "8" : { "x" : 28.24, "y" : -2.72 }, + "9" : { "x" : 38.57, "y" : -27.83 }, + "10" : { "x" : 34.68, "y" : 12.10 }, + "11" : { "x" : 36.65, "y" : -16.30 } + }, + { + "index" : 40, + "ball" : { "x" : 33.03, "y" : 31.26 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.28, "y" : 0.08 }, + "3" : { "x" : -4.18, "y" : 17.73 }, + "4" : { "x" : 11.01, "y" : -8.83 }, + "5" : { "x" : 2.01, "y" : 27.43 }, + "6" : { "x" : 17.29, "y" : 15.35 }, + "7" : { "x" : 28.24, "y" : 2.72 }, + "8" : { "x" : 20.92, "y" : 26.07 }, + "9" : { "x" : 34.68, "y" : -12.10 }, + "10" : { "x" : 38.57, "y" : 27.83 }, + "11" : { "x" : 36.65, "y" : 16.30 } + }, + { + "index" : 41, + "ball" : { "x" : 23.00, "y" : -5.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.35, "y" : -7.68 }, + "3" : { "x" : -3.76, "y" : 4.10 }, + "4" : { "x" : 2.99, "y" : -20.69 }, + "5" : { "x" : 2.22, "y" : 17.45 }, + "6" : { "x" : 10.52, "y" : -4.14 }, + "7" : { "x" : 15.33, "y" : -13.53 }, + "8" : { "x" : 18.29, "y" : 8.05 }, + "9" : { "x" : 23.07, "y" : -25.95 }, + "10" : { "x" : 24.74, "y" : 20.06 }, + "11" : { "x" : 29.04, "y" : -6.00 } + }, + { + "index" : 42, + "ball" : { "x" : 23.00, "y" : 5.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -3.76, "y" : -4.10 }, + "3" : { "x" : -4.35, "y" : 7.68 }, + "4" : { "x" : 2.22, "y" : -17.45 }, + "5" : { "x" : 2.99, "y" : 20.69 }, + "6" : { "x" : 10.52, "y" : 4.14 }, + "7" : { "x" : 18.29, "y" : -8.05 }, + "8" : { "x" : 15.33, "y" : 13.53 }, + "9" : { "x" : 24.74, "y" : -20.06 }, + "10" : { "x" : 23.07, "y" : 25.95 }, + "11" : { "x" : 29.04, "y" : 6.00 } + }, + { + "index" : 43, + "ball" : { "x" : 28.16, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.39, "y" : -5.82 }, + "3" : { "x" : -2.39, "y" : 5.82 }, + "4" : { "x" : 4.32, "y" : -19.24 }, + "5" : { "x" : 4.32, "y" : 19.24 }, + "6" : { "x" : 13.80, "y" : -2.33 }, + "7" : { "x" : 22.61, "y" : -9.60 }, + "8" : { "x" : 22.61, "y" : 9.60 }, + "9" : { "x" : 29.71, "y" : -21.47 }, + "10" : { "x" : 29.71, "y" : 21.47 }, + "11" : { "x" : 32.25, "y" : -1.00 } + }, + { + "index" : 44, + "ball" : { "x" : 34.65, "y" : -5.75 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.13, "y" : -7.70 }, + "3" : { "x" : -0.31, "y" : 4.40 }, + "4" : { "x" : 5.74, "y" : -21.22 }, + "5" : { "x" : 5.89, "y" : 17.64 }, + "6" : { "x" : 17.72, "y" : -4.69 }, + "7" : { "x" : 27.93, "y" : -11.15 }, + "8" : { "x" : 30.34, "y" : 4.95 }, + "9" : { "x" : 37.52, "y" : -18.78 }, + "10" : { "x" : 40.20, "y" : 11.53 }, + "11" : { "x" : 36.70, "y" : -5.66 } + }, + { + "index" : 45, + "ball" : { "x" : 34.65, "y" : 5.75 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.31, "y" : -4.40 }, + "3" : { "x" : -1.13, "y" : 7.70 }, + "4" : { "x" : 5.89, "y" : -17.64 }, + "5" : { "x" : 5.74, "y" : 21.22 }, + "6" : { "x" : 17.72, "y" : 4.69 }, + "7" : { "x" : 30.34, "y" : -4.95 }, + "8" : { "x" : 27.93, "y" : 11.15 }, + "9" : { "x" : 40.20, "y" : -11.53 }, + "10" : { "x" : 37.52, "y" : 18.78 }, + "11" : { "x" : 36.70, "y" : 5.66 } + }, + { + "index" : 46, + "ball" : { "x" : 19.91, "y" : -28.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.44, "y" : -17.45 }, + "3" : { "x" : -4.43, "y" : -1.60 }, + "4" : { "x" : -1.88, "y" : -26.53 }, + "5" : { "x" : 4.35, "y" : 9.94 }, + "6" : { "x" : 8.44, "y" : -13.83 }, + "7" : { "x" : 11.60, "y" : -24.14 }, + "8" : { "x" : 21.83, "y" : -1.79 }, + "9" : { "x" : 28.02, "y" : -30.94 }, + "10" : { "x" : 24.91, "y" : 17.54 }, + "11" : { "x" : 28.57, "y" : -16.62 } + }, + { + "index" : 47, + "ball" : { "x" : 19.91, "y" : 28.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -4.43, "y" : 1.60 }, + "3" : { "x" : -7.44, "y" : 17.45 }, + "4" : { "x" : 4.35, "y" : -9.94 }, + "5" : { "x" : -1.88, "y" : 26.53 }, + "6" : { "x" : 8.44, "y" : 13.83 }, + "7" : { "x" : 21.83, "y" : 1.79 }, + "8" : { "x" : 11.60, "y" : 24.14 }, + "9" : { "x" : 24.91, "y" : -17.54 }, + "10" : { "x" : 28.02, "y" : 30.94 }, + "11" : { "x" : 28.57, "y" : 16.62 } + }, + { + "index" : 48, + "ball" : { "x" : 14.30, "y" : -11.06 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.06, "y" : -10.45 }, + "3" : { "x" : -7.15, "y" : 1.87 }, + "4" : { "x" : -1.04, "y" : -21.99 }, + "5" : { "x" : -2.42, "y" : 15.19 }, + "6" : { "x" : 4.24, "y" : -6.29 }, + "7" : { "x" : 5.05, "y" : -17.13 }, + "8" : { "x" : 13.68, "y" : 6.13 }, + "9" : { "x" : 17.23, "y" : -26.90 }, + "10" : { "x" : 18.09, "y" : 19.60 }, + "11" : { "x" : 22.95, "y" : -9.41 } + }, + { + "index" : 49, + "ball" : { "x" : 14.30, "y" : 11.06 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.15, "y" : -1.87 }, + "3" : { "x" : -8.06, "y" : 10.45 }, + "4" : { "x" : -2.42, "y" : -15.19 }, + "5" : { "x" : -1.04, "y" : 21.99 }, + "6" : { "x" : 4.24, "y" : 6.29 }, + "7" : { "x" : 13.68, "y" : -6.13 }, + "8" : { "x" : 5.05, "y" : 17.13 }, + "9" : { "x" : 18.09, "y" : -19.60 }, + "10" : { "x" : 17.23, "y" : 26.90 }, + "11" : { "x" : 22.95, "y" : 9.41 } + }, + { + "index" : 50, + "ball" : { "x" : 11.35, "y" : -25.07 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.43, "y" : -16.57 }, + "3" : { "x" : -8.68, "y" : -1.89 }, + "4" : { "x" : -5.48, "y" : -25.58 }, + "5" : { "x" : -2.46, "y" : 11.03 }, + "6" : { "x" : 1.71, "y" : -12.12 }, + "7" : { "x" : 3.25, "y" : -22.20 }, + "8" : { "x" : 16.29, "y" : -0.28 }, + "9" : { "x" : 18.90, "y" : -29.64 }, + "10" : { "x" : 17.57, "y" : 18.46 }, + "11" : { "x" : 22.04, "y" : -15.92 } + }, + { + "index" : 51, + "ball" : { "x" : 11.35, "y" : 25.07 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.68, "y" : 1.89 }, + "3" : { "x" : -10.43, "y" : 16.57 }, + "4" : { "x" : -2.46, "y" : -11.03 }, + "5" : { "x" : -5.48, "y" : 25.58 }, + "6" : { "x" : 1.71, "y" : 12.12 }, + "7" : { "x" : 16.29, "y" : 0.28 }, + "8" : { "x" : 3.25, "y" : 22.20 }, + "9" : { "x" : 17.57, "y" : -18.46 }, + "10" : { "x" : 18.90, "y" : 29.64 }, + "11" : { "x" : 22.04, "y" : 15.92 } + }, + { + "index" : 52, + "ball" : { "x" : 9.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.77, "y" : -5.58 }, + "3" : { "x" : -9.77, "y" : 5.58 }, + "4" : { "x" : -4.36, "y" : -17.44 }, + "5" : { "x" : -4.36, "y" : 17.44 }, + "6" : { "x" : 0.91, "y" : -0.62 }, + "7" : { "x" : 5.26, "y" : -12.10 }, + "8" : { "x" : 5.26, "y" : 12.10 }, + "9" : { "x" : 14.64, "y" : -25.04 }, + "10" : { "x" : 14.64, "y" : 25.04 }, + "11" : { "x" : 17.81, "y" : -1.03 } + }, + { + "index" : 53, + "ball" : { "x" : 18.58, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.66, "y" : -5.71 }, + "3" : { "x" : -5.66, "y" : 5.71 }, + "4" : { "x" : 0.77, "y" : -18.60 }, + "5" : { "x" : 0.77, "y" : 18.60 }, + "6" : { "x" : 7.52, "y" : -2.11 }, + "7" : { "x" : 11.95, "y" : -11.59 }, + "8" : { "x" : 11.95, "y" : 11.59 }, + "9" : { "x" : 20.57, "y" : -25.76 }, + "10" : { "x" : 20.57, "y" : 25.76 }, + "11" : { "x" : 25.23, "y" : -0.34 } + }, + { + "index" : 54, + "ball" : { "x" : 3.83, "y" : -20.20 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -13.84, "y" : -14.96 }, + "3" : { "x" : -13.20, "y" : -1.74 }, + "4" : { "x" : -9.32, "y" : -24.18 }, + "5" : { "x" : -9.54, "y" : 11.72 }, + "6" : { "x" : -4.47, "y" : -9.91 }, + "7" : { "x" : -3.05, "y" : -19.66 }, + "8" : { "x" : 10.11, "y" : 2.00 }, + "9" : { "x" : 11.32, "y" : -27.46 }, + "10" : { "x" : 11.22, "y" : 18.50 }, + "11" : { "x" : 15.55, "y" : -14.21 } + }, + { + "index" : 55, + "ball" : { "x" : 3.83, "y" : 20.20 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.20, "y" : 1.74 }, + "3" : { "x" : -13.84, "y" : 14.96 }, + "4" : { "x" : -9.54, "y" : -11.72 }, + "5" : { "x" : -9.32, "y" : 24.18 }, + "6" : { "x" : -4.47, "y" : 9.91 }, + "7" : { "x" : 10.11, "y" : -2.00 }, + "8" : { "x" : -3.05, "y" : 19.66 }, + "9" : { "x" : 11.22, "y" : -18.50 }, + "10" : { "x" : 11.32, "y" : 27.46 }, + "11" : { "x" : 15.55, "y" : 14.21 } + }, + { + "index" : 56, + "ball" : { "x" : 6.19, "y" : -10.32 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.99, "y" : -10.37 }, + "3" : { "x" : -11.54, "y" : 1.49 }, + "4" : { "x" : -6.34, "y" : -20.75 }, + "5" : { "x" : -7.77, "y" : 14.20 }, + "6" : { "x" : -2.15, "y" : -5.86 }, + "7" : { "x" : -0.16, "y" : -16.34 }, + "8" : { "x" : 9.32, "y" : 6.62 }, + "9" : { "x" : 11.66, "y" : -29.11 }, + "10" : { "x" : 12.63, "y" : 18.96 }, + "11" : { "x" : 16.23, "y" : -9.25 } + }, + { + "index" : 57, + "ball" : { "x" : 6.19, "y" : 10.32 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -11.54, "y" : -1.49 }, + "3" : { "x" : -11.99, "y" : 10.37 }, + "4" : { "x" : -7.77, "y" : -14.20 }, + "5" : { "x" : -6.34, "y" : 20.75 }, + "6" : { "x" : -2.15, "y" : 5.86 }, + "7" : { "x" : 9.32, "y" : -6.62 }, + "8" : { "x" : -0.16, "y" : 16.34 }, + "9" : { "x" : 12.63, "y" : -18.96 }, + "10" : { "x" : 11.66, "y" : 29.11 }, + "11" : { "x" : 16.23, "y" : 9.25 } + }, + { + "index" : 58, + "ball" : { "x" : 10.47, "y" : -29.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.25, "y" : -18.18 }, + "3" : { "x" : -9.28, "y" : -3.00 }, + "4" : { "x" : -6.48, "y" : -26.52 }, + "5" : { "x" : -1.47, "y" : 9.34 }, + "6" : { "x" : 0.92, "y" : -14.14 }, + "7" : { "x" : 3.65, "y" : -23.76 }, + "8" : { "x" : 14.34, "y" : -1.54 }, + "9" : { "x" : 19.43, "y" : -31.04 }, + "10" : { "x" : 18.15, "y" : 18.08 }, + "11" : { "x" : 21.84, "y" : -17.79 } + }, + { + "index" : 59, + "ball" : { "x" : 10.47, "y" : 29.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.28, "y" : 3.00 }, + "3" : { "x" : -11.25, "y" : 18.18 }, + "4" : { "x" : -1.47, "y" : -9.34 }, + "5" : { "x" : -6.48, "y" : 26.52 }, + "6" : { "x" : 0.92, "y" : 14.14 }, + "7" : { "x" : 14.34, "y" : 1.54 }, + "8" : { "x" : 3.65, "y" : 23.76 }, + "9" : { "x" : 18.15, "y" : -18.08 }, + "10" : { "x" : 19.43, "y" : 31.04 }, + "11" : { "x" : 21.84, "y" : 17.79 } + }, + { + "index" : 60, + "ball" : { "x" : 13.27, "y" : -33.18 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.40, "y" : -19.06 }, + "3" : { "x" : -7.76, "y" : -3.20 }, + "4" : { "x" : -4.63, "y" : -27.14 }, + "5" : { "x" : 1.37, "y" : 8.33 }, + "6" : { "x" : 3.20, "y" : -15.64 }, + "7" : { "x" : 7.31, "y" : -25.26 }, + "8" : { "x" : 15.53, "y" : -2.38 }, + "9" : { "x" : 22.52, "y" : -31.88 }, + "10" : { "x" : 21.76, "y" : 17.76 }, + "11" : { "x" : 24.21, "y" : -18.79 } + }, + { + "index" : 61, + "ball" : { "x" : 13.27, "y" : 33.18 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -7.76, "y" : 3.20 }, + "3" : { "x" : -10.40, "y" : 19.06 }, + "4" : { "x" : 1.37, "y" : -8.33 }, + "5" : { "x" : -4.63, "y" : 27.14 }, + "6" : { "x" : 3.20, "y" : 15.64 }, + "7" : { "x" : 15.53, "y" : 2.38 }, + "8" : { "x" : 7.31, "y" : 25.26 }, + "9" : { "x" : 21.76, "y" : -17.76 }, + "10" : { "x" : 22.52, "y" : 31.88 }, + "11" : { "x" : 24.21, "y" : 18.79 } + }, + { + "index" : 62, + "ball" : { "x" : -16.96, "y" : -30.52 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.33, "y" : -18.45 }, + "3" : { "x" : -23.18, "y" : -4.34 }, + "4" : { "x" : -23.94, "y" : -27.93 }, + "5" : { "x" : -22.14, "y" : 9.35 }, + "6" : { "x" : -19.24, "y" : -13.98 }, + "7" : { "x" : -16.33, "y" : -22.81 }, + "8" : { "x" : -14.10, "y" : -0.07 }, + "9" : { "x" : 0.44, "y" : -30.41 }, + "10" : { "x" : -4.28, "y" : 17.04 }, + "11" : { "x" : 0.06, "y" : -9.81 } + }, + { + "index" : 63, + "ball" : { "x" : -16.96, "y" : 30.52 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.18, "y" : 4.34 }, + "3" : { "x" : -23.33, "y" : 18.45 }, + "4" : { "x" : -22.14, "y" : -9.35 }, + "5" : { "x" : -23.94, "y" : 27.93 }, + "6" : { "x" : -19.24, "y" : 13.98 }, + "7" : { "x" : -14.10, "y" : 0.07 }, + "8" : { "x" : -16.33, "y" : 22.81 }, + "9" : { "x" : -4.28, "y" : -17.04 }, + "10" : { "x" : 0.44, "y" : 30.41 }, + "11" : { "x" : 0.06, "y" : 9.81 } + }, + { + "index" : 64, + "ball" : { "x" : -4.28, "y" : -16.81 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.71, "y" : -15.79 }, + "3" : { "x" : -14.88, "y" : -3.68 }, + "4" : { "x" : -13.76, "y" : -23.07 }, + "5" : { "x" : -12.63, "y" : 11.13 }, + "6" : { "x" : -8.80, "y" : -11.13 }, + "7" : { "x" : -3.79, "y" : -19.50 }, + "8" : { "x" : -3.98, "y" : 5.90 }, + "9" : { "x" : 6.03, "y" : -29.81 }, + "10" : { "x" : 2.60, "y" : 22.30 }, + "11" : { "x" : 5.59, "y" : -8.48 } + }, + { + "index" : 65, + "ball" : { "x" : -4.28, "y" : 16.81 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.88, "y" : 3.68 }, + "3" : { "x" : -12.71, "y" : 15.79 }, + "4" : { "x" : -12.63, "y" : -11.13 }, + "5" : { "x" : -13.76, "y" : 23.07 }, + "6" : { "x" : -8.80, "y" : 11.13 }, + "7" : { "x" : -3.98, "y" : -5.90 }, + "8" : { "x" : -3.79, "y" : 19.50 }, + "9" : { "x" : 2.60, "y" : -22.30 }, + "10" : { "x" : 6.03, "y" : 29.81 }, + "11" : { "x" : 5.59, "y" : 8.48 } + }, + { + "index" : 66, + "ball" : { "x" : -7.08, "y" : -27.57 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.15, "y" : -19.34 }, + "3" : { "x" : -16.57, "y" : -4.96 }, + "4" : { "x" : -15.35, "y" : -27.21 }, + "5" : { "x" : -13.48, "y" : 10.45 }, + "6" : { "x" : -10.91, "y" : -14.26 }, + "7" : { "x" : -6.54, "y" : -22.94 }, + "8" : { "x" : -6.22, "y" : 1.56 }, + "9" : { "x" : 6.84, "y" : -30.97 }, + "10" : { "x" : 1.32, "y" : 18.51 }, + "11" : { "x" : 6.91, "y" : -10.52 } + }, + { + "index" : 67, + "ball" : { "x" : -7.08, "y" : 27.57 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -16.57, "y" : 4.96 }, + "3" : { "x" : -15.15, "y" : 19.34 }, + "4" : { "x" : -13.48, "y" : -10.45 }, + "5" : { "x" : -15.35, "y" : 27.21 }, + "6" : { "x" : -10.91, "y" : 14.26 }, + "7" : { "x" : -6.22, "y" : -1.56 }, + "8" : { "x" : -6.54, "y" : 22.94 }, + "9" : { "x" : 1.32, "y" : -18.51 }, + "10" : { "x" : 6.84, "y" : 30.97 }, + "11" : { "x" : 6.91, "y" : 10.52 } + }, + { + "index" : 68, + "ball" : { "x" : -7.96, "y" : -31.41 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.89, "y" : -20.09 }, + "3" : { "x" : -17.14, "y" : -5.03 }, + "4" : { "x" : -15.83, "y" : -28.57 }, + "5" : { "x" : -13.66, "y" : 11.00 }, + "6" : { "x" : -11.44, "y" : -14.98 }, + "7" : { "x" : -7.45, "y" : -24.07 }, + "8" : { "x" : -6.86, "y" : 0.18 }, + "9" : { "x" : 7.39, "y" : -31.30 }, + "10" : { "x" : 1.09, "y" : 17.04 }, + "11" : { "x" : 8.36, "y" : -10.67 } + }, + { + "index" : 69, + "ball" : { "x" : -7.96, "y" : 31.41 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.14, "y" : 5.03 }, + "3" : { "x" : -15.89, "y" : 20.09 }, + "4" : { "x" : -13.66, "y" : -11.00 }, + "5" : { "x" : -15.83, "y" : 28.57 }, + "6" : { "x" : -11.44, "y" : 14.98 }, + "7" : { "x" : -6.86, "y" : -0.18 }, + "8" : { "x" : -7.45, "y" : 24.07 }, + "9" : { "x" : 1.09, "y" : -17.04 }, + "10" : { "x" : 7.39, "y" : 31.30 }, + "11" : { "x" : 8.36, "y" : 10.67 } + }, + { + "index" : 70, + "ball" : { "x" : -23.89, "y" : -34.21 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -31.05, "y" : -17.31 }, + "3" : { "x" : -29.37, "y" : -4.33 }, + "4" : { "x" : -29.93, "y" : -27.83 }, + "5" : { "x" : -28.55, "y" : 8.60 }, + "6" : { "x" : -24.69, "y" : -13.70 }, + "7" : { "x" : -22.94, "y" : -23.29 }, + "8" : { "x" : -19.22, "y" : -1.39 }, + "9" : { "x" : -3.39, "y" : -30.07 }, + "10" : { "x" : -7.83, "y" : 15.33 }, + "11" : { "x" : -3.41, "y" : -8.93 } + }, + { + "index" : 71, + "ball" : { "x" : -23.89, "y" : 34.21 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.37, "y" : 4.33 }, + "3" : { "x" : -31.05, "y" : 17.31 }, + "4" : { "x" : -28.55, "y" : -8.60 }, + "5" : { "x" : -29.93, "y" : 27.83 }, + "6" : { "x" : -24.69, "y" : 13.70 }, + "7" : { "x" : -19.22, "y" : 1.39 }, + "8" : { "x" : -22.94, "y" : 23.29 }, + "9" : { "x" : -7.83, "y" : -15.33 }, + "10" : { "x" : -3.39, "y" : 30.07 }, + "11" : { "x" : -3.41, "y" : 8.93 } + }, + { + "index" : 72, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.53, "y" : -3.17 }, + "3" : { "x" : -47.53, "y" : 3.17 }, + "4" : { "x" : -49.99, "y" : -6.88 }, + "5" : { "x" : -49.99, "y" : 6.88 }, + "6" : { "x" : -44.06, "y" : 1.02 }, + "7" : { "x" : -41.64, "y" : -8.61 }, + "8" : { "x" : -41.64, "y" : 8.61 }, + "9" : { "x" : -23.83, "y" : -22.20 }, + "10" : { "x" : -23.83, "y" : 22.20 }, + "11" : { "x" : -30.03, "y" : 4.57 } + }, + { + "index" : 73, + "ball" : { "x" : -19.61, "y" : -5.46 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.74, "y" : -7.22 }, + "3" : { "x" : -27.37, "y" : 1.07 }, + "4" : { "x" : -27.57, "y" : -15.59 }, + "5" : { "x" : -27.52, "y" : 9.88 }, + "6" : { "x" : -23.16, "y" : -4.67 }, + "7" : { "x" : -18.04, "y" : -13.11 }, + "8" : { "x" : -17.58, "y" : 8.75 }, + "9" : { "x" : -6.06, "y" : -26.78 }, + "10" : { "x" : -6.72, "y" : 24.53 }, + "11" : { "x" : -8.99, "y" : -3.01 } + }, + { + "index" : 74, + "ball" : { "x" : -19.61, "y" : 5.46 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -27.37, "y" : -1.07 }, + "3" : { "x" : -26.74, "y" : 7.22 }, + "4" : { "x" : -27.52, "y" : -9.88 }, + "5" : { "x" : -27.57, "y" : 15.59 }, + "6" : { "x" : -23.16, "y" : 4.67 }, + "7" : { "x" : -17.58, "y" : -8.75 }, + "8" : { "x" : -18.04, "y" : 13.11 }, + "9" : { "x" : -6.72, "y" : -24.53 }, + "10" : { "x" : -6.06, "y" : 26.78 }, + "11" : { "x" : -8.99, "y" : 3.01 } + }, + { + "index" : 75, + "ball" : { "x" : -7.96, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.64, "y" : -9.85 }, + "3" : { "x" : -17.18, "y" : 0.07 }, + "4" : { "x" : -16.91, "y" : -19.09 }, + "5" : { "x" : -16.52, "y" : 12.59 }, + "6" : { "x" : -12.21, "y" : -6.37 }, + "7" : { "x" : -7.34, "y" : -15.32 }, + "8" : { "x" : -7.25, "y" : 9.27 }, + "9" : { "x" : 1.69, "y" : -28.01 }, + "10" : { "x" : 0.38, "y" : 24.81 }, + "11" : { "x" : 0.76, "y" : -4.50 } + }, + { + "index" : 76, + "ball" : { "x" : -7.96, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.18, "y" : -0.07 }, + "3" : { "x" : -15.64, "y" : 9.85 }, + "4" : { "x" : -16.52, "y" : -12.59 }, + "5" : { "x" : -16.91, "y" : 19.09 }, + "6" : { "x" : -12.21, "y" : 6.37 }, + "7" : { "x" : -7.25, "y" : -9.27 }, + "8" : { "x" : -7.34, "y" : 15.32 }, + "9" : { "x" : 0.38, "y" : -24.81 }, + "10" : { "x" : 1.69, "y" : 28.01 }, + "11" : { "x" : 0.76, "y" : 4.50 } + }, + { + "index" : 77, + "ball" : { "x" : -5.31, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.82, "y" : -4.50 }, + "3" : { "x" : -14.82, "y" : 4.50 }, + "4" : { "x" : -14.59, "y" : -16.26 }, + "5" : { "x" : -14.59, "y" : 16.26 }, + "6" : { "x" : -9.26, "y" : -1.26 }, + "7" : { "x" : -4.86, "y" : -12.66 }, + "8" : { "x" : -4.86, "y" : 12.66 }, + "9" : { "x" : 2.61, "y" : -26.72 }, + "10" : { "x" : 2.61, "y" : 26.72 }, + "11" : { "x" : 2.20, "y" : -0.09 } + }, + { + "index" : 78, + "ball" : { "x" : -2.06, "y" : -11.35 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.37, "y" : -12.91 }, + "3" : { "x" : -13.56, "y" : -2.16 }, + "4" : { "x" : -12.20, "y" : -21.01 }, + "5" : { "x" : -11.39, "y" : 13.02 }, + "6" : { "x" : -6.73, "y" : -8.68 }, + "7" : { "x" : -1.72, "y" : -17.72 }, + "8" : { "x" : -2.03, "y" : 8.39 }, + "9" : { "x" : 6.48, "y" : -29.12 }, + "10" : { "x" : 4.06, "y" : 24.04 }, + "11" : { "x" : 6.06, "y" : -6.47 } + }, + { + "index" : 79, + "ball" : { "x" : -2.06, "y" : 11.35 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -13.56, "y" : 2.16 }, + "3" : { "x" : -11.37, "y" : 12.91 }, + "4" : { "x" : -11.39, "y" : -13.02 }, + "5" : { "x" : -12.20, "y" : 21.01 }, + "6" : { "x" : -6.73, "y" : 8.68 }, + "7" : { "x" : -2.03, "y" : -8.39 }, + "8" : { "x" : -1.72, "y" : 17.72 }, + "9" : { "x" : 4.06, "y" : -24.04 }, + "10" : { "x" : 6.48, "y" : 29.12 }, + "11" : { "x" : 6.06, "y" : 6.47 } + }, + { + "index" : 80, + "ball" : { "x" : -3.39, "y" : -5.90 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -12.70, "y" : -8.99 }, + "3" : { "x" : -14.14, "y" : 0.58 }, + "4" : { "x" : -13.20, "y" : -18.92 }, + "5" : { "x" : -12.79, "y" : 14.39 }, + "6" : { "x" : -7.76, "y" : -5.48 }, + "7" : { "x" : -3.04, "y" : -15.36 }, + "8" : { "x" : -3.16, "y" : 10.48 }, + "9" : { "x" : 4.62, "y" : -28.05 }, + "10" : { "x" : 3.43, "y" : 25.44 }, + "11" : { "x" : 4.70, "y" : -3.75 } + }, + { + "index" : 81, + "ball" : { "x" : -3.39, "y" : 5.90 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -14.14, "y" : -0.58 }, + "3" : { "x" : -12.70, "y" : 8.99 }, + "4" : { "x" : -12.79, "y" : -14.39 }, + "5" : { "x" : -13.20, "y" : 18.92 }, + "6" : { "x" : -7.76, "y" : 5.48 }, + "7" : { "x" : -3.16, "y" : -10.48 }, + "8" : { "x" : -3.04, "y" : 15.36 }, + "9" : { "x" : 3.43, "y" : -25.44 }, + "10" : { "x" : 4.62, "y" : 28.05 }, + "11" : { "x" : 4.70, "y" : 3.75 } + }, + { + "index" : 82, + "ball" : { "x" : -9.44, "y" : -24.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -16.56, "y" : -18.28 }, + "3" : { "x" : -17.92, "y" : -4.50 }, + "4" : { "x" : -17.58, "y" : -26.25 }, + "5" : { "x" : -15.92, "y" : 9.67 }, + "6" : { "x" : -13.12, "y" : -13.42 }, + "7" : { "x" : -8.86, "y" : -21.71 }, + "8" : { "x" : -8.23, "y" : 2.36 }, + "9" : { "x" : 4.27, "y" : -30.45 }, + "10" : { "x" : -0.29, "y" : 19.43 }, + "11" : { "x" : 3.59, "y" : -10.02 } + }, + { + "index" : 83, + "ball" : { "x" : -9.44, "y" : 24.77 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -17.92, "y" : 4.50 }, + "3" : { "x" : -16.56, "y" : 18.28 }, + "4" : { "x" : -15.92, "y" : -9.67 }, + "5" : { "x" : -17.58, "y" : 26.25 }, + "6" : { "x" : -13.12, "y" : 13.42 }, + "7" : { "x" : -8.23, "y" : -2.36 }, + "8" : { "x" : -8.86, "y" : 21.71 }, + "9" : { "x" : -0.29, "y" : -19.43 }, + "10" : { "x" : 4.27, "y" : 30.45 }, + "11" : { "x" : 3.59, "y" : 10.02 } + }, + { + "index" : 84, + "ball" : { "x" : -12.39, "y" : -12.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.61, "y" : -12.64 }, + "3" : { "x" : -20.37, "y" : -1.72 }, + "4" : { "x" : -20.71, "y" : -20.92 }, + "5" : { "x" : -20.15, "y" : 9.72 }, + "6" : { "x" : -16.37, "y" : -8.83 }, + "7" : { "x" : -11.58, "y" : -16.74 }, + "8" : { "x" : -11.06, "y" : 6.74 }, + "9" : { "x" : -0.53, "y" : -28.52 }, + "10" : { "x" : -2.47, "y" : 23.22 }, + "11" : { "x" : -2.10, "y" : -6.61 } + }, + { + "index" : 85, + "ball" : { "x" : -12.39, "y" : 12.39 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -20.37, "y" : 1.72 }, + "3" : { "x" : -18.61, "y" : 12.64 }, + "4" : { "x" : -20.15, "y" : -9.72 }, + "5" : { "x" : -20.71, "y" : 20.92 }, + "6" : { "x" : -16.37, "y" : 8.83 }, + "7" : { "x" : -11.06, "y" : -6.74 }, + "8" : { "x" : -11.58, "y" : 16.74 }, + "9" : { "x" : -2.47, "y" : -23.22 }, + "10" : { "x" : -0.53, "y" : 28.52 }, + "11" : { "x" : -2.10, "y" : 6.61 } + }, + { + "index" : 86, + "ball" : { "x" : -16.37, "y" : -15.78 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -22.13, "y" : -13.78 }, + "3" : { "x" : -23.54, "y" : -2.52 }, + "4" : { "x" : -24.22, "y" : -21.95 }, + "5" : { "x" : -23.62, "y" : 8.03 }, + "6" : { "x" : -19.87, "y" : -9.96 }, + "7" : { "x" : -15.41, "y" : -17.57 }, + "8" : { "x" : -14.35, "y" : 5.07 }, + "9" : { "x" : -2.60, "y" : -28.70 }, + "10" : { "x" : -4.82, "y" : 22.01 }, + "11" : { "x" : -4.48, "y" : -7.55 } + }, + { + "index" : 87, + "ball" : { "x" : -16.37, "y" : 15.78 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -23.54, "y" : 2.52 }, + "3" : { "x" : -22.13, "y" : 13.78 }, + "4" : { "x" : -23.62, "y" : -8.03 }, + "5" : { "x" : -24.22, "y" : 21.95 }, + "6" : { "x" : -19.87, "y" : 9.96 }, + "7" : { "x" : -14.35, "y" : -5.07 }, + "8" : { "x" : -15.41, "y" : 17.57 }, + "9" : { "x" : -4.82, "y" : -22.01 }, + "10" : { "x" : -2.60, "y" : 28.70 }, + "11" : { "x" : -4.48, "y" : 7.55 } + }, + { + "index" : 88, + "ball" : { "x" : -19.91, "y" : -18.28 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -25.82, "y" : -14.13 }, + "3" : { "x" : -26.70, "y" : -3.02 }, + "4" : { "x" : -27.37, "y" : -22.39 }, + "5" : { "x" : -26.83, "y" : 6.95 }, + "6" : { "x" : -22.83, "y" : -10.50 }, + "7" : { "x" : -18.77, "y" : -18.12 }, + "8" : { "x" : -17.16, "y" : 3.88 }, + "9" : { "x" : -4.47, "y" : -28.73 }, + "10" : { "x" : -6.79, "y" : 21.05 }, + "11" : { "x" : -6.47, "y" : -7.96 } + }, + { + "index" : 89, + "ball" : { "x" : -19.91, "y" : 18.28 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.70, "y" : 3.02 }, + "3" : { "x" : -25.82, "y" : 14.13 }, + "4" : { "x" : -26.83, "y" : -6.95 }, + "5" : { "x" : -27.37, "y" : 22.39 }, + "6" : { "x" : -22.83, "y" : 10.50 }, + "7" : { "x" : -17.16, "y" : -3.88 }, + "8" : { "x" : -18.77, "y" : 18.12 }, + "9" : { "x" : -6.79, "y" : -21.05 }, + "10" : { "x" : -4.47, "y" : 28.73 }, + "11" : { "x" : -6.47, "y" : 7.96 } + }, + { + "index" : 90, + "ball" : { "x" : -32.73, "y" : -29.19 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.69, "y" : -13.44 }, + "3" : { "x" : -38.23, "y" : -4.58 }, + "4" : { "x" : -37.42, "y" : -22.97 }, + "5" : { "x" : -37.47, "y" : 4.45 }, + "6" : { "x" : -32.04, "y" : -11.42 }, + "7" : { "x" : -30.22, "y" : -20.74 }, + "8" : { "x" : -26.10, "y" : -0.09 }, + "9" : { "x" : -10.38, "y" : -28.63 }, + "10" : { "x" : -13.04, "y" : 16.63 }, + "11" : { "x" : -12.00, "y" : -7.92 } + }, + { + "index" : 91, + "ball" : { "x" : -32.73, "y" : 29.19 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -38.23, "y" : 4.58 }, + "3" : { "x" : -39.69, "y" : 13.44 }, + "4" : { "x" : -37.47, "y" : -4.45 }, + "5" : { "x" : -37.42, "y" : 22.97 }, + "6" : { "x" : -32.04, "y" : 11.42 }, + "7" : { "x" : -26.10, "y" : 0.09 }, + "8" : { "x" : -30.22, "y" : 20.74 }, + "9" : { "x" : -13.04, "y" : -16.63 }, + "10" : { "x" : -10.38, "y" : 28.63 }, + "11" : { "x" : -12.00, "y" : 7.92 } + }, + { + "index" : 92, + "ball" : { "x" : -24.03, "y" : -17.55 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.55, "y" : -12.75 }, + "3" : { "x" : -31.07, "y" : -2.95 }, + "4" : { "x" : -31.18, "y" : -20.78 }, + "5" : { "x" : -30.99, "y" : 5.87 }, + "6" : { "x" : -26.38, "y" : -9.76 }, + "7" : { "x" : -22.45, "y" : -17.38 }, + "8" : { "x" : -20.54, "y" : 3.87 }, + "9" : { "x" : -7.22, "y" : -28.24 }, + "10" : { "x" : -9.15, "y" : 21.01 }, + "11" : { "x" : -9.46, "y" : -7.39 } + }, + { + "index" : 93, + "ball" : { "x" : -24.03, "y" : 17.55 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -31.07, "y" : 2.95 }, + "3" : { "x" : -30.55, "y" : 12.75 }, + "4" : { "x" : -30.99, "y" : -5.87 }, + "5" : { "x" : -31.18, "y" : 20.78 }, + "6" : { "x" : -26.38, "y" : 9.76 }, + "7" : { "x" : -20.54, "y" : -3.87 }, + "8" : { "x" : -22.45, "y" : 17.38 }, + "9" : { "x" : -9.15, "y" : -21.01 }, + "10" : { "x" : -7.22, "y" : 28.24 }, + "11" : { "x" : -9.46, "y" : 7.39 } + }, + { + "index" : 94, + "ball" : { "x" : -31.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -39.65, "y" : -2.16 }, + "3" : { "x" : -39.65, "y" : 2.16 }, + "4" : { "x" : -38.28, "y" : -8.03 }, + "5" : { "x" : -38.28, "y" : 8.03 }, + "6" : { "x" : -32.56, "y" : -0.43 }, + "7" : { "x" : -27.38, "y" : -9.85 }, + "8" : { "x" : -27.38, "y" : 9.85 }, + "9" : { "x" : -13.07, "y" : -24.74 }, + "10" : { "x" : -13.07, "y" : 24.74 }, + "11" : { "x" : -18.33, "y" : 1.17 } + }, + { + "index" : 95, + "ball" : { "x" : -29.34, "y" : -15.33 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -36.56, "y" : -10.26 }, + "3" : { "x" : -36.79, "y" : -2.72 }, + "4" : { "x" : -35.95, "y" : -17.42 }, + "5" : { "x" : -36.13, "y" : 4.57 }, + "6" : { "x" : -30.72, "y" : -8.28 }, + "7" : { "x" : -26.82, "y" : -15.97 }, + "8" : { "x" : -24.81, "y" : 4.35 }, + "9" : { "x" : -10.73, "y" : -27.40 }, + "10" : { "x" : -12.11, "y" : 21.27 }, + "11" : { "x" : -13.30, "y" : -6.21 } + }, + { + "index" : 96, + "ball" : { "x" : -29.34, "y" : 15.33 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -36.79, "y" : 2.72 }, + "3" : { "x" : -36.56, "y" : 10.26 }, + "4" : { "x" : -36.13, "y" : -4.57 }, + "5" : { "x" : -35.95, "y" : 17.42 }, + "6" : { "x" : -30.72, "y" : 8.28 }, + "7" : { "x" : -24.81, "y" : -4.35 }, + "8" : { "x" : -26.82, "y" : 15.97 }, + "9" : { "x" : -12.11, "y" : -21.27 }, + "10" : { "x" : -10.73, "y" : 27.40 }, + "11" : { "x" : -13.30, "y" : 6.21 } + }, + { + "index" : 97, + "ball" : { "x" : -37.01, "y" : -33.03 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.77, "y" : -12.81 }, + "3" : { "x" : -40.82, "y" : -4.62 }, + "4" : { "x" : -40.07, "y" : -23.04 }, + "5" : { "x" : -40.14, "y" : 3.64 }, + "6" : { "x" : -34.61, "y" : -11.31 }, + "7" : { "x" : -33.61, "y" : -21.66 }, + "8" : { "x" : -28.64, "y" : -1.11 }, + "9" : { "x" : -12.13, "y" : -28.47 }, + "10" : { "x" : -14.85, "y" : 14.96 }, + "11" : { "x" : -13.43, "y" : -7.26 } + }, + { + "index" : 98, + "ball" : { "x" : -37.01, "y" : 33.03 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -40.82, "y" : 4.62 }, + "3" : { "x" : -42.77, "y" : 12.81 }, + "4" : { "x" : -40.14, "y" : -3.64 }, + "5" : { "x" : -40.07, "y" : 23.04 }, + "6" : { "x" : -34.61, "y" : 11.31 }, + "7" : { "x" : -28.64, "y" : 1.11 }, + "8" : { "x" : -33.61, "y" : 21.66 }, + "9" : { "x" : -14.85, "y" : -14.96 }, + "10" : { "x" : -12.13, "y" : 28.47 }, + "11" : { "x" : -13.43, "y" : 7.26 } + }, + { + "index" : 99, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.24, "y" : -10.29 }, + "3" : { "x" : -44.48, "y" : -1.69 }, + "4" : { "x" : -48.45, "y" : -21.85 }, + "5" : { "x" : -48.06, "y" : 2.31 }, + "6" : { "x" : -43.60, "y" : -8.28 }, + "7" : { "x" : -43.89, "y" : -21.18 }, + "8" : { "x" : -38.36, "y" : -1.28 }, + "9" : { "x" : -20.87, "y" : -26.29 }, + "10" : { "x" : -22.49, "y" : 12.44 }, + "11" : { "x" : -22.80, "y" : -4.37 } + }, + { + "index" : 100, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -44.48, "y" : 1.69 }, + "3" : { "x" : -46.24, "y" : 10.29 }, + "4" : { "x" : -48.06, "y" : -2.31 }, + "5" : { "x" : -48.45, "y" : 21.85 }, + "6" : { "x" : -43.60, "y" : 8.28 }, + "7" : { "x" : -38.36, "y" : 1.28 }, + "8" : { "x" : -43.89, "y" : 21.18 }, + "9" : { "x" : -22.49, "y" : -12.44 }, + "10" : { "x" : -20.87, "y" : 26.29 }, + "11" : { "x" : -22.80, "y" : 4.37 } + }, + { + "index" : 101, + "ball" : { "x" : -48.66, "y" : -22.71 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.06, "y" : -8.98 }, + "3" : { "x" : -45.54, "y" : -2.25 }, + "4" : { "x" : -47.21, "y" : -15.63 }, + "5" : { "x" : -47.31, "y" : 2.84 }, + "6" : { "x" : -41.76, "y" : -7.28 }, + "7" : { "x" : -40.32, "y" : -17.03 }, + "8" : { "x" : -36.69, "y" : 1.74 }, + "9" : { "x" : -19.94, "y" : -26.01 }, + "10" : { "x" : -21.01, "y" : 17.44 }, + "11" : { "x" : -22.29, "y" : -5.05 } + }, + { + "index" : 102, + "ball" : { "x" : -48.66, "y" : 22.71 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.54, "y" : 2.25 }, + "3" : { "x" : -46.06, "y" : 8.98 }, + "4" : { "x" : -47.31, "y" : -2.84 }, + "5" : { "x" : -47.21, "y" : 15.63 }, + "6" : { "x" : -41.76, "y" : 7.28 }, + "7" : { "x" : -36.69, "y" : -1.74 }, + "8" : { "x" : -40.32, "y" : 17.03 }, + "9" : { "x" : -21.01, "y" : -17.44 }, + "10" : { "x" : -19.94, "y" : 26.01 }, + "11" : { "x" : -22.29, "y" : 5.05 } + }, + { + "index" : 103, + "ball" : { "x" : -39.52, "y" : -28.16 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.82, "y" : -11.32 }, + "3" : { "x" : -42.60, "y" : -4.34 }, + "4" : { "x" : -42.05, "y" : -20.13 }, + "5" : { "x" : -42.42, "y" : 2.74 }, + "6" : { "x" : -36.63, "y" : -10.01 }, + "7" : { "x" : -35.11, "y" : -19.75 }, + "8" : { "x" : -30.74, "y" : 0.19 }, + "9" : { "x" : -14.51, "y" : -27.72 }, + "10" : { "x" : -16.49, "y" : 16.49 }, + "11" : { "x" : -16.44, "y" : -6.95 } + }, + { + "index" : 104, + "ball" : { "x" : -39.52, "y" : 28.16 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -42.60, "y" : 4.34 }, + "3" : { "x" : -43.82, "y" : 11.32 }, + "4" : { "x" : -42.42, "y" : -2.74 }, + "5" : { "x" : -42.05, "y" : 20.13 }, + "6" : { "x" : -36.63, "y" : 10.01 }, + "7" : { "x" : -30.74, "y" : -0.19 }, + "8" : { "x" : -35.11, "y" : 19.75 }, + "9" : { "x" : -16.49, "y" : -16.49 }, + "10" : { "x" : -14.51, "y" : 27.72 }, + "11" : { "x" : -16.44, "y" : 6.95 } + }, + { + "index" : 105, + "ball" : { "x" : -39.22, "y" : -22.12 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -43.64, "y" : -10.02 }, + "3" : { "x" : -43.11, "y" : -3.81 }, + "4" : { "x" : -42.46, "y" : -17.18 }, + "5" : { "x" : -42.88, "y" : 2.69 }, + "6" : { "x" : -36.90, "y" : -8.77 }, + "7" : { "x" : -34.57, "y" : -17.60 }, + "8" : { "x" : -31.14, "y" : 1.89 }, + "9" : { "x" : -15.29, "y" : -27.15 }, + "10" : { "x" : -16.77, "y" : 18.47 }, + "11" : { "x" : -17.55, "y" : -6.43 } + }, + { + "index" : 106, + "ball" : { "x" : -39.22, "y" : 22.12 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -43.11, "y" : 3.81 }, + "3" : { "x" : -43.64, "y" : 10.02 }, + "4" : { "x" : -42.88, "y" : -2.69 }, + "5" : { "x" : -42.46, "y" : 17.18 }, + "6" : { "x" : -36.90, "y" : 8.77 }, + "7" : { "x" : -31.14, "y" : -1.89 }, + "8" : { "x" : -34.57, "y" : 17.60 }, + "9" : { "x" : -16.77, "y" : -18.47 }, + "10" : { "x" : -15.29, "y" : 27.15 }, + "11" : { "x" : -17.55, "y" : 6.43 } + }, + { + "index" : 107, + "ball" : { "x" : -41.58, "y" : -7.22 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.59, "y" : -4.05 }, + "3" : { "x" : -45.51, "y" : -0.60 }, + "4" : { "x" : -44.96, "y" : -8.55 }, + "5" : { "x" : -45.08, "y" : 3.99 }, + "6" : { "x" : -38.84, "y" : -3.44 }, + "7" : { "x" : -35.13, "y" : -11.83 }, + "8" : { "x" : -33.99, "y" : 6.61 }, + "9" : { "x" : -17.94, "y" : -24.94 }, + "10" : { "x" : -18.33, "y" : 22.22 }, + "11" : { "x" : -21.98, "y" : -1.47 } + }, + { + "index" : 108, + "ball" : { "x" : -41.58, "y" : 7.22 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.51, "y" : 0.60 }, + "3" : { "x" : -45.59, "y" : 4.05 }, + "4" : { "x" : -45.08, "y" : -3.99 }, + "5" : { "x" : -44.96, "y" : 8.55 }, + "6" : { "x" : -38.84, "y" : 3.44 }, + "7" : { "x" : -33.99, "y" : -6.61 }, + "8" : { "x" : -35.13, "y" : 11.83 }, + "9" : { "x" : -18.33, "y" : -22.22 }, + "10" : { "x" : -17.94, "y" : 24.94 }, + "11" : { "x" : -21.98, "y" : 1.47 } + }, + { + "index" : 109, + "ball" : { "x" : -34.06, "y" : -7.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.55, "y" : -5.15 }, + "3" : { "x" : -41.60, "y" : -0.80 }, + "4" : { "x" : -40.20, "y" : -10.73 }, + "5" : { "x" : -40.73, "y" : 4.73 }, + "6" : { "x" : -34.41, "y" : -4.35 }, + "7" : { "x" : -29.99, "y" : -12.46 }, + "8" : { "x" : -28.91, "y" : 6.92 }, + "9" : { "x" : -14.14, "y" : -25.77 }, + "10" : { "x" : -14.67, "y" : 22.91 }, + "11" : { "x" : -17.91, "y" : -2.58 } + }, + { + "index" : 110, + "ball" : { "x" : -34.06, "y" : 7.37 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -41.60, "y" : 0.80 }, + "3" : { "x" : -41.55, "y" : 5.15 }, + "4" : { "x" : -40.73, "y" : -4.73 }, + "5" : { "x" : -40.20, "y" : 10.73 }, + "6" : { "x" : -34.41, "y" : 4.35 }, + "7" : { "x" : -28.91, "y" : -6.92 }, + "8" : { "x" : -29.99, "y" : 12.46 }, + "9" : { "x" : -14.67, "y" : -22.91 }, + "10" : { "x" : -14.14, "y" : 25.77 }, + "11" : { "x" : -17.91, "y" : 2.58 } + }, + { + "index" : 111, + "ball" : { "x" : -48.22, "y" : -9.88 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.90, "y" : -4.98 }, + "3" : { "x" : -46.74, "y" : -0.12 }, + "4" : { "x" : -47.87, "y" : -9.24 }, + "5" : { "x" : -47.87, "y" : 4.14 }, + "6" : { "x" : -41.91, "y" : -3.75 }, + "7" : { "x" : -39.23, "y" : -12.38 }, + "8" : { "x" : -37.64, "y" : 5.54 }, + "9" : { "x" : -20.84, "y" : -24.54 }, + "10" : { "x" : -21.27, "y" : 20.92 }, + "11" : { "x" : -24.49, "y" : -1.57 } + }, + { + "index" : 112, + "ball" : { "x" : -48.22, "y" : 9.88 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.74, "y" : 0.12 }, + "3" : { "x" : -46.90, "y" : 4.98 }, + "4" : { "x" : -47.87, "y" : -4.14 }, + "5" : { "x" : -47.87, "y" : 9.24 }, + "6" : { "x" : -41.91, "y" : 3.75 }, + "7" : { "x" : -37.64, "y" : -5.54 }, + "8" : { "x" : -39.23, "y" : 12.38 }, + "9" : { "x" : -21.27, "y" : -20.92 }, + "10" : { "x" : -20.84, "y" : 24.54 }, + "11" : { "x" : -24.49, "y" : 1.57 } + }, + { + "index" : 113, + "ball" : { "x" : 15.33, "y" : -21.38 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.43, "y" : -14.97 }, + "3" : { "x" : -6.57, "y" : -0.58 }, + "4" : { "x" : -2.37, "y" : -25.05 }, + "5" : { "x" : -0.76, "y" : 12.47 }, + "6" : { "x" : 4.93, "y" : -10.62 }, + "7" : { "x" : 4.93, "y" : -21.15 }, + "8" : { "x" : 18.46, "y" : 0.94 }, + "9" : { "x" : 21.33, "y" : -29.66 }, + "10" : { "x" : 20.06, "y" : 18.78 }, + "11" : { "x" : 24.72, "y" : -14.15 } + }, + { + "index" : 114, + "ball" : { "x" : 15.33, "y" : 21.38 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -6.57, "y" : 0.58 }, + "3" : { "x" : -8.43, "y" : 14.97 }, + "4" : { "x" : -0.76, "y" : -12.47 }, + "5" : { "x" : -2.37, "y" : 25.05 }, + "6" : { "x" : 4.93, "y" : 10.62 }, + "7" : { "x" : 18.46, "y" : -0.94 }, + "8" : { "x" : 4.93, "y" : 21.15 }, + "9" : { "x" : 20.06, "y" : -18.78 }, + "10" : { "x" : 21.33, "y" : 29.66 }, + "11" : { "x" : 24.72, "y" : 14.15 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/setplay-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/setplay-opp-formation.conf new file mode 100644 index 0000000..4860093 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/setplay-opp-formation.conf @@ -0,0 +1,760 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.44, "y" : -20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.41, "y" : -10.72 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -50.02, "y" : -17.21 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.73, "y" : -9.80 }, + "7" : { "x" : -40.83, "y" : -15.77 }, + "8" : { "x" : -30.82, "y" : 6.85 }, + "9" : { "x" : -24.78, "y" : -29.47 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.44, "y" : 20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -47.41, "y" : 10.72 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -50.02, "y" : 17.21 }, + "6" : { "x" : -39.73, "y" : 9.80 }, + "7" : { "x" : -30.82, "y" : -6.85 }, + "8" : { "x" : -40.83, "y" : 15.77 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -24.78, "y" : 29.47 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 45.24, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.18, "y" : -6.92 }, + "3" : { "x" : -0.18, "y" : 6.92 }, + "4" : { "x" : 6.47, "y" : -17.34 }, + "5" : { "x" : 6.47, "y" : 17.34 }, + "6" : { "x" : 15.50, "y" : -0.00 }, + "7" : { "x" : 31.36, "y" : -6.20 }, + "8" : { "x" : 31.36, "y" : 6.20 }, + "9" : { "x" : 36.39, "y" : -9.79 }, + "10" : { "x" : 36.39, "y" : 9.79 }, + "11" : { "x" : 35.58, "y" : 0.54 } + }, + { + "index" : 4, + "ball" : { "x" : -31.36, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.28, "y" : -3.97 }, + "3" : { "x" : -41.19, "y" : 3.97 }, + "4" : { "x" : -40.38, "y" : -8.74 }, + "5" : { "x" : -40.02, "y" : 8.47 }, + "6" : { "x" : -41.46, "y" : -0.27 }, + "7" : { "x" : -34.88, "y" : -9.10 }, + "8" : { "x" : -34.34, "y" : 9.19 }, + "9" : { "x" : -10.86, "y" : -21.61 }, + "10" : { "x" : -10.75, "y" : 21.75 }, + "11" : { "x" : -19.20, "y" : 0.27 } + }, + { + "index" : 5, + "ball" : { "x" : 22.08, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.09, "y" : -9.37 }, + "3" : { "x" : 0.18, "y" : 7.75 }, + "4" : { "x" : 0.09, "y" : -19.47 }, + "5" : { "x" : 0.27, "y" : 19.02 }, + "6" : { "x" : 1.35, "y" : 0.00 }, + "7" : { "x" : 10.63, "y" : -6.13 }, + "8" : { "x" : 10.45, "y" : 5.50 }, + "9" : { "x" : 13.16, "y" : -10.72 }, + "10" : { "x" : 13.43, "y" : 11.36 }, + "11" : { "x" : 10.63, "y" : -0.27 } + }, + { + "index" : 6, + "ball" : { "x" : 11.72, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.25, "y" : -6.67 }, + "3" : { "x" : -2.61, "y" : 4.60 }, + "4" : { "x" : -1.53, "y" : -14.15 }, + "5" : { "x" : -1.44, "y" : 14.78 }, + "6" : { "x" : -1.44, "y" : -0.18 }, + "7" : { "x" : 1.98, "y" : -8.92 }, + "8" : { "x" : 1.71, "y" : 8.56 }, + "9" : { "x" : 7.84, "y" : -13.16 }, + "10" : { "x" : 8.65, "y" : 12.89 }, + "11" : { "x" : 0.99, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : -15.95, "y" : -22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.75, "y" : -17.21 }, + "3" : { "x" : -28.57, "y" : -6.02 }, + "4" : { "x" : -28.66, "y" : -24.78 }, + "5" : { "x" : -28.30, "y" : 4.67 }, + "6" : { "x" : -25.34, "y" : -11.68 }, + "7" : { "x" : -25.88, "y" : -20.30 }, + "8" : { "x" : -21.02, "y" : -7.10 }, + "9" : { "x" : 0.09, "y" : -24.26 }, + "10" : { "x" : 2.02, "y" : 15.41 }, + "11" : { "x" : -12.76, "y" : -6.65 } + }, + { + "index" : 8, + "ball" : { "x" : -15.95, "y" : 22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.57, "y" : 6.02 }, + "3" : { "x" : -28.75, "y" : 17.21 }, + "4" : { "x" : -28.30, "y" : -4.67 }, + "5" : { "x" : -28.66, "y" : 24.78 }, + "6" : { "x" : -25.34, "y" : 11.68 }, + "7" : { "x" : -21.02, "y" : 7.10 }, + "8" : { "x" : -25.88, "y" : 20.30 }, + "9" : { "x" : 2.02, "y" : -15.41 }, + "10" : { "x" : 0.09, "y" : 24.26 }, + "11" : { "x" : -12.76, "y" : 6.65 } + }, + { + "index" : 9, + "ball" : { "x" : 30.73, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -11.95 }, + "3" : { "x" : 0.09, "y" : 0.63 }, + "4" : { "x" : 0.45, "y" : -25.43 }, + "5" : { "x" : 3.05, "y" : 8.45 }, + "6" : { "x" : 8.27, "y" : -18.15 }, + "7" : { "x" : 18.60, "y" : -28.03 }, + "8" : { "x" : 22.55, "y" : -14.64 }, + "9" : { "x" : 20.84, "y" : -33.15 }, + "10" : { "x" : 29.56, "y" : -5.66 }, + "11" : { "x" : 23.09, "y" : -22.91 } + }, + { + "index" : 10, + "ball" : { "x" : 30.73, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.63 }, + "3" : { "x" : 0.18, "y" : 11.95 }, + "4" : { "x" : 3.05, "y" : -8.45 }, + "5" : { "x" : 0.45, "y" : 25.43 }, + "6" : { "x" : 8.27, "y" : 18.15 }, + "7" : { "x" : 22.55, "y" : 14.64 }, + "8" : { "x" : 18.60, "y" : 28.03 }, + "9" : { "x" : 29.56, "y" : 5.66 }, + "10" : { "x" : 20.84, "y" : 33.15 }, + "11" : { "x" : 23.09, "y" : 22.91 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.64, "y" : -14.73 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.33, "y" : -23.81 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -34.41, "y" : -31.45 }, + "10" : { "x" : -13.66, "y" : 14.20 }, + "11" : { "x" : -15.54, "y" : -11.23 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.64, "y" : 14.73 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.33, "y" : 23.81 }, + "9" : { "x" : -13.66, "y" : -14.20 }, + "10" : { "x" : -34.41, "y" : 31.45 }, + "11" : { "x" : -15.54, "y" : 11.23 } + }, + { + "index" : 13, + "ball" : { "x" : -35.51, "y" : -20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.85, "y" : -6.47 }, + "3" : { "x" : -35.94, "y" : -0.54 }, + "4" : { "x" : -35.51, "y" : -10.18 }, + "5" : { "x" : -35.85, "y" : 6.83 }, + "6" : { "x" : -31.54, "y" : -9.91 }, + "7" : { "x" : -26.05, "y" : -14.96 }, + "8" : { "x" : -28.84, "y" : -0.72 }, + "9" : { "x" : -21.72, "y" : -27.22 }, + "10" : { "x" : -4.96, "y" : 16.58 }, + "11" : { "x" : -12.35, "y" : -9.19 } + }, + { + "index" : 14, + "ball" : { "x" : -35.51, "y" : 20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.94, "y" : 0.54 }, + "3" : { "x" : -35.85, "y" : 6.47 }, + "4" : { "x" : -35.85, "y" : -6.83 }, + "5" : { "x" : -35.51, "y" : 10.18 }, + "6" : { "x" : -31.54, "y" : 9.91 }, + "7" : { "x" : -28.84, "y" : 0.72 }, + "8" : { "x" : -26.05, "y" : 14.96 }, + "9" : { "x" : -4.96, "y" : -16.58 }, + "10" : { "x" : -21.72, "y" : 27.22 }, + "11" : { "x" : -12.35, "y" : 9.19 } + }, + { + "index" : 15, + "ball" : { "x" : 40.11, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.63, "y" : -13.93 }, + "3" : { "x" : 0.45, "y" : -1.08 }, + "4" : { "x" : 9.70, "y" : -29.65 }, + "5" : { "x" : 4.94, "y" : 5.48 }, + "6" : { "x" : 11.18, "y" : -14.06 }, + "7" : { "x" : 26.50, "y" : -27.94 }, + "8" : { "x" : 29.92, "y" : -16.62 }, + "9" : { "x" : 31.09, "y" : -34.70 }, + "10" : { "x" : 32.43, "y" : -4.67 }, + "11" : { "x" : 31.98, "y" : -25.52 } + }, + { + "index" : 16, + "ball" : { "x" : 40.11, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.45, "y" : 1.08 }, + "3" : { "x" : -0.63, "y" : 13.93 }, + "4" : { "x" : 4.94, "y" : -5.48 }, + "5" : { "x" : 9.70, "y" : 29.65 }, + "6" : { "x" : 11.18, "y" : 14.06 }, + "7" : { "x" : 29.92, "y" : 16.62 }, + "8" : { "x" : 26.50, "y" : 27.94 }, + "9" : { "x" : 32.43, "y" : 4.67 }, + "10" : { "x" : 31.09, "y" : 34.70 }, + "11" : { "x" : 31.98, "y" : 25.52 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 12.58, "y" : -26.14 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 20.39, "y" : -13.39 }, + "7" : { "x" : 35.49, "y" : -27.13 }, + "8" : { "x" : 35.49, "y" : -9.70 }, + "9" : { "x" : 39.53, "y" : -32.88 }, + "10" : { "x" : 46.00, "y" : -11.32 }, + "11" : { "x" : 37.20, "y" : -20.21 } + }, + { + "index" : 18, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 12.58, "y" : 26.14 }, + "6" : { "x" : 20.39, "y" : 13.39 }, + "7" : { "x" : 35.49, "y" : 9.70 }, + "8" : { "x" : 35.49, "y" : 27.13 }, + "9" : { "x" : 46.00, "y" : 11.32 }, + "10" : { "x" : 39.53, "y" : 32.88 }, + "11" : { "x" : 37.20, "y" : 20.21 } + }, + { + "index" : 19, + "ball" : { "x" : 19.65, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.44, "y" : -23.27 }, + "3" : { "x" : -0.36, "y" : -0.63 }, + "4" : { "x" : -0.45, "y" : -32.99 }, + "5" : { "x" : -0.09, "y" : 10.51 }, + "6" : { "x" : 1.17, "y" : -17.16 }, + "7" : { "x" : 2.34, "y" : -27.67 }, + "8" : { "x" : 8.36, "y" : -11.86 }, + "9" : { "x" : 10.27, "y" : -29.92 }, + "10" : { "x" : 15.18, "y" : -1.26 }, + "11" : { "x" : 12.85, "y" : -22.73 } + }, + { + "index" : 20, + "ball" : { "x" : 19.65, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.36, "y" : 0.63 }, + "3" : { "x" : -1.44, "y" : 23.27 }, + "4" : { "x" : -0.09, "y" : -10.51 }, + "5" : { "x" : -0.45, "y" : 32.99 }, + "6" : { "x" : 1.17, "y" : 17.16 }, + "7" : { "x" : 8.36, "y" : 11.86 }, + "8" : { "x" : 2.34, "y" : 27.67 }, + "9" : { "x" : 15.18, "y" : 1.26 }, + "10" : { "x" : 10.27, "y" : 29.92 }, + "11" : { "x" : 12.85, "y" : 22.73 } + }, + { + "index" : 21, + "ball" : { "x" : 0.27, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.57, "y" : -23.88 }, + "3" : { "x" : -18.93, "y" : -8.47 }, + "4" : { "x" : -15.68, "y" : -32.72 }, + "5" : { "x" : -15.77, "y" : 4.15 }, + "6" : { "x" : -12.98, "y" : -19.20 }, + "7" : { "x" : -12.08, "y" : -27.58 }, + "8" : { "x" : -6.67, "y" : -7.48 }, + "9" : { "x" : -6.58, "y" : -22.80 }, + "10" : { "x" : 8.56, "y" : 9.37 }, + "11" : { "x" : 0.09, "y" : -18.75 } + }, + { + "index" : 22, + "ball" : { "x" : 0.27, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.93, "y" : 8.47 }, + "3" : { "x" : -18.57, "y" : 23.88 }, + "4" : { "x" : -15.77, "y" : -4.15 }, + "5" : { "x" : -15.68, "y" : 32.72 }, + "6" : { "x" : -12.98, "y" : 19.20 }, + "7" : { "x" : -6.67, "y" : 7.48 }, + "8" : { "x" : -12.08, "y" : 27.58 }, + "9" : { "x" : 8.56, "y" : -9.37 }, + "10" : { "x" : -6.58, "y" : 22.80 }, + "11" : { "x" : 0.09, "y" : 18.75 } + }, + { + "index" : 23, + "ball" : { "x" : 5.59, "y" : -11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.36, "y" : -12.85 }, + "3" : { "x" : -7.10, "y" : -4.40 }, + "4" : { "x" : -6.92, "y" : -21.11 }, + "5" : { "x" : -5.59, "y" : 6.22 }, + "6" : { "x" : -5.12, "y" : -10.24 }, + "7" : { "x" : -5.57, "y" : -17.61 }, + "8" : { "x" : -1.98, "y" : -1.26 }, + "9" : { "x" : -3.05, "y" : -19.68 }, + "10" : { "x" : 13.16, "y" : 16.76 }, + "11" : { "x" : 6.94, "y" : -1.17 } + }, + { + "index" : 24, + "ball" : { "x" : 5.59, "y" : 11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.10, "y" : 4.40 }, + "3" : { "x" : -8.36, "y" : 12.85 }, + "4" : { "x" : -5.59, "y" : -6.22 }, + "5" : { "x" : -6.92, "y" : 21.11 }, + "6" : { "x" : -5.12, "y" : 10.24 }, + "7" : { "x" : -1.98, "y" : 1.26 }, + "8" : { "x" : -5.57, "y" : 17.61 }, + "9" : { "x" : 13.16, "y" : -16.76 }, + "10" : { "x" : -3.05, "y" : 19.68 }, + "11" : { "x" : 6.94, "y" : 1.17 } + }, + { + "index" : 25, + "ball" : { "x" : 5.32, "y" : -20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.61, "y" : -19.50 }, + "3" : { "x" : -7.66, "y" : -7.93 }, + "4" : { "x" : -8.45, "y" : -27.04 }, + "5" : { "x" : -7.12, "y" : 5.05 }, + "6" : { "x" : -6.94, "y" : -13.52 }, + "7" : { "x" : -6.65, "y" : -23.36 }, + "8" : { "x" : -0.72, "y" : -4.15 }, + "9" : { "x" : -5.93, "y" : -18.42 }, + "10" : { "x" : 11.43, "y" : 14.05 }, + "11" : { "x" : 5.59, "y" : -8.29 } + }, + { + "index" : 26, + "ball" : { "x" : 5.32, "y" : 20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.66, "y" : 7.93 }, + "3" : { "x" : -9.61, "y" : 19.50 }, + "4" : { "x" : -7.12, "y" : -5.05 }, + "5" : { "x" : -8.45, "y" : 27.04 }, + "6" : { "x" : -6.94, "y" : 13.52 }, + "7" : { "x" : -0.72, "y" : 4.15 }, + "8" : { "x" : -6.65, "y" : 23.36 }, + "9" : { "x" : 11.43, "y" : -14.05 }, + "10" : { "x" : -5.93, "y" : 18.42 }, + "11" : { "x" : 5.59, "y" : 8.29 } + }, + { + "index" : 27, + "ball" : { "x" : 6.04, "y" : -27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -6.02, "y" : -21.65 }, + "3" : { "x" : -5.77, "y" : -10.36 }, + "4" : { "x" : -6.65, "y" : -29.47 }, + "5" : { "x" : -4.69, "y" : 1.98 }, + "6" : { "x" : -2.34, "y" : -16.53 }, + "7" : { "x" : -4.04, "y" : -25.43 }, + "8" : { "x" : 0.81, "y" : -3.70 }, + "9" : { "x" : -1.35, "y" : -21.02 }, + "10" : { "x" : 11.65, "y" : 12.19 }, + "11" : { "x" : 8.47, "y" : -14.06 } + }, + { + "index" : 28, + "ball" : { "x" : 6.04, "y" : 27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.77, "y" : 10.36 }, + "3" : { "x" : -6.02, "y" : 21.65 }, + "4" : { "x" : -4.69, "y" : -1.98 }, + "5" : { "x" : -6.65, "y" : 29.47 }, + "6" : { "x" : -2.34, "y" : 16.53 }, + "7" : { "x" : 0.81, "y" : 3.70 }, + "8" : { "x" : -4.04, "y" : 25.43 }, + "9" : { "x" : 11.65, "y" : -12.19 }, + "10" : { "x" : -1.35, "y" : 21.02 }, + "11" : { "x" : 8.47, "y" : 14.06 } + }, + { + "index" : 29, + "ball" : { "x" : 43.71, "y" : -26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 3.15, "y" : -22.59 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 18.69, "y" : -12.31 }, + "7" : { "x" : 27.58, "y" : -23.72 }, + "8" : { "x" : 32.70, "y" : -10.78 }, + "9" : { "x" : 31.36, "y" : -28.03 }, + "10" : { "x" : 40.79, "y" : -5.75 }, + "11" : { "x" : 31.98, "y" : -19.50 } + }, + { + "index" : 30, + "ball" : { "x" : 43.71, "y" : 26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 3.15, "y" : 22.59 }, + "6" : { "x" : 18.69, "y" : 12.31 }, + "7" : { "x" : 32.70, "y" : 10.78 }, + "8" : { "x" : 27.58, "y" : 23.72 }, + "9" : { "x" : 40.79, "y" : 5.75 }, + "10" : { "x" : 31.36, "y" : 28.03 }, + "11" : { "x" : 31.98, "y" : 19.50 } + }, + { + "index" : 31, + "ball" : { "x" : 21.90, "y" : -12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.08, "y" : -11.13 }, + "3" : { "x" : 0.03, "y" : 2.01 }, + "4" : { "x" : 0.18, "y" : -23.54 }, + "5" : { "x" : 0.45, "y" : 13.08 }, + "6" : { "x" : 7.55, "y" : -6.20 }, + "7" : { "x" : 7.28, "y" : -16.26 }, + "8" : { "x" : 11.50, "y" : -1.71 }, + "9" : { "x" : 11.86, "y" : -21.47 }, + "10" : { "x" : 21.65, "y" : 15.00 }, + "11" : { "x" : 10.42, "y" : -11.05 } + }, + { + "index" : 32, + "ball" : { "x" : 21.90, "y" : 12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.03, "y" : -2.01 }, + "3" : { "x" : 0.08, "y" : 11.13 }, + "4" : { "x" : 0.45, "y" : -13.08 }, + "5" : { "x" : 0.18, "y" : 23.54 }, + "6" : { "x" : 7.55, "y" : 6.20 }, + "7" : { "x" : 11.50, "y" : 1.71 }, + "8" : { "x" : 7.28, "y" : 16.26 }, + "9" : { "x" : 21.65, "y" : -15.00 }, + "10" : { "x" : 11.86, "y" : 21.47 }, + "11" : { "x" : 10.42, "y" : 11.05 } + }, + { + "index" : 33, + "ball" : { "x" : 21.27, "y" : -21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -13.61 }, + "3" : { "x" : 0.27, "y" : -3.24 }, + "4" : { "x" : -0.18, "y" : -27.58 }, + "5" : { "x" : 0.54, "y" : 8.56 }, + "6" : { "x" : 9.55, "y" : -10.09 }, + "7" : { "x" : 7.75, "y" : -20.55 }, + "8" : { "x" : 12.71, "y" : -7.39 }, + "9" : { "x" : 9.91, "y" : -25.05 }, + "10" : { "x" : 20.64, "y" : -0.99 }, + "11" : { "x" : 9.64, "y" : -16.49 } + }, + { + "index" : 34, + "ball" : { "x" : 21.27, "y" : 21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.27, "y" : 3.24 }, + "3" : { "x" : 0.18, "y" : 13.61 }, + "4" : { "x" : 0.54, "y" : -8.56 }, + "5" : { "x" : -0.18, "y" : 27.58 }, + "6" : { "x" : 9.55, "y" : 10.09 }, + "7" : { "x" : 12.71, "y" : 7.39 }, + "8" : { "x" : 7.75, "y" : 20.55 }, + "9" : { "x" : 20.64, "y" : 0.99 }, + "10" : { "x" : 9.91, "y" : 25.05 }, + "11" : { "x" : 9.64, "y" : 16.49 } + }, + { + "index" : 35, + "ball" : { "x" : 35.69, "y" : -8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.45, "y" : -10.42 }, + "3" : { "x" : 0.63, "y" : 3.50 }, + "4" : { "x" : 3.45, "y" : -20.89 }, + "5" : { "x" : 5.09, "y" : 13.48 }, + "6" : { "x" : 9.25, "y" : -3.23 }, + "7" : { "x" : 22.01, "y" : -14.46 }, + "8" : { "x" : 23.09, "y" : -3.41 }, + "9" : { "x" : 25.79, "y" : -17.88 }, + "10" : { "x" : 26.32, "y" : 3.68 }, + "11" : { "x" : 24.51, "y" : -8.92 } + }, + { + "index" : 36, + "ball" : { "x" : 35.69, "y" : 8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.63, "y" : -3.50 }, + "3" : { "x" : -0.45, "y" : 10.42 }, + "4" : { "x" : 5.09, "y" : -13.48 }, + "5" : { "x" : 3.45, "y" : 20.89 }, + "6" : { "x" : 9.25, "y" : 3.23 }, + "7" : { "x" : 23.09, "y" : 3.41 }, + "8" : { "x" : 22.01, "y" : 14.46 }, + "9" : { "x" : 26.32, "y" : -3.68 }, + "10" : { "x" : 25.79, "y" : 17.88 }, + "11" : { "x" : 24.51, "y" : 8.92 } + }, + { + "index" : 37, + "ball" : { "x" : 31.00, "y" : -28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -10.36 }, + "3" : { "x" : 2.88, "y" : 0.27 }, + "4" : { "x" : 0.36, "y" : -22.89 }, + "5" : { "x" : 9.88, "y" : 9.61 }, + "6" : { "x" : 10.42, "y" : -9.34 }, + "7" : { "x" : 17.66, "y" : -23.88 }, + "8" : { "x" : 22.64, "y" : -15.18 }, + "9" : { "x" : 18.39, "y" : -28.75 }, + "10" : { "x" : 25.34, "y" : -2.16 }, + "11" : { "x" : 19.56, "y" : -19.47 } + }, + { + "index" : 38, + "ball" : { "x" : 31.00, "y" : 28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.88, "y" : -0.27 }, + "3" : { "x" : 0.18, "y" : 10.36 }, + "4" : { "x" : 9.88, "y" : -9.61 }, + "5" : { "x" : 0.36, "y" : 22.89 }, + "6" : { "x" : 10.42, "y" : 9.34 }, + "7" : { "x" : 22.64, "y" : 15.18 }, + "8" : { "x" : 17.66, "y" : 23.88 }, + "9" : { "x" : 25.34, "y" : 2.16 }, + "10" : { "x" : 18.39, "y" : 28.75 }, + "11" : { "x" : 19.56, "y" : 19.47 } + }, + { + "index" : 39, + "ball" : { "x" : -25.96, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -38.99, "y" : -16.71 }, + "3" : { "x" : -37.91, "y" : -6.56 }, + "4" : { "x" : -39.53, "y" : -27.31 }, + "5" : { "x" : -36.57, "y" : 4.94 }, + "6" : { "x" : -32.43, "y" : -17.43 }, + "7" : { "x" : -34.23, "y" : -24.89 }, + "8" : { "x" : -19.65, "y" : -5.68 }, + "9" : { "x" : -25.25, "y" : -22.37 }, + "10" : { "x" : 0.05, "y" : 16.07 }, + "11" : { "x" : -2.05, "y" : -11.45 } + }, + { + "index" : 40, + "ball" : { "x" : -25.96, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -37.91, "y" : 6.56 }, + "3" : { "x" : -38.99, "y" : 16.71 }, + "4" : { "x" : -36.57, "y" : -4.94 }, + "5" : { "x" : -39.53, "y" : 27.31 }, + "6" : { "x" : -32.43, "y" : 17.43 }, + "7" : { "x" : -19.65, "y" : 5.68 }, + "8" : { "x" : -34.23, "y" : 24.89 }, + "9" : { "x" : 0.05, "y" : -16.07 }, + "10" : { "x" : -25.25, "y" : 22.37 }, + "11" : { "x" : -2.05, "y" : 11.45 } + }, + { + "index" : 41, + "ball" : { "x" : -34.70, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.42, "y" : -16.67 }, + "3" : { "x" : -41.17, "y" : -6.38 }, + "4" : { "x" : -43.38, "y" : -26.20 }, + "5" : { "x" : -42.27, "y" : 5.02 }, + "6" : { "x" : -40.74, "y" : -16.42 }, + "7" : { "x" : -38.70, "y" : -22.37 }, + "8" : { "x" : -26.68, "y" : -5.30 }, + "9" : { "x" : -30.37, "y" : -23.56 }, + "10" : { "x" : -6.21, "y" : 10.04 }, + "11" : { "x" : -15.91, "y" : -13.86 } + }, + { + "index" : 42, + "ball" : { "x" : -34.70, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.17, "y" : 6.38 }, + "3" : { "x" : -45.42, "y" : 16.67 }, + "4" : { "x" : -42.27, "y" : -5.02 }, + "5" : { "x" : -43.38, "y" : 26.20 }, + "6" : { "x" : -40.74, "y" : 16.42 }, + "7" : { "x" : -26.68, "y" : 5.30 }, + "8" : { "x" : -38.70, "y" : 22.37 }, + "9" : { "x" : -6.21, "y" : -10.04 }, + "10" : { "x" : -30.37, "y" : 23.56 }, + "11" : { "x" : -15.91, "y" : 13.86 } + }, + { + "index" : 43, + "ball" : { "x" : -16.13, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.37, "y" : -20.37 }, + "3" : { "x" : -29.74, "y" : -7.57 }, + "4" : { "x" : -30.19, "y" : -31.27 }, + "5" : { "x" : -25.42, "y" : 2.88 }, + "6" : { "x" : -24.53, "y" : -18.78 }, + "7" : { "x" : -26.86, "y" : -26.50 }, + "8" : { "x" : -14.15, "y" : -4.87 }, + "9" : { "x" : -17.07, "y" : -21.11 }, + "10" : { "x" : 3.10, "y" : 15.08 }, + "11" : { "x" : 0.51, "y" : -11.31 } + }, + { + "index" : 44, + "ball" : { "x" : -16.13, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -29.74, "y" : 7.57 }, + "3" : { "x" : -30.37, "y" : 20.37 }, + "4" : { "x" : -25.42, "y" : -2.88 }, + "5" : { "x" : -30.19, "y" : 31.27 }, + "6" : { "x" : -24.53, "y" : 18.78 }, + "7" : { "x" : -14.15, "y" : 4.87 }, + "8" : { "x" : -26.86, "y" : 26.50 }, + "9" : { "x" : 3.10, "y" : -15.08 }, + "10" : { "x" : -17.07, "y" : 21.11 }, + "11" : { "x" : 0.51, "y" : 11.31 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-dt/setplay-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-dt/setplay-our-formation.conf new file mode 100644 index 0000000..8ea60e5 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-dt/setplay-our-formation.conf @@ -0,0 +1,775 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 36.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 15.24, "y" : 0.48 }, + "7" : { "x" : 27.75, "y" : -8.10 }, + "8" : { "x" : 28.10, "y" : 9.76 }, + "9" : { "x" : 35.96, "y" : -16.20 }, + "10" : { "x" : 36.56, "y" : 16.91 }, + "11" : { "x" : 35.61, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.99, "y" : -0.71 }, + "3" : { "x" : -42.91, "y" : 4.21 }, + "4" : { "x" : -42.31, "y" : -7.69 }, + "5" : { "x" : -42.91, "y" : 9.01 }, + "6" : { "x" : -36.66, "y" : 0.36 }, + "7" : { "x" : -33.41, "y" : -10.82 }, + "8" : { "x" : -31.61, "y" : 10.94 }, + "9" : { "x" : -15.48, "y" : -29.41 }, + "10" : { "x" : -17.51, "y" : 27.15 }, + "11" : { "x" : -18.27, "y" : -0.36 } + }, + { + "index" : 4, + "ball" : { "x" : -26.95, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.96, "y" : -1.91 }, + "3" : { "x" : -30.25, "y" : 7.74 }, + "4" : { "x" : -29.90, "y" : -11.32 }, + "5" : { "x" : -28.25, "y" : 16.41 }, + "6" : { "x" : -15.27, "y" : -7.63 }, + "7" : { "x" : -17.43, "y" : -23.41 }, + "8" : { "x" : -15.52, "y" : 9.16 }, + "9" : { "x" : -4.76, "y" : -27.75 }, + "10" : { "x" : -5.34, "y" : 26.47 }, + "11" : { "x" : -0.51, "y" : 0.51 } + }, + { + "index" : 5, + "ball" : { "x" : -17.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.22, "y" : -1.67 }, + "3" : { "x" : -23.20, "y" : 3.73 }, + "4" : { "x" : -22.84, "y" : -8.89 }, + "5" : { "x" : -22.96, "y" : 12.26 }, + "6" : { "x" : -16.10, "y" : 1.20 }, + "7" : { "x" : -11.90, "y" : -4.69 }, + "8" : { "x" : -10.94, "y" : 6.37 }, + "9" : { "x" : 1.20, "y" : -15.38 }, + "10" : { "x" : 0.12, "y" : 18.51 }, + "11" : { "x" : 2.40, "y" : 0.00 } + }, + { + "index" : 6, + "ball" : { "x" : 7.67, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.90, "y" : -5.31 }, + "3" : { "x" : -6.02, "y" : 5.19 }, + "4" : { "x" : -3.07, "y" : -16.04 }, + "5" : { "x" : -2.95, "y" : 16.39 }, + "6" : { "x" : 6.25, "y" : -0.36 }, + "7" : { "x" : 11.66, "y" : -5.77 }, + "8" : { "x" : 11.78, "y" : 6.13 }, + "9" : { "x" : 21.76, "y" : -22.52 }, + "10" : { "x" : 22.78, "y" : 23.54 }, + "11" : { "x" : 17.43, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : 49.50, "y" : -20.51 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.00, "y" : -8.85 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.00, "y" : 15.50 }, + "6" : { "x" : 21.04, "y" : -6.95 }, + "7" : { "x" : 32.80, "y" : -18.96 }, + "8" : { "x" : 35.10, "y" : 0.46 }, + "9" : { "x" : 45.46, "y" : -24.17 }, + "10" : { "x" : 44.84, "y" : 10.61 }, + "11" : { "x" : 45.68, "y" : -10.85 } + }, + { + "index" : 8, + "ball" : { "x" : 49.50, "y" : 20.51 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 3.00, "y" : 8.85 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 21.04, "y" : 6.95 }, + "7" : { "x" : 35.10, "y" : -0.46 }, + "8" : { "x" : 32.80, "y" : 18.96 }, + "9" : { "x" : 44.84, "y" : -10.61 }, + "10" : { "x" : 45.46, "y" : 24.17 }, + "11" : { "x" : 45.68, "y" : 10.85 } + }, + { + "index" : 9, + "ball" : { "x" : -54.00, "y" : -10.00 }, + "1" : { "x" : -50.57, "y" : -6.44 }, + "2" : { "x" : -48.18, "y" : -5.96 }, + "3" : { "x" : -48.06, "y" : -1.07 }, + "4" : { "x" : -49.50, "y" : -9.06 }, + "5" : { "x" : -47.94, "y" : 4.06 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -31.39, "y" : 8.23 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -20.87, "y" : -8.59 } + }, + { + "index" : 10, + "ball" : { "x" : -54.00, "y" : 10.00 }, + "1" : { "x" : -50.57, "y" : 6.44 }, + "2" : { "x" : -48.06, "y" : 1.07 }, + "3" : { "x" : -48.18, "y" : 5.96 }, + "4" : { "x" : -47.94, "y" : -4.06 }, + "5" : { "x" : -49.50, "y" : 9.06 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -31.39, "y" : -8.23 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -20.87, "y" : 8.59 } + }, + { + "index" : 11, + "ball" : { "x" : -6.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.67, "y" : -0.25 }, + "3" : { "x" : -14.00, "y" : 4.58 }, + "4" : { "x" : -13.23, "y" : -12.34 }, + "5" : { "x" : -8.91, "y" : 12.34 }, + "6" : { "x" : -5.09, "y" : -9.92 }, + "7" : { "x" : -0.51, "y" : -21.38 }, + "8" : { "x" : 1.65, "y" : 11.71 }, + "9" : { "x" : 10.26, "y" : -24.00 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 4.84, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -12.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -19.35, "y" : -3.12 }, + "3" : { "x" : -19.11, "y" : 3.00 }, + "4" : { "x" : -17.91, "y" : -11.18 }, + "5" : { "x" : -17.55, "y" : 11.06 }, + "6" : { "x" : -13.22, "y" : 0.12 }, + "7" : { "x" : -6.97, "y" : -6.85 }, + "8" : { "x" : -7.57, "y" : 5.29 }, + "9" : { "x" : 1.92, "y" : -21.51 }, + "10" : { "x" : 0.84, "y" : 22.23 }, + "11" : { "x" : 5.65, "y" : 0.36 } + }, + { + "index" : 13, + "ball" : { "x" : 35.78, "y" : -9.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 16.55, "y" : -2.26 }, + "7" : { "x" : 21.79, "y" : -15.36 }, + "8" : { "x" : 26.44, "y" : 1.07 }, + "9" : { "x" : 35.73, "y" : -17.03 }, + "10" : { "x" : 35.13, "y" : 8.57 }, + "11" : { "x" : 33.94, "y" : -8.57 } + }, + { + "index" : 14, + "ball" : { "x" : 35.78, "y" : 9.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -7.33 }, + "3" : { "x" : 2.16, "y" : 8.65 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 16.55, "y" : 2.26 }, + "7" : { "x" : 26.44, "y" : -1.07 }, + "8" : { "x" : 21.79, "y" : 15.36 }, + "9" : { "x" : 35.13, "y" : -8.57 }, + "10" : { "x" : 35.73, "y" : 17.03 }, + "11" : { "x" : 33.94, "y" : 8.57 } + }, + { + "index" : 15, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 16, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 17, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.51, "y" : -22.27 }, + "3" : { "x" : -18.01, "y" : -8.59 }, + "4" : { "x" : -13.46, "y" : -32.39 }, + "5" : { "x" : -18.72, "y" : 4.06 }, + "6" : { "x" : -7.50, "y" : -15.36 }, + "7" : { "x" : -8.65, "y" : -28.96 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 4.17, "y" : -31.84 }, + "10" : { "x" : 0.95, "y" : 18.25 }, + "11" : { "x" : 5.48, "y" : -7.15 } + }, + { + "index" : 18, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.01, "y" : 8.59 }, + "3" : { "x" : -17.51, "y" : 22.27 }, + "4" : { "x" : -18.72, "y" : -4.06 }, + "5" : { "x" : -13.46, "y" : 32.39 }, + "6" : { "x" : -7.50, "y" : 15.36 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -7.57, "y" : 30.17 }, + "9" : { "x" : 0.95, "y" : -18.25 }, + "10" : { "x" : 4.17, "y" : 31.84 }, + "11" : { "x" : 5.48, "y" : 7.15 } + }, + { + "index" : 19, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -37.79, "y" : -14.51 }, + "3" : { "x" : -38.05, "y" : -7.25 }, + "4" : { "x" : -36.32, "y" : -30.49 }, + "5" : { "x" : -37.92, "y" : 1.27 }, + "6" : { "x" : -30.54, "y" : -19.34 }, + "7" : { "x" : -26.08, "y" : -24.69 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -12.72, "y" : -32.32 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 20, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.05, "y" : 7.25 }, + "3" : { "x" : -37.79, "y" : 14.51 }, + "4" : { "x" : -37.92, "y" : -1.27 }, + "5" : { "x" : -36.32, "y" : 30.49 }, + "6" : { "x" : -30.54, "y" : 19.34 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.08, "y" : 24.69 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -12.72, "y" : 32.32 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 21, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 22, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 23, + "ball" : { "x" : -17.50, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.59, "y" : -10.18 }, + "3" : { "x" : -26.47, "y" : -3.94 }, + "4" : { "x" : -26.72, "y" : -14.63 }, + "5" : { "x" : -26.21, "y" : 2.54 }, + "6" : { "x" : -19.98, "y" : -11.07 }, + "7" : { "x" : -17.43, "y" : -18.96 }, + "8" : { "x" : -15.27, "y" : -1.40 }, + "9" : { "x" : -4.07, "y" : -30.92 }, + "10" : { "x" : -1.02, "y" : 17.69 }, + "11" : { "x" : -3.82, "y" : -10.69 } + }, + { + "index" : 24, + "ball" : { "x" : -17.50, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.47, "y" : 3.94 }, + "3" : { "x" : -26.59, "y" : 10.18 }, + "4" : { "x" : -26.21, "y" : -2.54 }, + "5" : { "x" : -26.72, "y" : 14.63 }, + "6" : { "x" : -19.98, "y" : 11.07 }, + "7" : { "x" : -15.27, "y" : 1.40 }, + "8" : { "x" : -17.43, "y" : 18.96 }, + "9" : { "x" : -1.02, "y" : -17.69 }, + "10" : { "x" : -4.07, "y" : 30.92 }, + "11" : { "x" : -3.82, "y" : 10.69 } + }, + { + "index" : 25, + "ball" : { "x" : 36.08, "y" : -20.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.34 }, + "6" : { "x" : 17.57, "y" : -12.21 }, + "7" : { "x" : 32.96, "y" : -16.03 }, + "8" : { "x" : 28.91, "y" : -1.62 }, + "9" : { "x" : 38.94, "y" : -20.74 }, + "10" : { "x" : 39.06, "y" : 2.16 }, + "11" : { "x" : 37.92, "y" : -10.18 } + }, + { + "index" : 26, + "ball" : { "x" : 36.08, "y" : 20.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.34 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 17.57, "y" : 12.21 }, + "7" : { "x" : 28.91, "y" : 1.62 }, + "8" : { "x" : 32.96, "y" : 16.03 }, + "9" : { "x" : 39.06, "y" : -2.16 }, + "10" : { "x" : 38.94, "y" : 20.74 }, + "11" : { "x" : 37.92, "y" : 10.18 } + }, + { + "index" : 27, + "ball" : { "x" : -26.95, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.25, "y" : -11.07 }, + "3" : { "x" : -29.69, "y" : -2.28 }, + "4" : { "x" : -29.81, "y" : -18.03 }, + "5" : { "x" : -26.92, "y" : 7.69 }, + "6" : { "x" : -21.75, "y" : -7.69 }, + "7" : { "x" : -18.87, "y" : -29.81 }, + "8" : { "x" : -12.50, "y" : 5.05 }, + "9" : { "x" : -4.64, "y" : -30.01 }, + "10" : { "x" : -3.73, "y" : 23.56 }, + "11" : { "x" : -6.61, "y" : -10.94 } + }, + { + "index" : 28, + "ball" : { "x" : -26.95, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.69, "y" : 2.28 }, + "3" : { "x" : -30.25, "y" : 11.07 }, + "4" : { "x" : -26.92, "y" : -7.69 }, + "5" : { "x" : -29.81, "y" : 18.03 }, + "6" : { "x" : -21.75, "y" : 7.69 }, + "7" : { "x" : -12.50, "y" : -5.05 }, + "8" : { "x" : -18.87, "y" : 29.81 }, + "9" : { "x" : -3.73, "y" : -23.56 }, + "10" : { "x" : -4.64, "y" : 30.01 }, + "11" : { "x" : -6.61, "y" : 10.94 } + }, + { + "index" : 29, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.24, "y" : -6.80 }, + "3" : { "x" : -46.76, "y" : -0.19 }, + "4" : { "x" : -46.68, "y" : -16.79 }, + "5" : { "x" : -46.57, "y" : 4.31 }, + "6" : { "x" : -40.62, "y" : -8.41 }, + "7" : { "x" : -37.14, "y" : -28.12 }, + "8" : { "x" : -35.33, "y" : 4.21 }, + "9" : { "x" : -18.70, "y" : -31.91 }, + "10" : { "x" : -20.48, "y" : 23.10 }, + "11" : { "x" : -17.62, "y" : -9.17 } + }, + { + "index" : 30, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.76, "y" : 0.19 }, + "3" : { "x" : -47.24, "y" : 6.80 }, + "4" : { "x" : -46.57, "y" : -4.31 }, + "5" : { "x" : -46.68, "y" : 16.79 }, + "6" : { "x" : -40.62, "y" : 8.41 }, + "7" : { "x" : -35.33, "y" : -4.21 }, + "8" : { "x" : -37.14, "y" : 28.12 }, + "9" : { "x" : -20.48, "y" : -23.10 }, + "10" : { "x" : -18.70, "y" : 31.91 }, + "11" : { "x" : -17.62, "y" : 9.17 } + }, + { + "index" : 31, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -50.00, "y" : -0.02 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.06, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -21.03, "y" : -15.74 }, + "7" : { "x" : -24.04, "y" : -26.08 }, + "8" : { "x" : -15.24, "y" : -1.07 }, + "9" : { "x" : -4.96, "y" : -32.07 }, + "10" : { "x" : -7.86, "y" : 21.08 }, + "11" : { "x" : -0.24, "y" : -11.31 } + }, + { + "index" : 32, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -50.00, "y" : 0.02 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.06, "y" : 29.10 }, + "6" : { "x" : -21.03, "y" : 15.74 }, + "7" : { "x" : -15.24, "y" : 1.07 }, + "8" : { "x" : -24.04, "y" : 26.08 }, + "9" : { "x" : -7.86, "y" : -21.08 }, + "10" : { "x" : -4.96, "y" : 32.07 }, + "11" : { "x" : -0.24, "y" : 11.31 } + }, + { + "index" : 33, + "ball" : { "x" : 15.14, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.13, "y" : -4.07 }, + "3" : { "x" : 0.25, "y" : 4.45 }, + "4" : { "x" : 0.00, "y" : -16.13 }, + "5" : { "x" : 0.00, "y" : 16.13 }, + "6" : { "x" : 13.34, "y" : 0.24 }, + "7" : { "x" : 17.07, "y" : -7.45 }, + "8" : { "x" : 18.15, "y" : 6.85 }, + "9" : { "x" : 22.63, "y" : -28.94 }, + "10" : { "x" : 24.41, "y" : 28.34 }, + "11" : { "x" : 22.59, "y" : 0.12 } + }, + { + "index" : 34, + "ball" : { "x" : 23.26, "y" : -21.95 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.00, "y" : -15.44 }, + "3" : { "x" : 4.45, "y" : -1.20 }, + "4" : { "x" : 4.00, "y" : -25.21 }, + "5" : { "x" : 7.81, "y" : 9.98 }, + "6" : { "x" : 13.81, "y" : -12.62 }, + "7" : { "x" : 20.31, "y" : -21.63 }, + "8" : { "x" : 20.24, "y" : 1.31 }, + "9" : { "x" : 28.58, "y" : -31.08 }, + "10" : { "x" : 27.63, "y" : 19.29 }, + "11" : { "x" : 28.22, "y" : -12.15 } + }, + { + "index" : 35, + "ball" : { "x" : 23.26, "y" : 21.95 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.45, "y" : 1.20 }, + "3" : { "x" : 2.00, "y" : 15.44 }, + "4" : { "x" : 7.81, "y" : -9.98 }, + "5" : { "x" : 4.00, "y" : 25.21 }, + "6" : { "x" : 13.81, "y" : 12.62 }, + "7" : { "x" : 20.24, "y" : -1.31 }, + "8" : { "x" : 20.31, "y" : 21.63 }, + "9" : { "x" : 27.63, "y" : -19.29 }, + "10" : { "x" : 28.58, "y" : 31.08 }, + "11" : { "x" : 28.22, "y" : 12.15 } + }, + { + "index" : 36, + "ball" : { "x" : 0.00, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.84, "y" : -11.19 }, + "3" : { "x" : -10.46, "y" : -3.85 }, + "4" : { "x" : -9.65, "y" : -21.67 }, + "5" : { "x" : -9.54, "y" : 9.16 }, + "6" : { "x" : -1.32, "y" : -11.18 }, + "7" : { "x" : 1.44, "y" : -16.35 }, + "8" : { "x" : 2.16, "y" : 0.96 }, + "9" : { "x" : 14.12, "y" : -27.99 }, + "10" : { "x" : 14.51, "y" : 16.92 }, + "11" : { "x" : 12.72, "y" : -8.91 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -10.46, "y" : 3.85 }, + "3" : { "x" : -10.84, "y" : 11.19 }, + "4" : { "x" : -9.54, "y" : -9.16 }, + "5" : { "x" : -9.65, "y" : 21.67 }, + "6" : { "x" : -1.32, "y" : 11.18 }, + "7" : { "x" : 2.16, "y" : -0.96 }, + "8" : { "x" : 1.44, "y" : 16.35 }, + "9" : { "x" : 14.51, "y" : -16.92 }, + "10" : { "x" : 14.12, "y" : 27.99 }, + "11" : { "x" : 12.72, "y" : 8.91 } + }, + { + "index" : 38, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.81, "y" : -20.31 }, + "3" : { "x" : -8.65, "y" : -10.46 }, + "4" : { "x" : -2.16, "y" : -33.05 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : -0.48, "y" : -16.47 }, + "7" : { "x" : 2.88, "y" : -28.72 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 15.14, "y" : -32.93 }, + "10" : { "x" : 14.89, "y" : 18.34 }, + "11" : { "x" : 14.89, "y" : -12.50 } + }, + { + "index" : 39, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.65, "y" : 10.46 }, + "3" : { "x" : -7.81, "y" : 20.31 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -2.16, "y" : 33.05 }, + "6" : { "x" : -0.48, "y" : 16.47 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 2.88, "y" : 28.72 }, + "9" : { "x" : 14.89, "y" : -18.34 }, + "10" : { "x" : 15.14, "y" : 32.93 }, + "11" : { "x" : 14.89, "y" : 12.50 } + }, + { + "index" : 40, + "ball" : { "x" : 22.74, "y" : -30.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.96, "y" : -16.59 }, + "3" : { "x" : 1.68, "y" : -2.28 }, + "4" : { "x" : 1.85, "y" : -27.71 }, + "5" : { "x" : 4.21, "y" : 8.37 }, + "6" : { "x" : 12.38, "y" : -17.15 }, + "7" : { "x" : 21.03, "y" : -29.57 }, + "8" : { "x" : 18.62, "y" : 0.38 }, + "9" : { "x" : 26.08, "y" : -24.88 }, + "10" : { "x" : 27.00, "y" : 16.09 }, + "11" : { "x" : 27.75, "y" : -9.17 } + }, + { + "index" : 41, + "ball" : { "x" : 22.74, "y" : 30.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.68, "y" : 2.28 }, + "3" : { "x" : -0.96, "y" : 16.59 }, + "4" : { "x" : 4.21, "y" : -8.37 }, + "5" : { "x" : 1.85, "y" : 27.71 }, + "6" : { "x" : 12.38, "y" : 17.15 }, + "7" : { "x" : 18.62, "y" : -0.38 }, + "8" : { "x" : 21.03, "y" : 29.57 }, + "9" : { "x" : 27.00, "y" : -16.09 }, + "10" : { "x" : 26.08, "y" : 24.88 }, + "11" : { "x" : 27.75, "y" : 9.17 } + }, + { + "index" : 42, + "ball" : { "x" : -12.00, "y" : -19.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.06, "y" : -18.51 }, + "3" : { "x" : -18.10, "y" : -7.15 }, + "4" : { "x" : -16.95, "y" : -24.28 }, + "5" : { "x" : -17.43, "y" : 3.61 }, + "6" : { "x" : -8.29, "y" : -12.74 }, + "7" : { "x" : -5.89, "y" : -20.67 }, + "8" : { "x" : -1.53, "y" : 3.94 }, + "9" : { "x" : 3.45, "y" : -30.49 }, + "10" : { "x" : 3.33, "y" : 25.13 }, + "11" : { "x" : 2.38, "y" : -8.10 } + }, + { + "index" : 43, + "ball" : { "x" : -12.00, "y" : 19.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.10, "y" : 7.15 }, + "3" : { "x" : -14.06, "y" : 18.51 }, + "4" : { "x" : -17.43, "y" : -3.61 }, + "5" : { "x" : -16.95, "y" : 24.28 }, + "6" : { "x" : -8.29, "y" : 12.74 }, + "7" : { "x" : -1.53, "y" : -3.94 }, + "8" : { "x" : -5.89, "y" : 20.67 }, + "9" : { "x" : 3.33, "y" : -25.13 }, + "10" : { "x" : 3.45, "y" : 30.49 }, + "11" : { "x" : 2.38, "y" : 8.10 } + }, + { + "index" : 44, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -50.00, "y" : -0.04 }, + "2" : { "x" : -42.16, "y" : -14.65 }, + "3" : { "x" : -41.86, "y" : -6.87 }, + "4" : { "x" : -42.99, "y" : -26.08 }, + "5" : { "x" : -40.72, "y" : 1.53 }, + "6" : { "x" : -35.21, "y" : -15.50 }, + "7" : { "x" : -37.26, "y" : -22.84 }, + "8" : { "x" : -22.03, "y" : 1.19 }, + "9" : { "x" : -18.99, "y" : -32.33 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -10.36, "y" : -13.93 } + }, + { + "index" : 45, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -50.00, "y" : 0.04 }, + "2" : { "x" : -41.86, "y" : 6.87 }, + "3" : { "x" : -42.16, "y" : 14.65 }, + "4" : { "x" : -40.72, "y" : -1.53 }, + "5" : { "x" : -42.99, "y" : 26.08 }, + "6" : { "x" : -35.21, "y" : 15.50 }, + "7" : { "x" : -22.03, "y" : -1.19 }, + "8" : { "x" : -37.26, "y" : 22.84 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -18.99, "y" : 32.33 }, + "11" : { "x" : -10.36, "y" : 13.93 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/before-kick-off.conf b/SoccerSimulationProxyBin/bin/formations-keeper/before-kick-off.conf new file mode 100644 index 0000000..dad0ec2 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/before-kick-off.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -25.00, "y" : -5.00 }, + "3" : { "x" : -25.00, "y" : 5.00 }, + "4" : { "x" : -25.00, "y" : -10.00 }, + "5" : { "x" : -25.00, "y" : 10.00 }, + "6" : { "x" : -25.00, "y" : 0.00 }, + "7" : { "x" : -15.00, "y" : -5.00 }, + "8" : { "x" : -15.00, "y" : 5.00 }, + "9" : { "x" : -15.00, "y" : -10.00 }, + "10" : { "x" : -15.00, "y" : 10.00 }, + "11" : { "x" : -15.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/defense-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/defense-formation.conf new file mode 120000 index 0000000..82d426a --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/defense-formation.conf @@ -0,0 +1 @@ +normal-formation.conf \ No newline at end of file diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-opp.conf b/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-opp.conf new file mode 100644 index 0000000..7772079 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 15.00, "y" : -12.00 }, + "8" : { "x" : 15.00, "y" : 12.00 }, + "9" : { "x" : 31.00, "y" : -17.50 }, + "10" : { "x" : 31.00, "y" : 17.50 }, + "11" : { "x" : 31.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-our.conf b/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-our.conf new file mode 100644 index 0000000..8adc8df --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/goal-kick-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -44.50, "y" : -4.00 }, + "3" : { "x" : -44.50, "y" : 4.00 }, + "4" : { "x" : -42.00, "y" : -24.00 }, + "5" : { "x" : -42.00, "y" : 24.00 }, + "6" : { "x" : -32.00, "y" : 0.00 }, + "7" : { "x" : -32.50, "y" : -13.00 }, + "8" : { "x" : -32.50, "y" : 13.00 }, + "9" : { "x" : -13.00, "y" : -27.00 }, + "10" : { "x" : -13.00, "y" : 27.00 }, + "11" : { "x" : -13.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-opp.conf b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-opp.conf new file mode 100644 index 0000000..51ee0c9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 10.00, "y" : -12.00 }, + "8" : { "x" : 10.00, "y" : 12.00 }, + "9" : { "x" : 20.00, "y" : -20.00 }, + "10" : { "x" : 20.00, "y" : 20.00 }, + "11" : { "x" : 20.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-our.conf b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-our.conf new file mode 100644 index 0000000..ce31546 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-catch-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -29.50, "y" : -7.70 }, + "3" : { "x" : -29.50, "y" : 7.70 }, + "4" : { "x" : -29.50, "y" : -25.50 }, + "5" : { "x" : -29.50, "y" : 25.50 }, + "6" : { "x" : -29.00, "y" : 0.00 }, + "7" : { "x" : -15.50, "y" : -12.00 }, + "8" : { "x" : -15.50, "y" : 12.00 }, + "9" : { "x" : -15.00, "y" : -27.00 }, + "10" : { "x" : -15.00, "y" : 27.00 }, + "11" : { "x" : -8.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/goalie-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-formation.conf new file mode 100644 index 0000000..910deab --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/goalie-formation.conf @@ -0,0 +1,715 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.05, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -26.24, "y" : -14.19 }, + "7" : { "x" : -21.83, "y" : -26.72 }, + "8" : { "x" : -15.46, "y" : 2.33 }, + "9" : { "x" : -7.87, "y" : -31.01 }, + "10" : { "x" : -5.82, "y" : 19.94 }, + "11" : { "x" : -7.39, "y" : -15.15 } + }, + { + "index" : 1, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.05, "y" : 29.10 }, + "6" : { "x" : -26.24, "y" : 14.19 }, + "7" : { "x" : -15.46, "y" : -2.33 }, + "8" : { "x" : -21.83, "y" : 26.72 }, + "9" : { "x" : -5.82, "y" : -19.94 }, + "10" : { "x" : -7.87, "y" : 31.01 }, + "11" : { "x" : -7.39, "y" : 15.15 } + }, + { + "index" : 2, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : 0.00 }, + "2" : { "x" : -47.07, "y" : -2.61 }, + "3" : { "x" : -47.42, "y" : 2.25 }, + "4" : { "x" : -48.96, "y" : -5.34 }, + "5" : { "x" : -49.20, "y" : 5.10 }, + "6" : { "x" : -44.10, "y" : 0.12 }, + "7" : { "x" : -39.50, "y" : -6.00 }, + "8" : { "x" : -39.50, "y" : 6.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.74, "y" : 22.00 }, + "11" : { "x" : -18.50, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -36.61, "y" : -15.15 }, + "3" : { "x" : -36.26, "y" : -6.68 }, + "4" : { "x" : -36.14, "y" : -28.15 }, + "5" : { "x" : -34.60, "y" : 4.30 }, + "6" : { "x" : -31.61, "y" : -14.07 }, + "7" : { "x" : -26.72, "y" : -28.86 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.23, "y" : -30.77 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 4, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -36.26, "y" : 6.68 }, + "3" : { "x" : -36.61, "y" : 15.15 }, + "4" : { "x" : -34.60, "y" : -4.30 }, + "5" : { "x" : -36.14, "y" : 28.15 }, + "6" : { "x" : -31.61, "y" : 14.07 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.72, "y" : 28.86 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.23, "y" : 30.77 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 5, + "ball" : { "x" : -36.04, "y" : -9.96 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -42.92, "y" : -5.42 }, + "3" : { "x" : -39.70, "y" : -0.44 }, + "4" : { "x" : -41.75, "y" : -11.87 }, + "5" : { "x" : -41.27, "y" : 5.82 }, + "6" : { "x" : -35.75, "y" : -4.69 }, + "7" : { "x" : -32.28, "y" : -16.19 }, + "8" : { "x" : -27.62, "y" : 9.02 }, + "9" : { "x" : -18.00, "y" : -27.39 }, + "10" : { "x" : -18.00, "y" : 22.00 }, + "11" : { "x" : -14.78, "y" : -5.49 } + }, + { + "index" : 6, + "ball" : { "x" : -36.04, "y" : 9.96 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -39.70, "y" : 0.44 }, + "3" : { "x" : -42.92, "y" : 5.42 }, + "4" : { "x" : -41.27, "y" : -5.91 }, + "5" : { "x" : -41.75, "y" : 11.87 }, + "6" : { "x" : -35.75, "y" : 4.69 }, + "7" : { "x" : -27.62, "y" : -9.02 }, + "8" : { "x" : -32.28, "y" : 16.19 }, + "9" : { "x" : -18.00, "y" : -22.00 }, + "10" : { "x" : -18.00, "y" : 27.39 }, + "11" : { "x" : -14.78, "y" : 5.49 } + }, + { + "index" : 7, + "ball" : { "x" : -43.39, "y" : -9.53 }, + "1" : { "x" : -47.85, "y" : -6.00 }, + "2" : { "x" : -46.77, "y" : -5.52 }, + "3" : { "x" : -43.97, "y" : -0.25 }, + "4" : { "x" : -45.77, "y" : -9.15 }, + "5" : { "x" : -47.40, "y" : 3.89 }, + "6" : { "x" : -40.77, "y" : -6.11 }, + "7" : { "x" : -38.79, "y" : -14.81 }, + "8" : { "x" : -38.46, "y" : 3.97 }, + "9" : { "x" : -23.30, "y" : -28.20 }, + "10" : { "x" : -23.20, "y" : 20.07 }, + "11" : { "x" : -23.56, "y" : -7.45 } + }, + { + "index" : 8, + "ball" : { "x" : -43.39, "y" : 9.53 }, + "1" : { "x" : -47.85, "y" : 6.00 }, + "2" : { "x" : -43.97, "y" : 0.25 }, + "3" : { "x" : -46.77, "y" : 5.52 }, + "4" : { "x" : -47.40, "y" : -3.89 }, + "5" : { "x" : -45.77, "y" : 9.15 }, + "6" : { "x" : -40.77, "y" : 6.11 }, + "7" : { "x" : -38.46, "y" : -3.97 }, + "8" : { "x" : -38.79, "y" : 14.81 }, + "9" : { "x" : -23.20, "y" : -20.07 }, + "10" : { "x" : -23.30, "y" : 28.20 }, + "11" : { "x" : -23.56, "y" : 7.45 } + }, + { + "index" : 9, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -51.00, "y" : -6.50 }, + "2" : { "x" : -47.04, "y" : -18.02 }, + "3" : { "x" : -45.42, "y" : -8.52 }, + "4" : { "x" : -49.09, "y" : -27.29 }, + "5" : { "x" : -43.37, "y" : 0.00 }, + "6" : { "x" : -42.18, "y" : -14.13 }, + "7" : { "x" : -42.72, "y" : -24.49 }, + "8" : { "x" : -27.43, "y" : 5.25 }, + "9" : { "x" : -19.32, "y" : -30.06 }, + "10" : { "x" : -12.88, "y" : 19.80 }, + "11" : { "x" : -14.91, "y" : -9.18 } + }, + { + "index" : 10, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -51.00, "y" : 6.50 }, + "2" : { "x" : -45.42, "y" : 8.52 }, + "3" : { "x" : -47.04, "y" : 18.02 }, + "4" : { "x" : -43.37, "y" : -0.00 }, + "5" : { "x" : -49.09, "y" : 27.29 }, + "6" : { "x" : -42.18, "y" : 14.13 }, + "7" : { "x" : -27.43, "y" : -5.25 }, + "8" : { "x" : -42.72, "y" : 24.49 }, + "9" : { "x" : -12.88, "y" : -19.80 }, + "10" : { "x" : -19.32, "y" : 30.06 }, + "11" : { "x" : -14.91, "y" : 9.18 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.75, "y" : 22.00 }, + "11" : { "x" : -23.00, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : -10.57 }, + "1" : { "x" : -51.00, "y" : -7.00 }, + "2" : { "x" : -48.41, "y" : -5.80 }, + "3" : { "x" : -48.76, "y" : -1.66 }, + "4" : { "x" : -51.01, "y" : -8.52 }, + "5" : { "x" : -48.65, "y" : 3.20 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -39.90, "y" : 4.33 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -23.00, "y" : -8.59 } + }, + { + "index" : 13, + "ball" : { "x" : -54.50, "y" : 10.57 }, + "1" : { "x" : -51.00, "y" : 7.00 }, + "2" : { "x" : -48.76, "y" : 1.66 }, + "3" : { "x" : -48.41, "y" : 5.80 }, + "4" : { "x" : -48.65, "y" : -3.20 }, + "5" : { "x" : -51.01, "y" : 8.52 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -39.90, "y" : -4.33 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -23.00, "y" : 8.59 } + }, + { + "index" : 14, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -49.00, "y" : -6.50 }, + "2" : { "x" : -42.94, "y" : -15.32 }, + "3" : { "x" : -41.86, "y" : -7.55 }, + "4" : { "x" : -43.37, "y" : -24.38 }, + "5" : { "x" : -39.49, "y" : 0.65 }, + "6" : { "x" : -38.73, "y" : -13.27 }, + "7" : { "x" : -32.56, "y" : -22.90 }, + "8" : { "x" : -25.09, "y" : 4.60 }, + "9" : { "x" : -15.62, "y" : -30.53 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -13.95, "y" : -11.81 } + }, + { + "index" : 15, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -49.00, "y" : 6.50 }, + "2" : { "x" : -41.86, "y" : 7.55 }, + "3" : { "x" : -42.94, "y" : 15.32 }, + "4" : { "x" : -39.49, "y" : -0.65 }, + "5" : { "x" : -43.37, "y" : 24.38 }, + "6" : { "x" : -38.73, "y" : 13.27 }, + "7" : { "x" : -25.09, "y" : -4.60 }, + "8" : { "x" : -32.56, "y" : 22.90 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -15.62, "y" : 30.53 }, + "11" : { "x" : -13.95, "y" : 11.81 } + }, + { + "index" : 16, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.08, "y" : -6.22 }, + "3" : { "x" : -44.08, "y" : -1.75 }, + "4" : { "x" : -47.77, "y" : -12.89 }, + "5" : { "x" : -47.07, "y" : 2.17 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -37.99, "y" : 0.52 }, + "9" : { "x" : -30.17, "y" : -23.92 }, + "10" : { "x" : -20.89, "y" : 22.42 }, + "11" : { "x" : -21.75, "y" : -9.68 } + }, + { + "index" : 17, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -44.08, "y" : 1.75 }, + "3" : { "x" : -47.08, "y" : 6.22 }, + "4" : { "x" : -47.07, "y" : -2.17 }, + "5" : { "x" : -47.77, "y" : 12.89 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -37.99, "y" : -0.52 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -20.89, "y" : -22.42 }, + "10" : { "x" : -30.17, "y" : 23.92 }, + "11" : { "x" : -21.75, "y" : 9.68 } + }, + { + "index" : 18, + "ball" : { "x" : -22.08, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -25.43, "y" : -2.48 }, + "3" : { "x" : -25.34, "y" : 2.23 }, + "4" : { "x" : -26.20, "y" : -9.16 }, + "5" : { "x" : -25.77, "y" : 8.65 }, + "6" : { "x" : -20.42, "y" : 0.05 }, + "7" : { "x" : -15.86, "y" : -12.83 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -0.00 } + }, + { + "index" : 19, + "ball" : { "x" : -31.00, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -36.73, "y" : -2.99 }, + "3" : { "x" : -36.66, "y" : 2.67 }, + "4" : { "x" : -36.20, "y" : -8.93 }, + "5" : { "x" : -36.12, "y" : 8.13 }, + "6" : { "x" : -30.47, "y" : 0.22 }, + "7" : { "x" : -28.84, "y" : -12.26 }, + "8" : { "x" : -27.85, "y" : 9.82 }, + "9" : { "x" : -18.03, "y" : -21.00 }, + "10" : { "x" : -18.93, "y" : 22.26 }, + "11" : { "x" : -11.02, "y" : -0.00 } + }, + { + "index" : 20, + "ball" : { "x" : -48.35, "y" : -9.55 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -48.12, "y" : -6.51 }, + "3" : { "x" : -46.32, "y" : -2.57 }, + "4" : { "x" : -48.12, "y" : -8.17 }, + "5" : { "x" : -48.20, "y" : 1.88 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -41.22, "y" : 1.92 }, + "9" : { "x" : -27.41, "y" : -28.75 }, + "10" : { "x" : -25.72, "y" : 19.11 }, + "11" : { "x" : -23.00, "y" : -9.49 } + }, + { + "index" : 21, + "ball" : { "x" : -48.35, "y" : 9.55 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.32, "y" : 2.57 }, + "3" : { "x" : -48.12, "y" : 6.51 }, + "4" : { "x" : -48.20, "y" : -1.88 }, + "5" : { "x" : -48.12, "y" : 8.17 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -41.22, "y" : -1.92 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -25.72, "y" : -19.11 }, + "10" : { "x" : -27.41, "y" : 28.75 }, + "11" : { "x" : -23.00, "y" : 9.49 } + }, + { + "index" : 22, + "ball" : { "x" : -22.08, "y" : -18.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -26.23, "y" : -11.18 }, + "3" : { "x" : -26.32, "y" : -2.43 }, + "4" : { "x" : -25.96, "y" : -18.30 }, + "5" : { "x" : -26.32, "y" : 6.85 }, + "6" : { "x" : -21.58, "y" : -9.68 }, + "7" : { "x" : -17.81, "y" : -14.21 }, + "8" : { "x" : -14.69, "y" : 5.77 }, + "9" : { "x" : -4.33, "y" : -28.84 }, + "10" : { "x" : -4.51, "y" : 21.27 }, + "11" : { "x" : -4.87, "y" : -10.54 } + }, + { + "index" : 23, + "ball" : { "x" : -22.08, "y" : 18.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -26.32, "y" : 2.43 }, + "3" : { "x" : -26.23, "y" : 11.18 }, + "4" : { "x" : -26.32, "y" : -6.85 }, + "5" : { "x" : -25.96, "y" : 18.30 }, + "6" : { "x" : -21.58, "y" : 9.68 }, + "7" : { "x" : -14.69, "y" : -5.77 }, + "8" : { "x" : -17.81, "y" : 14.21 }, + "9" : { "x" : -4.51, "y" : -21.27 }, + "10" : { "x" : -4.33, "y" : 28.84 }, + "11" : { "x" : -4.87, "y" : 10.54 } + }, + { + "index" : 24, + "ball" : { "x" : -22.08, "y" : -9.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -25.24, "y" : -8.92 }, + "3" : { "x" : -25.42, "y" : -0.63 }, + "4" : { "x" : -24.96, "y" : -15.41 }, + "5" : { "x" : -25.33, "y" : 8.11 }, + "6" : { "x" : -22.62, "y" : -5.05 }, + "7" : { "x" : -17.81, "y" : -12.41 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -4.62 } + }, + { + "index" : 25, + "ball" : { "x" : -22.08, "y" : 9.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -25.42, "y" : 0.63 }, + "3" : { "x" : -25.24, "y" : 8.92 }, + "4" : { "x" : -25.33, "y" : -8.11 }, + "5" : { "x" : -24.96, "y" : 15.41 }, + "6" : { "x" : -22.62, "y" : 5.05 }, + "7" : { "x" : -15.25, "y" : -11.97 }, + "8" : { "x" : -17.81, "y" : 12.41 }, + "9" : { "x" : -5.43, "y" : -22.12 }, + "10" : { "x" : -6.18, "y" : 22.01 }, + "11" : { "x" : -3.02, "y" : 4.62 } + }, + { + "index" : 26, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 7.19, "y" : -26.29 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 21.83, "y" : -14.13 }, + "7" : { "x" : 35.28, "y" : -23.97 }, + "8" : { "x" : 40.92, "y" : -8.74 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 43.53, "y" : 4.78 }, + "11" : { "x" : 48.38, "y" : -19.52 } + }, + { + "index" : 27, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 7.19, "y" : 26.29 }, + "6" : { "x" : 21.83, "y" : 14.13 }, + "7" : { "x" : 40.92, "y" : 8.74 }, + "8" : { "x" : 35.28, "y" : 23.97 }, + "9" : { "x" : 43.53, "y" : -4.78 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 48.38, "y" : 19.52 } + }, + { + "index" : 28, + "ball" : { "x" : -11.99, "y" : -18.00 }, + "1" : { "x" : -43.00, "y" : -3.00 }, + "2" : { "x" : -16.27, "y" : -16.18 }, + "3" : { "x" : -15.84, "y" : -2.91 }, + "4" : { "x" : -15.07, "y" : -22.26 }, + "5" : { "x" : -16.18, "y" : 9.68 }, + "6" : { "x" : -14.56, "y" : -9.93 }, + "7" : { "x" : -4.78, "y" : -18.39 }, + "8" : { "x" : -4.15, "y" : 4.87 }, + "9" : { "x" : 2.88, "y" : -30.37 }, + "10" : { "x" : 3.70, "y" : 21.90 }, + "11" : { "x" : 3.70, "y" : -9.01 } + }, + { + "index" : 29, + "ball" : { "x" : -11.99, "y" : 18.00 }, + "1" : { "x" : -43.00, "y" : 3.00 }, + "2" : { "x" : -15.84, "y" : 2.91 }, + "3" : { "x" : -16.27, "y" : 16.18 }, + "4" : { "x" : -16.18, "y" : -9.68 }, + "5" : { "x" : -15.07, "y" : 22.26 }, + "6" : { "x" : -14.56, "y" : 9.93 }, + "7" : { "x" : -4.15, "y" : -4.87 }, + "8" : { "x" : -4.78, "y" : 18.39 }, + "9" : { "x" : 3.70, "y" : -21.90 }, + "10" : { "x" : 2.88, "y" : 30.37 }, + "11" : { "x" : 3.70, "y" : 9.01 } + }, + { + "index" : 30, + "ball" : { "x" : -11.99, "y" : -9.00 }, + "1" : { "x" : -43.00, "y" : -2.00 }, + "2" : { "x" : -15.58, "y" : -9.93 }, + "3" : { "x" : -15.93, "y" : 0.77 }, + "4" : { "x" : -15.50, "y" : -17.12 }, + "5" : { "x" : -15.75, "y" : 9.76 }, + "6" : { "x" : -13.96, "y" : -5.31 }, + "7" : { "x" : -7.75, "y" : -14.42 }, + "8" : { "x" : -5.59, "y" : 7.66 }, + "9" : { "x" : 2.25, "y" : -28.39 }, + "10" : { "x" : 2.16, "y" : 21.36 }, + "11" : { "x" : 2.61, "y" : -5.23 } + }, + { + "index" : 31, + "ball" : { "x" : -11.99, "y" : 9.00 }, + "1" : { "x" : -43.00, "y" : 2.00 }, + "2" : { "x" : -15.93, "y" : -0.77 }, + "3" : { "x" : -15.58, "y" : 9.93 }, + "4" : { "x" : -15.75, "y" : -9.76 }, + "5" : { "x" : -15.50, "y" : 17.12 }, + "6" : { "x" : -13.96, "y" : 5.31 }, + "7" : { "x" : -5.59, "y" : -7.66 }, + "8" : { "x" : -7.75, "y" : 14.42 }, + "9" : { "x" : 2.16, "y" : -21.36 }, + "10" : { "x" : 2.25, "y" : 28.39 }, + "11" : { "x" : 2.61, "y" : 5.23 } + }, + { + "index" : 32, + "ball" : { "x" : -11.99, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -15.75, "y" : -3.42 }, + "3" : { "x" : -15.75, "y" : 2.65 }, + "4" : { "x" : -15.75, "y" : -11.90 }, + "5" : { "x" : -16.70, "y" : 10.70 }, + "6" : { "x" : -13.96, "y" : 0.00 }, + "7" : { "x" : -8.05, "y" : -13.27 }, + "8" : { "x" : -7.11, "y" : 11.99 }, + "9" : { "x" : -2.20, "y" : -23.11 }, + "10" : { "x" : -0.94, "y" : 22.86 }, + "11" : { "x" : 1.91, "y" : -0.00 } + }, + { + "index" : 33, + "ball" : { "x" : -8.22, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : -4.00 }, + "2" : { "x" : -14.98, "y" : -24.57 }, + "3" : { "x" : -16.26, "y" : -7.31 }, + "4" : { "x" : -11.73, "y" : -33.05 }, + "5" : { "x" : -14.25, "y" : 7.67 }, + "6" : { "x" : -12.50, "y" : -16.95 }, + "7" : { "x" : -8.04, "y" : -26.49 }, + "8" : { "x" : -3.97, "y" : -5.41 }, + "9" : { "x" : 7.86, "y" : -31.17 }, + "10" : { "x" : 8.29, "y" : 2.34 }, + "11" : { "x" : 8.75, "y" : -16.72 } + }, + { + "index" : 34, + "ball" : { "x" : -8.22, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : 4.00 }, + "2" : { "x" : -16.26, "y" : 7.31 }, + "3" : { "x" : -14.98, "y" : 24.57 }, + "4" : { "x" : -14.25, "y" : -7.67 }, + "5" : { "x" : -11.73, "y" : 33.05 }, + "6" : { "x" : -12.50, "y" : 16.95 }, + "7" : { "x" : -3.97, "y" : 5.41 }, + "8" : { "x" : -8.04, "y" : 26.49 }, + "9" : { "x" : 8.29, "y" : -2.34 }, + "10" : { "x" : 7.86, "y" : 31.17 }, + "11" : { "x" : 8.75, "y" : 16.72 } + }, + { + "index" : 35, + "ball" : { "x" : -42.52, "y" : -6.04 }, + "1" : { "x" : -46.50, "y" : -4.75 }, + "2" : { "x" : -46.86, "y" : -4.31 }, + "3" : { "x" : -44.95, "y" : 0.79 }, + "4" : { "x" : -46.88, "y" : -7.76 }, + "5" : { "x" : -47.74, "y" : 4.50 }, + "6" : { "x" : -41.81, "y" : -3.85 }, + "7" : { "x" : -38.81, "y" : -11.62 }, + "8" : { "x" : -38.43, "y" : 4.91 }, + "9" : { "x" : -23.63, "y" : -25.89 }, + "10" : { "x" : -23.57, "y" : 20.85 }, + "11" : { "x" : -21.37, "y" : -4.64 } + }, + { + "index" : 36, + "ball" : { "x" : -42.52, "y" : 6.04 }, + "1" : { "x" : -46.50, "y" : 4.75 }, + "2" : { "x" : -44.95, "y" : -0.79 }, + "3" : { "x" : -46.86, "y" : 4.31 }, + "4" : { "x" : -47.74, "y" : -4.50 }, + "5" : { "x" : -46.88, "y" : 7.76 }, + "6" : { "x" : -41.81, "y" : 3.85 }, + "7" : { "x" : -38.43, "y" : -4.91 }, + "8" : { "x" : -38.81, "y" : 11.62 }, + "9" : { "x" : -23.57, "y" : -20.85 }, + "10" : { "x" : -23.63, "y" : 25.89 }, + "11" : { "x" : -21.37, "y" : 4.64 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -11.97, "y" : -8.07 }, + "3" : { "x" : -12.04, "y" : 6.87 }, + "4" : { "x" : -10.58, "y" : -16.23 }, + "5" : { "x" : -10.87, "y" : 15.70 }, + "6" : { "x" : -8.22, "y" : -0.19 }, + "7" : { "x" : -0.03, "y" : -8.56 }, + "8" : { "x" : -0.17, "y" : 8.44 }, + "9" : { "x" : 11.36, "y" : -18.82 }, + "10" : { "x" : 11.39, "y" : 18.52 }, + "11" : { "x" : 11.78, "y" : -0.06 } + }, + { + "index" : 38, + "ball" : { "x" : -41.21, "y" : -4.43 }, + "1" : { "x" : -46.50, "y" : -3.20 }, + "2" : { "x" : -46.31, "y" : -3.86 }, + "3" : { "x" : -45.02, "y" : 1.13 }, + "4" : { "x" : -46.83, "y" : -7.52 }, + "5" : { "x" : -47.24, "y" : 4.93 }, + "6" : { "x" : -41.69, "y" : -2.52 }, + "7" : { "x" : -38.02, "y" : -10.27 }, + "8" : { "x" : -37.09, "y" : 5.97 }, + "9" : { "x" : -23.14, "y" : -24.69 }, + "10" : { "x" : -23.11, "y" : 21.46 }, + "11" : { "x" : -19.25, "y" : -3.06 } + }, + { + "index" : 39, + "ball" : { "x" : -41.21, "y" : 4.43 }, + "1" : { "x" : -46.50, "y" : 3.20 }, + "2" : { "x" : -45.02, "y" : -1.13 }, + "3" : { "x" : -46.31, "y" : 3.86 }, + "4" : { "x" : -47.24, "y" : -4.93 }, + "5" : { "x" : -46.83, "y" : 7.52 }, + "6" : { "x" : -41.69, "y" : 2.52 }, + "7" : { "x" : -37.09, "y" : -5.97 }, + "8" : { "x" : -38.02, "y" : 10.27 }, + "9" : { "x" : -23.11, "y" : -21.46 }, + "10" : { "x" : -23.14, "y" : 24.69 }, + "11" : { "x" : -19.25, "y" : 3.06 } + }, + { + "index" : 40, + "ball" : { "x" : -42.38, "y" : -8.44 }, + "1" : { "x" : -46.50, "y" : -6.00 }, + "2" : { "x" : -46.42, "y" : -5.12 }, + "3" : { "x" : -43.87, "y" : 0.07 }, + "4" : { "x" : -45.73, "y" : -8.97 }, + "5" : { "x" : -46.90, "y" : 4.29 }, + "6" : { "x" : -40.61, "y" : -5.24 }, + "7" : { "x" : -38.15, "y" : -13.91 }, + "8" : { "x" : -37.38, "y" : 4.78 }, + "9" : { "x" : -22.88, "y" : -27.37 }, + "10" : { "x" : -22.81, "y" : 20.51 }, + "11" : { "x" : -21.98, "y" : -6.34 } + }, + { + "index" : 41, + "ball" : { "x" : -42.38, "y" : 8.44 }, + "1" : { "x" : -46.50, "y" : 6.00 }, + "2" : { "x" : -43.87, "y" : -0.07 }, + "3" : { "x" : -46.42, "y" : 5.12 }, + "4" : { "x" : -46.90, "y" : -4.29 }, + "5" : { "x" : -45.73, "y" : 8.97 }, + "6" : { "x" : -40.61, "y" : 5.24 }, + "7" : { "x" : -37.38, "y" : -4.78 }, + "8" : { "x" : -38.15, "y" : 13.91 }, + "9" : { "x" : -22.81, "y" : -20.51 }, + "10" : { "x" : -22.88, "y" : 27.37 }, + "11" : { "x" : -21.98, "y" : 6.34 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-opp-formation.conf new file mode 100644 index 0000000..b0054c3 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-opp-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.60, "y" : -18.57 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.91, "y" : -24.24 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -29.11, "y" : -28.84 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.60, "y" : 18.57 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.91, "y" : 24.24 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -29.11, "y" : 28.84 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.68, "y" : -9.82 }, + "3" : { "x" : -4.51, "y" : 2.34 }, + "4" : { "x" : 5.86, "y" : -22.53 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 20.82, "y" : -15.86 }, + "7" : { "x" : 31.99, "y" : -26.86 }, + "8" : { "x" : 35.24, "y" : -14.15 }, + "9" : { "x" : 39.02, "y" : -32.81 }, + "10" : { "x" : 43.71, "y" : -11.81 }, + "11" : { "x" : 40.11, "y" : -23.79 } + }, + { + "index" : 4, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.51, "y" : -2.34 }, + "3" : { "x" : -5.68, "y" : 9.82 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 5.86, "y" : 22.53 }, + "6" : { "x" : 20.82, "y" : 15.86 }, + "7" : { "x" : 35.24, "y" : 14.15 }, + "8" : { "x" : 31.99, "y" : 26.86 }, + "9" : { "x" : 43.71, "y" : 11.81 }, + "10" : { "x" : 39.02, "y" : 32.81 }, + "11" : { "x" : 40.11, "y" : 23.79 } + }, + { + "index" : 5, + "ball" : { "x" : -35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : -6.50 }, + "2" : { "x" : -44.28, "y" : -10.05 }, + "3" : { "x" : -44.22, "y" : -1.48 }, + "4" : { "x" : -44.19, "y" : -15.75 }, + "5" : { "x" : -43.66, "y" : 4.83 }, + "6" : { "x" : -40.28, "y" : -10.05 }, + "7" : { "x" : -35.08, "y" : -10.56 }, + "8" : { "x" : -37.64, "y" : -2.21 }, + "9" : { "x" : -25.89, "y" : -20.10 }, + "10" : { "x" : -12.49, "y" : 14.65 }, + "11" : { "x" : -21.91, "y" : -8.74 } + }, + { + "index" : 6, + "ball" : { "x" : -35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 6.50 }, + "2" : { "x" : -44.22, "y" : 1.48 }, + "3" : { "x" : -44.28, "y" : 10.05 }, + "4" : { "x" : -43.66, "y" : -4.83 }, + "5" : { "x" : -44.19, "y" : 15.75 }, + "6" : { "x" : -40.28, "y" : 10.05 }, + "7" : { "x" : -37.64, "y" : 2.21 }, + "8" : { "x" : -35.08, "y" : 10.56 }, + "9" : { "x" : -12.49, "y" : -14.65 }, + "10" : { "x" : -25.89, "y" : 20.10 }, + "11" : { "x" : -21.91, "y" : 8.74 } + }, + { + "index" : 7, + "ball" : { "x" : -35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.21, "y" : -2.19 }, + "3" : { "x" : -45.21, "y" : 2.19 }, + "4" : { "x" : -46.27, "y" : -4.12 }, + "5" : { "x" : -46.27, "y" : 4.12 }, + "6" : { "x" : -45.10, "y" : 0.00 }, + "7" : { "x" : -44.68, "y" : -5.14 }, + "8" : { "x" : -44.68, "y" : 5.14 }, + "9" : { "x" : -25.12, "y" : -16.78 }, + "10" : { "x" : -25.12, "y" : 16.78 }, + "11" : { "x" : -23.50, "y" : -0.09 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -54.00, "y" : 0.00 }, + "2" : { "x" : -52.60, "y" : -2.00 }, + "3" : { "x" : -52.60, "y" : 2.00 }, + "4" : { "x" : -52.60, "y" : -6.50 }, + "5" : { "x" : -52.60, "y" : 6.50 }, + "6" : { "x" : -52.60, "y" : 0.00 }, + "7" : { "x" : -52.60, "y" : -4.00 }, + "8" : { "x" : -52.60, "y" : 4.00 }, + "9" : { "x" : -33.21, "y" : -19.76 }, + "10" : { "x" : -33.21, "y" : 19.76 }, + "11" : { "x" : -32.47, "y" : 0.11 } + }, + { + "index" : 9, + "ball" : { "x" : -47.00, "y" : 0.00 }, + "1" : { "x" : -52.70, "y" : -0.35 }, + "2" : { "x" : -52.62, "y" : -2.09 }, + "3" : { "x" : -52.62, "y" : 1.08 }, + "4" : { "x" : -52.62, "y" : -3.88 }, + "5" : { "x" : -52.55, "y" : 3.65 }, + "6" : { "x" : -52.67, "y" : 2.37 }, + "7" : { "x" : -52.67, "y" : -5.34 }, + "8" : { "x" : -52.47, "y" : 4.96 }, + "9" : { "x" : -27.39, "y" : -19.82 }, + "10" : { "x" : -27.39, "y" : 19.82 }, + "11" : { "x" : -28.40, "y" : 0.07 } + }, + { + "index" : 10, + "ball" : { "x" : -47.00, "y" : -9.00 }, + "1" : { "x" : -52.65, "y" : -3.93 }, + "2" : { "x" : -52.55, "y" : -2.72 }, + "3" : { "x" : -52.65, "y" : -1.11 }, + "4" : { "x" : -52.55, "y" : -5.09 }, + "5" : { "x" : -52.72, "y" : 3.91 }, + "6" : { "x" : -52.65, "y" : 0.66 }, + "7" : { "x" : -52.75, "y" : -6.25 }, + "8" : { "x" : -51.44, "y" : 2.87 }, + "9" : { "x" : -36.10, "y" : -15.24 }, + "10" : { "x" : -30.66, "y" : 15.55 }, + "11" : { "x" : -32.13, "y" : -3.29 } + }, + { + "index" : 11, + "ball" : { "x" : -47.00, "y" : 9.00 }, + "1" : { "x" : -52.65, "y" : 3.93 }, + "2" : { "x" : -52.65, "y" : 1.11 }, + "3" : { "x" : -52.55, "y" : 2.72 }, + "4" : { "x" : -52.72, "y" : -3.91 }, + "5" : { "x" : -52.55, "y" : 5.09 }, + "6" : { "x" : -52.65, "y" : -0.66 }, + "7" : { "x" : -51.44, "y" : -2.87 }, + "8" : { "x" : -52.75, "y" : 6.25 }, + "9" : { "x" : -30.66, "y" : -15.55 }, + "10" : { "x" : -36.10, "y" : 15.24 }, + "11" : { "x" : -32.13, "y" : 3.29 } + }, + { + "index" : 12, + "ball" : { "x" : -35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : -3.02 }, + "2" : { "x" : -45.64, "y" : -4.17 }, + "3" : { "x" : -45.25, "y" : 0.23 }, + "4" : { "x" : -45.78, "y" : -7.75 }, + "5" : { "x" : -45.25, "y" : 5.29 }, + "6" : { "x" : -43.44, "y" : -2.95 }, + "7" : { "x" : -45.74, "y" : -6.20 }, + "8" : { "x" : -41.43, "y" : 1.89 }, + "9" : { "x" : -27.84, "y" : -17.20 }, + "10" : { "x" : -20.78, "y" : 14.99 }, + "11" : { "x" : -25.29, "y" : -3.66 } + }, + { + "index" : 13, + "ball" : { "x" : -35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 3.02 }, + "2" : { "x" : -45.25, "y" : -0.23 }, + "3" : { "x" : -45.64, "y" : 4.17 }, + "4" : { "x" : -45.25, "y" : -5.29 }, + "5" : { "x" : -45.78, "y" : 7.75 }, + "6" : { "x" : -43.44, "y" : 2.95 }, + "7" : { "x" : -41.43, "y" : -1.89 }, + "8" : { "x" : -45.74, "y" : 6.20 }, + "9" : { "x" : -20.78, "y" : -14.99 }, + "10" : { "x" : -27.84, "y" : 17.20 }, + "11" : { "x" : -25.29, "y" : 3.66 } + }, + { + "index" : 14, + "ball" : { "x" : -44.00, "y" : -21.00 }, + "1" : { "x" : -51.00, "y" : -6.00 }, + "2" : { "x" : -45.86, "y" : -4.39 }, + "3" : { "x" : -45.71, "y" : 1.02 }, + "4" : { "x" : -45.97, "y" : -7.15 }, + "5" : { "x" : -45.40, "y" : 5.78 }, + "6" : { "x" : -44.08, "y" : -6.92 }, + "7" : { "x" : -44.72, "y" : -8.96 }, + "8" : { "x" : -41.36, "y" : -0.49 }, + "9" : { "x" : -39.09, "y" : -10.43 }, + "10" : { "x" : -18.77, "y" : 16.91 }, + "11" : { "x" : -23.22, "y" : -6.10 } + }, + { + "index" : 15, + "ball" : { "x" : -44.00, "y" : 21.00 }, + "1" : { "x" : -51.00, "y" : 6.00 }, + "2" : { "x" : -45.71, "y" : -1.02 }, + "3" : { "x" : -45.86, "y" : 4.39 }, + "4" : { "x" : -45.40, "y" : -5.78 }, + "5" : { "x" : -45.97, "y" : 7.15 }, + "6" : { "x" : -44.08, "y" : 6.92 }, + "7" : { "x" : -41.36, "y" : 0.49 }, + "8" : { "x" : -44.72, "y" : 8.96 }, + "9" : { "x" : -18.77, "y" : -16.91 }, + "10" : { "x" : -39.09, "y" : 10.43 }, + "11" : { "x" : -23.22, "y" : 6.10 } + }, + { + "index" : 16, + "ball" : { "x" : -54.50, "y" : -21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -48.79, "y" : -7.15 }, + "3" : { "x" : -47.86, "y" : -0.17 }, + "4" : { "x" : -49.73, "y" : -13.20 }, + "5" : { "x" : -48.37, "y" : 6.05 }, + "6" : { "x" : -44.53, "y" : -8.00 }, + "7" : { "x" : -41.72, "y" : -14.39 }, + "8" : { "x" : -38.40, "y" : 0.34 }, + "9" : { "x" : -30.87, "y" : -24.94 }, + "10" : { "x" : -22.65, "y" : 21.03 }, + "11" : { "x" : -22.45, "y" : -2.96 } + }, + { + "index" : 17, + "ball" : { "x" : -54.50, "y" : 21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -47.86, "y" : 0.17 }, + "3" : { "x" : -48.79, "y" : 7.15 }, + "4" : { "x" : -48.37, "y" : -6.05 }, + "5" : { "x" : -49.73, "y" : 13.20 }, + "6" : { "x" : -44.53, "y" : 8.00 }, + "7" : { "x" : -38.40, "y" : -0.34 }, + "8" : { "x" : -41.72, "y" : 14.39 }, + "9" : { "x" : -22.65, "y" : -21.03 }, + "10" : { "x" : -30.87, "y" : 24.94 }, + "11" : { "x" : -22.45, "y" : 2.96 } + }, + { + "index" : 18, + "ball" : { "x" : -42.00, "y" : 0.00 }, + "1" : { "x" : -52.78, "y" : -1.21 }, + "2" : { "x" : -51.87, "y" : -1.06 }, + "3" : { "x" : -51.87, "y" : 1.06 }, + "4" : { "x" : -51.53, "y" : -3.25 }, + "5" : { "x" : -51.91, "y" : 3.48 }, + "6" : { "x" : -52.32, "y" : 1.44 }, + "7" : { "x" : -51.19, "y" : -5.22 }, + "8" : { "x" : -51.19, "y" : 5.22 }, + "9" : { "x" : -29.12, "y" : -16.35 }, + "10" : { "x" : -29.12, "y" : 16.35 }, + "11" : { "x" : -27.20, "y" : 0.06 } + }, + { + "index" : 19, + "ball" : { "x" : -42.50, "y" : -9.00 }, + "1" : { "x" : -52.51, "y" : -1.65 }, + "2" : { "x" : -52.62, "y" : -3.52 }, + "3" : { "x" : -52.11, "y" : 1.08 }, + "4" : { "x" : -52.79, "y" : -4.94 }, + "5" : { "x" : -52.06, "y" : 3.41 }, + "6" : { "x" : -51.32, "y" : 0.57 }, + "7" : { "x" : -52.85, "y" : -6.47 }, + "8" : { "x" : -50.07, "y" : 5.28 }, + "9" : { "x" : -33.14, "y" : -15.92 }, + "10" : { "x" : -26.91, "y" : 15.37 }, + "11" : { "x" : -29.52, "y" : -3.47 } + }, + { + "index" : 20, + "ball" : { "x" : -42.50, "y" : 9.00 }, + "1" : { "x" : -52.51, "y" : 1.65 }, + "2" : { "x" : -52.11, "y" : -1.08 }, + "3" : { "x" : -52.62, "y" : 3.52 }, + "4" : { "x" : -52.06, "y" : -3.41 }, + "5" : { "x" : -52.79, "y" : 4.94 }, + "6" : { "x" : -51.32, "y" : -0.57 }, + "7" : { "x" : -50.07, "y" : -5.28 }, + "8" : { "x" : -52.85, "y" : 6.47 }, + "9" : { "x" : -26.91, "y" : -15.37 }, + "10" : { "x" : -33.14, "y" : 15.92 }, + "11" : { "x" : -29.52, "y" : 3.47 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-our-formation.conf new file mode 100644 index 0000000..40592d4 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/indirect-freekick-our-formation.conf @@ -0,0 +1,460 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 34.06, "y" : 0.17 }, + "7" : { "x" : 35.08, "y" : -7.07 }, + "8" : { "x" : 35.08, "y" : 7.07 }, + "9" : { "x" : 41.43, "y" : -5.14 }, + "10" : { "x" : 41.43, "y" : 5.14 }, + "11" : { "x" : 41.02, "y" : 0.04 } + }, + { + "index" : 3, + "ball" : { "x" : 35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 32.19, "y" : -2.72 }, + "7" : { "x" : 34.49, "y" : -9.03 }, + "8" : { "x" : 35.00, "y" : 5.71 }, + "9" : { "x" : 41.47, "y" : -6.31 }, + "10" : { "x" : 43.25, "y" : 3.86 }, + "11" : { "x" : 42.76, "y" : -1.78 } + }, + { + "index" : 4, + "ball" : { "x" : 35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -6.85 }, + "3" : { "x" : 1.68, "y" : 7.93 }, + "4" : { "x" : 12.26, "y" : -16.47 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 32.19, "y" : 2.72 }, + "7" : { "x" : 35.00, "y" : -5.71 }, + "8" : { "x" : 34.49, "y" : 9.03 }, + "9" : { "x" : 43.25, "y" : -3.86 }, + "10" : { "x" : 41.47, "y" : 6.31 }, + "11" : { "x" : 42.76, "y" : 1.78 } + }, + { + "index" : 5, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 6, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 7, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 9, + "ball" : { "x" : 35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.35 }, + "6" : { "x" : 28.78, "y" : -11.75 }, + "7" : { "x" : 34.23, "y" : -20.86 }, + "8" : { "x" : 35.08, "y" : -1.70 }, + "9" : { "x" : 39.00, "y" : -16.86 }, + "10" : { "x" : 40.36, "y" : 5.79 }, + "11" : { "x" : 39.85, "y" : -10.22 } + }, + { + "index" : 10, + "ball" : { "x" : 35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.35 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 28.78, "y" : 11.75 }, + "7" : { "x" : 35.08, "y" : 1.70 }, + "8" : { "x" : 34.23, "y" : 20.86 }, + "9" : { "x" : 40.36, "y" : -5.79 }, + "10" : { "x" : 39.00, "y" : 16.86 }, + "11" : { "x" : 39.85, "y" : 10.22 } + }, + { + "index" : 11, + "ball" : { "x" : 54.50, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.65, "y" : -10.71 }, + "3" : { "x" : 4.82, "y" : 4.56 }, + "4" : { "x" : 10.43, "y" : -23.74 }, + "5" : { "x" : 16.19, "y" : 14.12 }, + "6" : { "x" : 35.85, "y" : -10.13 }, + "7" : { "x" : 53.65, "y" : -21.12 }, + "8" : { "x" : 38.57, "y" : -0.34 }, + "9" : { "x" : 48.28, "y" : -12.94 }, + "10" : { "x" : 46.41, "y" : 5.79 }, + "11" : { "x" : 46.83, "y" : -5.88 } + }, + { + "index" : 12, + "ball" : { "x" : 54.50, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 4.82, "y" : -4.56 }, + "3" : { "x" : 0.65, "y" : 10.71 }, + "4" : { "x" : 16.19, "y" : -14.12 }, + "5" : { "x" : 10.43, "y" : 23.74 }, + "6" : { "x" : 35.85, "y" : 10.13 }, + "7" : { "x" : 38.57, "y" : 0.34 }, + "8" : { "x" : 53.65, "y" : 21.12 }, + "9" : { "x" : 46.41, "y" : -5.79 }, + "10" : { "x" : 48.28, "y" : 12.94 }, + "11" : { "x" : 46.83, "y" : 5.88 } + }, + { + "index" : 13, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -7.64 }, + "3" : { "x" : 2.74, "y" : 7.64 }, + "4" : { "x" : 13.31, "y" : -18.93 }, + "5" : { "x" : 13.31, "y" : 18.93 }, + "6" : { "x" : 36.62, "y" : 0.00 }, + "7" : { "x" : 40.15, "y" : -8.47 }, + "8" : { "x" : 40.15, "y" : 8.47 }, + "9" : { "x" : 50.41, "y" : -6.13 }, + "10" : { "x" : 50.41, "y" : 6.13 }, + "11" : { "x" : 53.00, "y" : 0.09 } + }, + { + "index" : 14, + "ball" : { "x" : 47.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.80, "y" : -8.51 }, + "3" : { "x" : 4.12, "y" : 6.57 }, + "4" : { "x" : 9.30, "y" : -20.53 }, + "5" : { "x" : 13.60, "y" : 16.77 }, + "6" : { "x" : 35.08, "y" : -1.19 }, + "7" : { "x" : 46.27, "y" : -8.92 }, + "8" : { "x" : 38.71, "y" : 5.18 }, + "9" : { "x" : 49.22, "y" : -6.09 }, + "10" : { "x" : 48.96, "y" : 2.61 }, + "11" : { "x" : 49.22, "y" : -2.42 } + }, + { + "index" : 15, + "ball" : { "x" : 47.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.12, "y" : -6.57 }, + "3" : { "x" : 1.80, "y" : 8.51 }, + "4" : { "x" : 13.60, "y" : -16.77 }, + "5" : { "x" : 9.30, "y" : 20.53 }, + "6" : { "x" : 35.08, "y" : 1.19 }, + "7" : { "x" : 38.71, "y" : -5.18 }, + "8" : { "x" : 46.27, "y" : 8.92 }, + "9" : { "x" : 48.96, "y" : -2.61 }, + "10" : { "x" : 49.22, "y" : 6.09 }, + "11" : { "x" : 49.22, "y" : 2.42 } + }, + { + "index" : 16, + "ball" : { "x" : 54.50, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -8.98 }, + "3" : { "x" : 3.65, "y" : 6.29 }, + "4" : { "x" : 12.05, "y" : -21.04 }, + "5" : { "x" : 14.57, "y" : 16.82 }, + "6" : { "x" : 36.28, "y" : -4.44 }, + "7" : { "x" : 53.90, "y" : -9.37 }, + "8" : { "x" : 39.46, "y" : 4.61 }, + "9" : { "x" : 50.58, "y" : -5.96 }, + "10" : { "x" : 47.13, "y" : 6.32 }, + "11" : { "x" : 46.66, "y" : -0.51 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 3.65, "y" : -6.29 }, + "3" : { "x" : 1.82, "y" : 8.98 }, + "4" : { "x" : 14.57, "y" : -16.82 }, + "5" : { "x" : 12.05, "y" : 21.04 }, + "6" : { "x" : 36.28, "y" : 4.44 }, + "7" : { "x" : 39.46, "y" : -4.61 }, + "8" : { "x" : 53.90, "y" : 9.37 }, + "9" : { "x" : 47.13, "y" : -6.32 }, + "10" : { "x" : 50.58, "y" : 5.96 }, + "11" : { "x" : 46.66, "y" : 0.51 } + }, + { + "index" : 18, + "ball" : { "x" : 47.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.61, "y" : -7.53 }, + "3" : { "x" : 2.61, "y" : 7.53 }, + "4" : { "x" : 10.66, "y" : -18.55 }, + "5" : { "x" : 10.66, "y" : 18.55 }, + "6" : { "x" : 33.31, "y" : 0.00 }, + "7" : { "x" : 41.13, "y" : -6.10 }, + "8" : { "x" : 41.13, "y" : 6.10 }, + "9" : { "x" : 48.96, "y" : -4.35 }, + "10" : { "x" : 48.96, "y" : 4.35 }, + "11" : { "x" : 46.32, "y" : -0.09 } + }, + { + "index" : 19, + "ball" : { "x" : 45.00, "y" : -3.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.04, "y" : -7.87 }, + "3" : { "x" : 2.87, "y" : 7.17 }, + "4" : { "x" : 9.46, "y" : -19.17 }, + "5" : { "x" : 11.01, "y" : 17.82 }, + "6" : { "x" : 32.43, "y" : -0.37 }, + "7" : { "x" : 44.50, "y" : -3.33 }, + "8" : { "x" : 37.42, "y" : 7.26 }, + "9" : { "x" : 49.33, "y" : -5.44 }, + "10" : { "x" : 49.22, "y" : 3.70 }, + "11" : { "x" : 49.52, "y" : -1.55 } + }, + { + "index" : 20, + "ball" : { "x" : 45.00, "y" : 3.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.87, "y" : -7.17 }, + "3" : { "x" : 2.04, "y" : 7.87 }, + "4" : { "x" : 11.01, "y" : -17.82 }, + "5" : { "x" : 9.46, "y" : 19.17 }, + "6" : { "x" : 32.43, "y" : 0.37 }, + "7" : { "x" : 37.42, "y" : -7.26 }, + "8" : { "x" : 44.50, "y" : 3.33 }, + "9" : { "x" : 49.22, "y" : -3.70 }, + "10" : { "x" : 49.33, "y" : 5.44 }, + "11" : { "x" : 49.52, "y" : 1.55 } + }, + { + "index" : 21, + "ball" : { "x" : 40.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.21, "y" : -7.45 }, + "3" : { "x" : 1.21, "y" : 7.45 }, + "4" : { "x" : 7.08, "y" : -18.09 }, + "5" : { "x" : 7.08, "y" : 18.09 }, + "6" : { "x" : 31.79, "y" : -2.34 }, + "7" : { "x" : 39.13, "y" : -0.08 }, + "8" : { "x" : 37.84, "y" : 3.63 }, + "9" : { "x" : 45.44, "y" : -3.33 }, + "10" : { "x" : 45.44, "y" : 3.36 }, + "11" : { "x" : 45.59, "y" : -0.08 } + }, + { + "index" : 22, + "ball" : { "x" : 44.53, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.34, "y" : -7.51 }, + "3" : { "x" : 2.34, "y" : 7.51 }, + "4" : { "x" : 9.94, "y" : -18.46 }, + "5" : { "x" : 9.94, "y" : 18.46 }, + "6" : { "x" : 32.41, "y" : -0.00 }, + "7" : { "x" : 38.60, "y" : -4.65 }, + "8" : { "x" : 38.60, "y" : 4.65 }, + "9" : { "x" : 47.48, "y" : -3.97 }, + "10" : { "x" : 47.48, "y" : 3.97 }, + "11" : { "x" : 44.62, "y" : -0.09 } + }, + { + "index" : 23, + "ball" : { "x" : 47.00, "y" : -4.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.24, "y" : -7.99 }, + "3" : { "x" : 3.31, "y" : 7.09 }, + "4" : { "x" : 10.12, "y" : -19.48 }, + "5" : { "x" : 12.11, "y" : 17.74 }, + "6" : { "x" : 34.25, "y" : -0.55 }, + "7" : { "x" : 43.66, "y" : -7.46 }, + "8" : { "x" : 39.00, "y" : 6.28 }, + "9" : { "x" : 48.96, "y" : -7.58 }, + "10" : { "x" : 48.77, "y" : 0.53 }, + "11" : { "x" : 46.92, "y" : -3.75 } + }, + { + "index" : 24, + "ball" : { "x" : 47.00, "y" : 4.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.31, "y" : -7.09 }, + "3" : { "x" : 2.24, "y" : 7.99 }, + "4" : { "x" : 12.11, "y" : -17.74 }, + "5" : { "x" : 10.12, "y" : 19.48 }, + "6" : { "x" : 34.25, "y" : 0.55 }, + "7" : { "x" : 39.00, "y" : -6.28 }, + "8" : { "x" : 43.66, "y" : 7.46 }, + "9" : { "x" : 48.77, "y" : -0.53 }, + "10" : { "x" : 48.96, "y" : 7.58 }, + "11" : { "x" : 46.92, "y" : 3.75 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/kickin-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/kickin-our-formation.conf new file mode 100644 index 0000000..956c8a9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/kickin-our-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -9.00 }, + "3" : { "x" : 0.00, "y" : 9.00 }, + "4" : { "x" : 7.00, "y" : -19.00 }, + "5" : { "x" : 7.00, "y" : 19.00 }, + "6" : { "x" : 21.00, "y" : 0.00 }, + "7" : { "x" : 35.00, "y" : -6.00 }, + "8" : { "x" : 35.00, "y" : 6.00 }, + "9" : { "x" : 46.00, "y" : -9.50 }, + "10" : { "x" : 46.00, "y" : 9.50 }, + "11" : { "x" : 46.00, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -22.00, "y" : 28.00 }, + "11" : { "x" : -18.49, "y" : 0.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.06, "y" : -4.84 }, + "3" : { "x" : -15.18, "y" : 3.68 }, + "4" : { "x" : -12.58, "y" : -14.88 }, + "5" : { "x" : -13.39, "y" : 14.07 }, + "6" : { "x" : -5.61, "y" : 0.00 }, + "7" : { "x" : 0.11, "y" : -11.99 }, + "8" : { "x" : 0.11, "y" : 11.99 }, + "9" : { "x" : 10.37, "y" : -23.99 }, + "10" : { "x" : 10.84, "y" : 23.99 }, + "11" : { "x" : 10.84, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.35, "y" : -11.81 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -47.81, "y" : -26.33 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.23, "y" : -11.92 }, + "7" : { "x" : -37.38, "y" : -21.36 }, + "8" : { "x" : -27.94, "y" : 1.74 }, + "9" : { "x" : -22.23, "y" : -31.17 }, + "10" : { "x" : -17.01, "y" : 19.99 }, + "11" : { "x" : -17.51, "y" : -11.55 } + }, + { + "index" : 4, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -47.35, "y" : 11.81 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -47.81, "y" : 26.33 }, + "6" : { "x" : -41.23, "y" : 11.92 }, + "7" : { "x" : -27.94, "y" : -1.74 }, + "8" : { "x" : -37.38, "y" : 21.36 }, + "9" : { "x" : -17.01, "y" : -19.99 }, + "10" : { "x" : -22.23, "y" : 31.17 }, + "11" : { "x" : -17.51, "y" : 11.55 } + }, + { + "index" : 5, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -39.12, "y" : -16.02 }, + "3" : { "x" : -38.87, "y" : -6.58 }, + "4" : { "x" : -36.39, "y" : -27.94 }, + "5" : { "x" : -36.76, "y" : 3.85 }, + "6" : { "x" : -28.32, "y" : -15.28 }, + "7" : { "x" : -22.23, "y" : -24.59 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.43, "y" : -32.54 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.20, "y" : -14.16 } + }, + { + "index" : 6, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.87, "y" : 6.58 }, + "3" : { "x" : -39.12, "y" : 16.02 }, + "4" : { "x" : -36.76, "y" : -3.85 }, + "5" : { "x" : -36.39, "y" : 27.94 }, + "6" : { "x" : -28.32, "y" : 15.28 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -22.23, "y" : 24.59 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.43, "y" : 32.54 }, + "11" : { "x" : -7.20, "y" : 14.16 } + }, + { + "index" : 7, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.50, "y" : -21.61 }, + "3" : { "x" : -18.50, "y" : -8.94 }, + "4" : { "x" : -12.42, "y" : -34.65 }, + "5" : { "x" : -18.38, "y" : 4.72 }, + "6" : { "x" : -9.07, "y" : -14.90 }, + "7" : { "x" : -0.50, "y" : -22.48 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 11.67, "y" : -32.29 }, + "10" : { "x" : 10.80, "y" : 14.03 }, + "11" : { "x" : 8.20, "y" : -15.15 } + }, + { + "index" : 8, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.50, "y" : 8.94 }, + "3" : { "x" : -18.50, "y" : 21.61 }, + "4" : { "x" : -18.38, "y" : -4.72 }, + "5" : { "x" : -12.42, "y" : 34.65 }, + "6" : { "x" : -9.07, "y" : 14.90 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -0.50, "y" : 22.48 }, + "9" : { "x" : 10.80, "y" : -14.03 }, + "10" : { "x" : 11.67, "y" : 32.29 }, + "11" : { "x" : 8.20, "y" : 15.15 } + }, + { + "index" : 9, + "ball" : { "x" : 38.13, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.14, "y" : -16.53 }, + "3" : { "x" : 6.25, "y" : -1.80 }, + "4" : { "x" : 7.93, "y" : -28.00 }, + "5" : { "x" : 17.31, "y" : 8.77 }, + "6" : { "x" : 24.88, "y" : -17.67 }, + "7" : { "x" : 36.30, "y" : -31.49 }, + "8" : { "x" : 32.09, "y" : -0.36 }, + "9" : { "x" : 46.75, "y" : -24.64 }, + "10" : { "x" : 44.23, "y" : -0.72 }, + "11" : { "x" : 44.59, "y" : -13.82 } + }, + { + "index" : 10, + "ball" : { "x" : 38.13, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.25, "y" : 1.80 }, + "3" : { "x" : -0.14, "y" : 16.53 }, + "4" : { "x" : 17.31, "y" : -8.77 }, + "5" : { "x" : 7.93, "y" : 28.00 }, + "6" : { "x" : 24.88, "y" : 17.67 }, + "7" : { "x" : 32.09, "y" : 0.36 }, + "8" : { "x" : 36.30, "y" : 31.49 }, + "9" : { "x" : 44.23, "y" : 0.72 }, + "10" : { "x" : 46.75, "y" : 24.64 }, + "11" : { "x" : 44.59, "y" : 13.82 } + }, + { + "index" : 11, + "ball" : { "x" : 35.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -14.54 }, + "3" : { "x" : 6.49, "y" : -0.12 }, + "4" : { "x" : 6.37, "y" : -27.76 }, + "5" : { "x" : 15.86, "y" : 8.65 }, + "6" : { "x" : 22.73, "y" : -17.39 }, + "7" : { "x" : 33.41, "y" : -32.69 }, + "8" : { "x" : 29.81, "y" : 0.00 }, + "9" : { "x" : 43.03, "y" : -29.81 }, + "10" : { "x" : 41.70, "y" : -1.08 }, + "11" : { "x" : 42.31, "y" : -15.38 } + }, + { + "index" : 12, + "ball" : { "x" : 35.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.49, "y" : 0.12 }, + "3" : { "x" : 1.68, "y" : 14.54 }, + "4" : { "x" : 15.86, "y" : -8.65 }, + "5" : { "x" : 6.37, "y" : 27.76 }, + "6" : { "x" : 22.73, "y" : 17.39 }, + "7" : { "x" : 29.81, "y" : -0.00 }, + "8" : { "x" : 33.41, "y" : 32.69 }, + "9" : { "x" : 41.70, "y" : 1.08 }, + "10" : { "x" : 43.03, "y" : 29.81 }, + "11" : { "x" : 42.31, "y" : 15.38 } + }, + { + "index" : 13, + "ball" : { "x" : 24.88, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.84, "y" : -21.03 }, + "3" : { "x" : 2.88, "y" : -5.53 }, + "4" : { "x" : 20.67, "y" : -32.93 }, + "5" : { "x" : 11.42, "y" : 7.69 }, + "6" : { "x" : 14.54, "y" : -13.46 }, + "7" : { "x" : 26.08, "y" : -19.11 }, + "8" : { "x" : 31.01, "y" : -6.01 }, + "9" : { "x" : 44.23, "y" : -29.93 }, + "10" : { "x" : 39.54, "y" : -1.08 }, + "11" : { "x" : 41.34, "y" : -17.43 } + }, + { + "index" : 14, + "ball" : { "x" : 24.88, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.88, "y" : 5.53 }, + "3" : { "x" : -0.84, "y" : 21.03 }, + "4" : { "x" : 11.42, "y" : -7.69 }, + "5" : { "x" : 20.67, "y" : 32.93 }, + "6" : { "x" : 14.54, "y" : 13.46 }, + "7" : { "x" : 31.01, "y" : 6.01 }, + "8" : { "x" : 26.08, "y" : 19.11 }, + "9" : { "x" : 39.54, "y" : 1.08 }, + "10" : { "x" : 44.23, "y" : 29.93 }, + "11" : { "x" : 41.34, "y" : 17.43 } + }, + { + "index" : 15, + "ball" : { "x" : 12.98, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.61, "y" : -21.51 }, + "3" : { "x" : -0.12, "y" : -4.33 }, + "4" : { "x" : 9.86, "y" : -31.97 }, + "5" : { "x" : 8.29, "y" : 8.17 }, + "6" : { "x" : 8.51, "y" : -16.20 }, + "7" : { "x" : 20.91, "y" : -20.67 }, + "8" : { "x" : 18.15, "y" : -1.20 }, + "9" : { "x" : 37.02, "y" : -31.25 }, + "10" : { "x" : 31.49, "y" : -1.08 }, + "11" : { "x" : 34.97, "y" : -15.38 } + }, + { + "index" : 16, + "ball" : { "x" : 12.98, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.12, "y" : 4.33 }, + "3" : { "x" : -3.61, "y" : 21.51 }, + "4" : { "x" : 8.29, "y" : -8.17 }, + "5" : { "x" : 9.86, "y" : 31.97 }, + "6" : { "x" : 8.51, "y" : 16.20 }, + "7" : { "x" : 18.15, "y" : 1.20 }, + "8" : { "x" : 20.91, "y" : 20.67 }, + "9" : { "x" : 31.49, "y" : 1.08 }, + "10" : { "x" : 37.02, "y" : 31.25 }, + "11" : { "x" : 34.97, "y" : 15.38 } + }, + { + "index" : 17, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.58, "y" : -23.22 }, + "3" : { "x" : -9.06, "y" : -10.97 }, + "4" : { "x" : -1.56, "y" : -32.69 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : 0.00, "y" : -16.95 }, + "7" : { "x" : 7.57, "y" : -22.71 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 24.47, "y" : -30.18 }, + "10" : { "x" : 23.68, "y" : 3.97 }, + "11" : { "x" : 20.91, "y" : -14.66 } + }, + { + "index" : 18, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.06, "y" : 10.97 }, + "3" : { "x" : -7.58, "y" : 23.22 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -1.56, "y" : 32.69 }, + "6" : { "x" : 0.00, "y" : 16.95 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 7.57, "y" : 22.71 }, + "9" : { "x" : 23.68, "y" : -3.97 }, + "10" : { "x" : 24.47, "y" : 30.18 }, + "11" : { "x" : 20.91, "y" : 14.66 } + }, + { + "index" : 19, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.24, "y" : -14.54 }, + "3" : { "x" : 7.21, "y" : -0.48 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 17.19, "y" : 10.22 }, + "6" : { "x" : 24.76, "y" : -14.66 }, + "7" : { "x" : 39.78, "y" : -28.60 }, + "8" : { "x" : 38.65, "y" : -11.04 }, + "9" : { "x" : 51.54, "y" : -34.65 }, + "10" : { "x" : 46.27, "y" : -8.05 }, + "11" : { "x" : 48.07, "y" : -22.35 } + }, + { + "index" : 20, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 7.21, "y" : 0.48 }, + "3" : { "x" : -0.24, "y" : 14.54 }, + "4" : { "x" : 17.19, "y" : -10.22 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 24.76, "y" : 14.66 }, + "7" : { "x" : 38.65, "y" : 11.04 }, + "8" : { "x" : 39.78, "y" : 28.60 }, + "9" : { "x" : 46.27, "y" : 8.05 }, + "10" : { "x" : 51.54, "y" : 34.65 }, + "11" : { "x" : 48.07, "y" : 22.35 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/normal-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/normal-formation.conf new file mode 100644 index 0000000..278dfcf --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/normal-formation.conf @@ -0,0 +1,145 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 2, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 3, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 4, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 5, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 6, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 7, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 8, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 9, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 10, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 11, + "name" : "KeepawayKeeper", + "type" : "MF", + "side" : "L", + "pair" : -1 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : -11.00, "y" : -11.00 }, + "1" : { "x" : -8.50, "y" : -8.50 }, + "2" : { "x" : -8.50, "y" : 8.50 }, + "3" : { "x" : 8.50, "y" : -8.50 }, + "4" : { "x" : 8.50, "y" : 8.50 }, + "5" : { "x" : 0.00, "y" : 0.00 }, + "6" : { "x" : -21.00, "y" : -36.00 }, + "7" : { "x" : -24.00, "y" : -36.00 }, + "8" : { "x" : -27.00, "y" : -36.00 }, + "9" : { "x" : -30.00, "y" : -36.00 }, + "10" : { "x" : -33.00, "y" : -36.00 }, + "11" : { "x" : -36.00, "y" : -36.00 } + }, + { + "index" : 1, + "ball" : { "x" : -11.00, "y" : 11.00 }, + "1" : { "x" : -8.50, "y" : -8.50 }, + "2" : { "x" : -8.50, "y" : 8.50 }, + "3" : { "x" : 8.50, "y" : -8.50 }, + "4" : { "x" : 8.50, "y" : 8.50 }, + "5" : { "x" : 0.00, "y" : 0.00 }, + "6" : { "x" : -21.00, "y" : -36.00 }, + "7" : { "x" : -24.00, "y" : -36.00 }, + "8" : { "x" : -27.00, "y" : -36.00 }, + "9" : { "x" : -30.00, "y" : -36.00 }, + "10" : { "x" : -33.00, "y" : -36.00 }, + "11" : { "x" : -36.00, "y" : -36.00 } + }, + { + "index" : 2, + "ball" : { "x" : 11.00, "y" : -11.00 }, + "1" : { "x" : -8.50, "y" : -8.50 }, + "2" : { "x" : -8.50, "y" : 8.50 }, + "3" : { "x" : 8.50, "y" : -8.50 }, + "4" : { "x" : 8.50, "y" : 8.50 }, + "5" : { "x" : 0.00, "y" : 0.00 }, + "6" : { "x" : -21.00, "y" : -36.00 }, + "7" : { "x" : -24.00, "y" : -36.00 }, + "8" : { "x" : -27.00, "y" : -36.00 }, + "9" : { "x" : -30.00, "y" : -36.00 }, + "10" : { "x" : -33.00, "y" : -36.00 }, + "11" : { "x" : -36.00, "y" : -36.00 } + }, + { + "index" : 3, + "ball" : { "x" : 11.00, "y" : 11.00 }, + "1" : { "x" : -8.50, "y" : -8.50 }, + "2" : { "x" : -8.50, "y" : 8.50 }, + "3" : { "x" : 8.50, "y" : -8.50 }, + "4" : { "x" : 8.50, "y" : 8.50 }, + "5" : { "x" : 0.00, "y" : 0.00 }, + "6" : { "x" : -21.00, "y" : -36.00 }, + "7" : { "x" : -24.00, "y" : -36.00 }, + "8" : { "x" : -27.00, "y" : -36.00 }, + "9" : { "x" : -30.00, "y" : -36.00 }, + "10" : { "x" : -33.00, "y" : -36.00 }, + "11" : { "x" : -36.00, "y" : -36.00 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/offense-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/offense-formation.conf new file mode 120000 index 0000000..82d426a --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/offense-formation.conf @@ -0,0 +1 @@ +normal-formation.conf \ No newline at end of file diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/setplay-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/setplay-opp-formation.conf new file mode 100644 index 0000000..4860093 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/setplay-opp-formation.conf @@ -0,0 +1,760 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.44, "y" : -20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.41, "y" : -10.72 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -50.02, "y" : -17.21 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.73, "y" : -9.80 }, + "7" : { "x" : -40.83, "y" : -15.77 }, + "8" : { "x" : -30.82, "y" : 6.85 }, + "9" : { "x" : -24.78, "y" : -29.47 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.44, "y" : 20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -47.41, "y" : 10.72 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -50.02, "y" : 17.21 }, + "6" : { "x" : -39.73, "y" : 9.80 }, + "7" : { "x" : -30.82, "y" : -6.85 }, + "8" : { "x" : -40.83, "y" : 15.77 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -24.78, "y" : 29.47 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 45.24, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.18, "y" : -6.92 }, + "3" : { "x" : -0.18, "y" : 6.92 }, + "4" : { "x" : 6.47, "y" : -17.34 }, + "5" : { "x" : 6.47, "y" : 17.34 }, + "6" : { "x" : 15.50, "y" : -0.00 }, + "7" : { "x" : 31.36, "y" : -6.20 }, + "8" : { "x" : 31.36, "y" : 6.20 }, + "9" : { "x" : 36.39, "y" : -9.79 }, + "10" : { "x" : 36.39, "y" : 9.79 }, + "11" : { "x" : 35.58, "y" : 0.54 } + }, + { + "index" : 4, + "ball" : { "x" : -31.36, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.28, "y" : -3.97 }, + "3" : { "x" : -41.19, "y" : 3.97 }, + "4" : { "x" : -40.38, "y" : -8.74 }, + "5" : { "x" : -40.02, "y" : 8.47 }, + "6" : { "x" : -41.46, "y" : -0.27 }, + "7" : { "x" : -34.88, "y" : -9.10 }, + "8" : { "x" : -34.34, "y" : 9.19 }, + "9" : { "x" : -10.86, "y" : -21.61 }, + "10" : { "x" : -10.75, "y" : 21.75 }, + "11" : { "x" : -19.20, "y" : 0.27 } + }, + { + "index" : 5, + "ball" : { "x" : 22.08, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.09, "y" : -9.37 }, + "3" : { "x" : 0.18, "y" : 7.75 }, + "4" : { "x" : 0.09, "y" : -19.47 }, + "5" : { "x" : 0.27, "y" : 19.02 }, + "6" : { "x" : 1.35, "y" : 0.00 }, + "7" : { "x" : 10.63, "y" : -6.13 }, + "8" : { "x" : 10.45, "y" : 5.50 }, + "9" : { "x" : 13.16, "y" : -10.72 }, + "10" : { "x" : 13.43, "y" : 11.36 }, + "11" : { "x" : 10.63, "y" : -0.27 } + }, + { + "index" : 6, + "ball" : { "x" : 11.72, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.25, "y" : -6.67 }, + "3" : { "x" : -2.61, "y" : 4.60 }, + "4" : { "x" : -1.53, "y" : -14.15 }, + "5" : { "x" : -1.44, "y" : 14.78 }, + "6" : { "x" : -1.44, "y" : -0.18 }, + "7" : { "x" : 1.98, "y" : -8.92 }, + "8" : { "x" : 1.71, "y" : 8.56 }, + "9" : { "x" : 7.84, "y" : -13.16 }, + "10" : { "x" : 8.65, "y" : 12.89 }, + "11" : { "x" : 0.99, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : -15.95, "y" : -22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.75, "y" : -17.21 }, + "3" : { "x" : -28.57, "y" : -6.02 }, + "4" : { "x" : -28.66, "y" : -24.78 }, + "5" : { "x" : -28.30, "y" : 4.67 }, + "6" : { "x" : -25.34, "y" : -11.68 }, + "7" : { "x" : -25.88, "y" : -20.30 }, + "8" : { "x" : -21.02, "y" : -7.10 }, + "9" : { "x" : 0.09, "y" : -24.26 }, + "10" : { "x" : 2.02, "y" : 15.41 }, + "11" : { "x" : -12.76, "y" : -6.65 } + }, + { + "index" : 8, + "ball" : { "x" : -15.95, "y" : 22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.57, "y" : 6.02 }, + "3" : { "x" : -28.75, "y" : 17.21 }, + "4" : { "x" : -28.30, "y" : -4.67 }, + "5" : { "x" : -28.66, "y" : 24.78 }, + "6" : { "x" : -25.34, "y" : 11.68 }, + "7" : { "x" : -21.02, "y" : 7.10 }, + "8" : { "x" : -25.88, "y" : 20.30 }, + "9" : { "x" : 2.02, "y" : -15.41 }, + "10" : { "x" : 0.09, "y" : 24.26 }, + "11" : { "x" : -12.76, "y" : 6.65 } + }, + { + "index" : 9, + "ball" : { "x" : 30.73, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -11.95 }, + "3" : { "x" : 0.09, "y" : 0.63 }, + "4" : { "x" : 0.45, "y" : -25.43 }, + "5" : { "x" : 3.05, "y" : 8.45 }, + "6" : { "x" : 8.27, "y" : -18.15 }, + "7" : { "x" : 18.60, "y" : -28.03 }, + "8" : { "x" : 22.55, "y" : -14.64 }, + "9" : { "x" : 20.84, "y" : -33.15 }, + "10" : { "x" : 29.56, "y" : -5.66 }, + "11" : { "x" : 23.09, "y" : -22.91 } + }, + { + "index" : 10, + "ball" : { "x" : 30.73, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.63 }, + "3" : { "x" : 0.18, "y" : 11.95 }, + "4" : { "x" : 3.05, "y" : -8.45 }, + "5" : { "x" : 0.45, "y" : 25.43 }, + "6" : { "x" : 8.27, "y" : 18.15 }, + "7" : { "x" : 22.55, "y" : 14.64 }, + "8" : { "x" : 18.60, "y" : 28.03 }, + "9" : { "x" : 29.56, "y" : 5.66 }, + "10" : { "x" : 20.84, "y" : 33.15 }, + "11" : { "x" : 23.09, "y" : 22.91 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.64, "y" : -14.73 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.33, "y" : -23.81 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -34.41, "y" : -31.45 }, + "10" : { "x" : -13.66, "y" : 14.20 }, + "11" : { "x" : -15.54, "y" : -11.23 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.64, "y" : 14.73 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.33, "y" : 23.81 }, + "9" : { "x" : -13.66, "y" : -14.20 }, + "10" : { "x" : -34.41, "y" : 31.45 }, + "11" : { "x" : -15.54, "y" : 11.23 } + }, + { + "index" : 13, + "ball" : { "x" : -35.51, "y" : -20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.85, "y" : -6.47 }, + "3" : { "x" : -35.94, "y" : -0.54 }, + "4" : { "x" : -35.51, "y" : -10.18 }, + "5" : { "x" : -35.85, "y" : 6.83 }, + "6" : { "x" : -31.54, "y" : -9.91 }, + "7" : { "x" : -26.05, "y" : -14.96 }, + "8" : { "x" : -28.84, "y" : -0.72 }, + "9" : { "x" : -21.72, "y" : -27.22 }, + "10" : { "x" : -4.96, "y" : 16.58 }, + "11" : { "x" : -12.35, "y" : -9.19 } + }, + { + "index" : 14, + "ball" : { "x" : -35.51, "y" : 20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.94, "y" : 0.54 }, + "3" : { "x" : -35.85, "y" : 6.47 }, + "4" : { "x" : -35.85, "y" : -6.83 }, + "5" : { "x" : -35.51, "y" : 10.18 }, + "6" : { "x" : -31.54, "y" : 9.91 }, + "7" : { "x" : -28.84, "y" : 0.72 }, + "8" : { "x" : -26.05, "y" : 14.96 }, + "9" : { "x" : -4.96, "y" : -16.58 }, + "10" : { "x" : -21.72, "y" : 27.22 }, + "11" : { "x" : -12.35, "y" : 9.19 } + }, + { + "index" : 15, + "ball" : { "x" : 40.11, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.63, "y" : -13.93 }, + "3" : { "x" : 0.45, "y" : -1.08 }, + "4" : { "x" : 9.70, "y" : -29.65 }, + "5" : { "x" : 4.94, "y" : 5.48 }, + "6" : { "x" : 11.18, "y" : -14.06 }, + "7" : { "x" : 26.50, "y" : -27.94 }, + "8" : { "x" : 29.92, "y" : -16.62 }, + "9" : { "x" : 31.09, "y" : -34.70 }, + "10" : { "x" : 32.43, "y" : -4.67 }, + "11" : { "x" : 31.98, "y" : -25.52 } + }, + { + "index" : 16, + "ball" : { "x" : 40.11, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.45, "y" : 1.08 }, + "3" : { "x" : -0.63, "y" : 13.93 }, + "4" : { "x" : 4.94, "y" : -5.48 }, + "5" : { "x" : 9.70, "y" : 29.65 }, + "6" : { "x" : 11.18, "y" : 14.06 }, + "7" : { "x" : 29.92, "y" : 16.62 }, + "8" : { "x" : 26.50, "y" : 27.94 }, + "9" : { "x" : 32.43, "y" : 4.67 }, + "10" : { "x" : 31.09, "y" : 34.70 }, + "11" : { "x" : 31.98, "y" : 25.52 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 12.58, "y" : -26.14 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 20.39, "y" : -13.39 }, + "7" : { "x" : 35.49, "y" : -27.13 }, + "8" : { "x" : 35.49, "y" : -9.70 }, + "9" : { "x" : 39.53, "y" : -32.88 }, + "10" : { "x" : 46.00, "y" : -11.32 }, + "11" : { "x" : 37.20, "y" : -20.21 } + }, + { + "index" : 18, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 12.58, "y" : 26.14 }, + "6" : { "x" : 20.39, "y" : 13.39 }, + "7" : { "x" : 35.49, "y" : 9.70 }, + "8" : { "x" : 35.49, "y" : 27.13 }, + "9" : { "x" : 46.00, "y" : 11.32 }, + "10" : { "x" : 39.53, "y" : 32.88 }, + "11" : { "x" : 37.20, "y" : 20.21 } + }, + { + "index" : 19, + "ball" : { "x" : 19.65, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.44, "y" : -23.27 }, + "3" : { "x" : -0.36, "y" : -0.63 }, + "4" : { "x" : -0.45, "y" : -32.99 }, + "5" : { "x" : -0.09, "y" : 10.51 }, + "6" : { "x" : 1.17, "y" : -17.16 }, + "7" : { "x" : 2.34, "y" : -27.67 }, + "8" : { "x" : 8.36, "y" : -11.86 }, + "9" : { "x" : 10.27, "y" : -29.92 }, + "10" : { "x" : 15.18, "y" : -1.26 }, + "11" : { "x" : 12.85, "y" : -22.73 } + }, + { + "index" : 20, + "ball" : { "x" : 19.65, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.36, "y" : 0.63 }, + "3" : { "x" : -1.44, "y" : 23.27 }, + "4" : { "x" : -0.09, "y" : -10.51 }, + "5" : { "x" : -0.45, "y" : 32.99 }, + "6" : { "x" : 1.17, "y" : 17.16 }, + "7" : { "x" : 8.36, "y" : 11.86 }, + "8" : { "x" : 2.34, "y" : 27.67 }, + "9" : { "x" : 15.18, "y" : 1.26 }, + "10" : { "x" : 10.27, "y" : 29.92 }, + "11" : { "x" : 12.85, "y" : 22.73 } + }, + { + "index" : 21, + "ball" : { "x" : 0.27, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.57, "y" : -23.88 }, + "3" : { "x" : -18.93, "y" : -8.47 }, + "4" : { "x" : -15.68, "y" : -32.72 }, + "5" : { "x" : -15.77, "y" : 4.15 }, + "6" : { "x" : -12.98, "y" : -19.20 }, + "7" : { "x" : -12.08, "y" : -27.58 }, + "8" : { "x" : -6.67, "y" : -7.48 }, + "9" : { "x" : -6.58, "y" : -22.80 }, + "10" : { "x" : 8.56, "y" : 9.37 }, + "11" : { "x" : 0.09, "y" : -18.75 } + }, + { + "index" : 22, + "ball" : { "x" : 0.27, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.93, "y" : 8.47 }, + "3" : { "x" : -18.57, "y" : 23.88 }, + "4" : { "x" : -15.77, "y" : -4.15 }, + "5" : { "x" : -15.68, "y" : 32.72 }, + "6" : { "x" : -12.98, "y" : 19.20 }, + "7" : { "x" : -6.67, "y" : 7.48 }, + "8" : { "x" : -12.08, "y" : 27.58 }, + "9" : { "x" : 8.56, "y" : -9.37 }, + "10" : { "x" : -6.58, "y" : 22.80 }, + "11" : { "x" : 0.09, "y" : 18.75 } + }, + { + "index" : 23, + "ball" : { "x" : 5.59, "y" : -11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.36, "y" : -12.85 }, + "3" : { "x" : -7.10, "y" : -4.40 }, + "4" : { "x" : -6.92, "y" : -21.11 }, + "5" : { "x" : -5.59, "y" : 6.22 }, + "6" : { "x" : -5.12, "y" : -10.24 }, + "7" : { "x" : -5.57, "y" : -17.61 }, + "8" : { "x" : -1.98, "y" : -1.26 }, + "9" : { "x" : -3.05, "y" : -19.68 }, + "10" : { "x" : 13.16, "y" : 16.76 }, + "11" : { "x" : 6.94, "y" : -1.17 } + }, + { + "index" : 24, + "ball" : { "x" : 5.59, "y" : 11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.10, "y" : 4.40 }, + "3" : { "x" : -8.36, "y" : 12.85 }, + "4" : { "x" : -5.59, "y" : -6.22 }, + "5" : { "x" : -6.92, "y" : 21.11 }, + "6" : { "x" : -5.12, "y" : 10.24 }, + "7" : { "x" : -1.98, "y" : 1.26 }, + "8" : { "x" : -5.57, "y" : 17.61 }, + "9" : { "x" : 13.16, "y" : -16.76 }, + "10" : { "x" : -3.05, "y" : 19.68 }, + "11" : { "x" : 6.94, "y" : 1.17 } + }, + { + "index" : 25, + "ball" : { "x" : 5.32, "y" : -20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.61, "y" : -19.50 }, + "3" : { "x" : -7.66, "y" : -7.93 }, + "4" : { "x" : -8.45, "y" : -27.04 }, + "5" : { "x" : -7.12, "y" : 5.05 }, + "6" : { "x" : -6.94, "y" : -13.52 }, + "7" : { "x" : -6.65, "y" : -23.36 }, + "8" : { "x" : -0.72, "y" : -4.15 }, + "9" : { "x" : -5.93, "y" : -18.42 }, + "10" : { "x" : 11.43, "y" : 14.05 }, + "11" : { "x" : 5.59, "y" : -8.29 } + }, + { + "index" : 26, + "ball" : { "x" : 5.32, "y" : 20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.66, "y" : 7.93 }, + "3" : { "x" : -9.61, "y" : 19.50 }, + "4" : { "x" : -7.12, "y" : -5.05 }, + "5" : { "x" : -8.45, "y" : 27.04 }, + "6" : { "x" : -6.94, "y" : 13.52 }, + "7" : { "x" : -0.72, "y" : 4.15 }, + "8" : { "x" : -6.65, "y" : 23.36 }, + "9" : { "x" : 11.43, "y" : -14.05 }, + "10" : { "x" : -5.93, "y" : 18.42 }, + "11" : { "x" : 5.59, "y" : 8.29 } + }, + { + "index" : 27, + "ball" : { "x" : 6.04, "y" : -27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -6.02, "y" : -21.65 }, + "3" : { "x" : -5.77, "y" : -10.36 }, + "4" : { "x" : -6.65, "y" : -29.47 }, + "5" : { "x" : -4.69, "y" : 1.98 }, + "6" : { "x" : -2.34, "y" : -16.53 }, + "7" : { "x" : -4.04, "y" : -25.43 }, + "8" : { "x" : 0.81, "y" : -3.70 }, + "9" : { "x" : -1.35, "y" : -21.02 }, + "10" : { "x" : 11.65, "y" : 12.19 }, + "11" : { "x" : 8.47, "y" : -14.06 } + }, + { + "index" : 28, + "ball" : { "x" : 6.04, "y" : 27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.77, "y" : 10.36 }, + "3" : { "x" : -6.02, "y" : 21.65 }, + "4" : { "x" : -4.69, "y" : -1.98 }, + "5" : { "x" : -6.65, "y" : 29.47 }, + "6" : { "x" : -2.34, "y" : 16.53 }, + "7" : { "x" : 0.81, "y" : 3.70 }, + "8" : { "x" : -4.04, "y" : 25.43 }, + "9" : { "x" : 11.65, "y" : -12.19 }, + "10" : { "x" : -1.35, "y" : 21.02 }, + "11" : { "x" : 8.47, "y" : 14.06 } + }, + { + "index" : 29, + "ball" : { "x" : 43.71, "y" : -26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 3.15, "y" : -22.59 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 18.69, "y" : -12.31 }, + "7" : { "x" : 27.58, "y" : -23.72 }, + "8" : { "x" : 32.70, "y" : -10.78 }, + "9" : { "x" : 31.36, "y" : -28.03 }, + "10" : { "x" : 40.79, "y" : -5.75 }, + "11" : { "x" : 31.98, "y" : -19.50 } + }, + { + "index" : 30, + "ball" : { "x" : 43.71, "y" : 26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 3.15, "y" : 22.59 }, + "6" : { "x" : 18.69, "y" : 12.31 }, + "7" : { "x" : 32.70, "y" : 10.78 }, + "8" : { "x" : 27.58, "y" : 23.72 }, + "9" : { "x" : 40.79, "y" : 5.75 }, + "10" : { "x" : 31.36, "y" : 28.03 }, + "11" : { "x" : 31.98, "y" : 19.50 } + }, + { + "index" : 31, + "ball" : { "x" : 21.90, "y" : -12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.08, "y" : -11.13 }, + "3" : { "x" : 0.03, "y" : 2.01 }, + "4" : { "x" : 0.18, "y" : -23.54 }, + "5" : { "x" : 0.45, "y" : 13.08 }, + "6" : { "x" : 7.55, "y" : -6.20 }, + "7" : { "x" : 7.28, "y" : -16.26 }, + "8" : { "x" : 11.50, "y" : -1.71 }, + "9" : { "x" : 11.86, "y" : -21.47 }, + "10" : { "x" : 21.65, "y" : 15.00 }, + "11" : { "x" : 10.42, "y" : -11.05 } + }, + { + "index" : 32, + "ball" : { "x" : 21.90, "y" : 12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.03, "y" : -2.01 }, + "3" : { "x" : 0.08, "y" : 11.13 }, + "4" : { "x" : 0.45, "y" : -13.08 }, + "5" : { "x" : 0.18, "y" : 23.54 }, + "6" : { "x" : 7.55, "y" : 6.20 }, + "7" : { "x" : 11.50, "y" : 1.71 }, + "8" : { "x" : 7.28, "y" : 16.26 }, + "9" : { "x" : 21.65, "y" : -15.00 }, + "10" : { "x" : 11.86, "y" : 21.47 }, + "11" : { "x" : 10.42, "y" : 11.05 } + }, + { + "index" : 33, + "ball" : { "x" : 21.27, "y" : -21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -13.61 }, + "3" : { "x" : 0.27, "y" : -3.24 }, + "4" : { "x" : -0.18, "y" : -27.58 }, + "5" : { "x" : 0.54, "y" : 8.56 }, + "6" : { "x" : 9.55, "y" : -10.09 }, + "7" : { "x" : 7.75, "y" : -20.55 }, + "8" : { "x" : 12.71, "y" : -7.39 }, + "9" : { "x" : 9.91, "y" : -25.05 }, + "10" : { "x" : 20.64, "y" : -0.99 }, + "11" : { "x" : 9.64, "y" : -16.49 } + }, + { + "index" : 34, + "ball" : { "x" : 21.27, "y" : 21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.27, "y" : 3.24 }, + "3" : { "x" : 0.18, "y" : 13.61 }, + "4" : { "x" : 0.54, "y" : -8.56 }, + "5" : { "x" : -0.18, "y" : 27.58 }, + "6" : { "x" : 9.55, "y" : 10.09 }, + "7" : { "x" : 12.71, "y" : 7.39 }, + "8" : { "x" : 7.75, "y" : 20.55 }, + "9" : { "x" : 20.64, "y" : 0.99 }, + "10" : { "x" : 9.91, "y" : 25.05 }, + "11" : { "x" : 9.64, "y" : 16.49 } + }, + { + "index" : 35, + "ball" : { "x" : 35.69, "y" : -8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.45, "y" : -10.42 }, + "3" : { "x" : 0.63, "y" : 3.50 }, + "4" : { "x" : 3.45, "y" : -20.89 }, + "5" : { "x" : 5.09, "y" : 13.48 }, + "6" : { "x" : 9.25, "y" : -3.23 }, + "7" : { "x" : 22.01, "y" : -14.46 }, + "8" : { "x" : 23.09, "y" : -3.41 }, + "9" : { "x" : 25.79, "y" : -17.88 }, + "10" : { "x" : 26.32, "y" : 3.68 }, + "11" : { "x" : 24.51, "y" : -8.92 } + }, + { + "index" : 36, + "ball" : { "x" : 35.69, "y" : 8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.63, "y" : -3.50 }, + "3" : { "x" : -0.45, "y" : 10.42 }, + "4" : { "x" : 5.09, "y" : -13.48 }, + "5" : { "x" : 3.45, "y" : 20.89 }, + "6" : { "x" : 9.25, "y" : 3.23 }, + "7" : { "x" : 23.09, "y" : 3.41 }, + "8" : { "x" : 22.01, "y" : 14.46 }, + "9" : { "x" : 26.32, "y" : -3.68 }, + "10" : { "x" : 25.79, "y" : 17.88 }, + "11" : { "x" : 24.51, "y" : 8.92 } + }, + { + "index" : 37, + "ball" : { "x" : 31.00, "y" : -28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -10.36 }, + "3" : { "x" : 2.88, "y" : 0.27 }, + "4" : { "x" : 0.36, "y" : -22.89 }, + "5" : { "x" : 9.88, "y" : 9.61 }, + "6" : { "x" : 10.42, "y" : -9.34 }, + "7" : { "x" : 17.66, "y" : -23.88 }, + "8" : { "x" : 22.64, "y" : -15.18 }, + "9" : { "x" : 18.39, "y" : -28.75 }, + "10" : { "x" : 25.34, "y" : -2.16 }, + "11" : { "x" : 19.56, "y" : -19.47 } + }, + { + "index" : 38, + "ball" : { "x" : 31.00, "y" : 28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.88, "y" : -0.27 }, + "3" : { "x" : 0.18, "y" : 10.36 }, + "4" : { "x" : 9.88, "y" : -9.61 }, + "5" : { "x" : 0.36, "y" : 22.89 }, + "6" : { "x" : 10.42, "y" : 9.34 }, + "7" : { "x" : 22.64, "y" : 15.18 }, + "8" : { "x" : 17.66, "y" : 23.88 }, + "9" : { "x" : 25.34, "y" : 2.16 }, + "10" : { "x" : 18.39, "y" : 28.75 }, + "11" : { "x" : 19.56, "y" : 19.47 } + }, + { + "index" : 39, + "ball" : { "x" : -25.96, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -38.99, "y" : -16.71 }, + "3" : { "x" : -37.91, "y" : -6.56 }, + "4" : { "x" : -39.53, "y" : -27.31 }, + "5" : { "x" : -36.57, "y" : 4.94 }, + "6" : { "x" : -32.43, "y" : -17.43 }, + "7" : { "x" : -34.23, "y" : -24.89 }, + "8" : { "x" : -19.65, "y" : -5.68 }, + "9" : { "x" : -25.25, "y" : -22.37 }, + "10" : { "x" : 0.05, "y" : 16.07 }, + "11" : { "x" : -2.05, "y" : -11.45 } + }, + { + "index" : 40, + "ball" : { "x" : -25.96, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -37.91, "y" : 6.56 }, + "3" : { "x" : -38.99, "y" : 16.71 }, + "4" : { "x" : -36.57, "y" : -4.94 }, + "5" : { "x" : -39.53, "y" : 27.31 }, + "6" : { "x" : -32.43, "y" : 17.43 }, + "7" : { "x" : -19.65, "y" : 5.68 }, + "8" : { "x" : -34.23, "y" : 24.89 }, + "9" : { "x" : 0.05, "y" : -16.07 }, + "10" : { "x" : -25.25, "y" : 22.37 }, + "11" : { "x" : -2.05, "y" : 11.45 } + }, + { + "index" : 41, + "ball" : { "x" : -34.70, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.42, "y" : -16.67 }, + "3" : { "x" : -41.17, "y" : -6.38 }, + "4" : { "x" : -43.38, "y" : -26.20 }, + "5" : { "x" : -42.27, "y" : 5.02 }, + "6" : { "x" : -40.74, "y" : -16.42 }, + "7" : { "x" : -38.70, "y" : -22.37 }, + "8" : { "x" : -26.68, "y" : -5.30 }, + "9" : { "x" : -30.37, "y" : -23.56 }, + "10" : { "x" : -6.21, "y" : 10.04 }, + "11" : { "x" : -15.91, "y" : -13.86 } + }, + { + "index" : 42, + "ball" : { "x" : -34.70, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.17, "y" : 6.38 }, + "3" : { "x" : -45.42, "y" : 16.67 }, + "4" : { "x" : -42.27, "y" : -5.02 }, + "5" : { "x" : -43.38, "y" : 26.20 }, + "6" : { "x" : -40.74, "y" : 16.42 }, + "7" : { "x" : -26.68, "y" : 5.30 }, + "8" : { "x" : -38.70, "y" : 22.37 }, + "9" : { "x" : -6.21, "y" : -10.04 }, + "10" : { "x" : -30.37, "y" : 23.56 }, + "11" : { "x" : -15.91, "y" : 13.86 } + }, + { + "index" : 43, + "ball" : { "x" : -16.13, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.37, "y" : -20.37 }, + "3" : { "x" : -29.74, "y" : -7.57 }, + "4" : { "x" : -30.19, "y" : -31.27 }, + "5" : { "x" : -25.42, "y" : 2.88 }, + "6" : { "x" : -24.53, "y" : -18.78 }, + "7" : { "x" : -26.86, "y" : -26.50 }, + "8" : { "x" : -14.15, "y" : -4.87 }, + "9" : { "x" : -17.07, "y" : -21.11 }, + "10" : { "x" : 3.10, "y" : 15.08 }, + "11" : { "x" : 0.51, "y" : -11.31 } + }, + { + "index" : 44, + "ball" : { "x" : -16.13, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -29.74, "y" : 7.57 }, + "3" : { "x" : -30.37, "y" : 20.37 }, + "4" : { "x" : -25.42, "y" : -2.88 }, + "5" : { "x" : -30.19, "y" : 31.27 }, + "6" : { "x" : -24.53, "y" : 18.78 }, + "7" : { "x" : -14.15, "y" : 4.87 }, + "8" : { "x" : -26.86, "y" : 26.50 }, + "9" : { "x" : 3.10, "y" : -15.08 }, + "10" : { "x" : -17.07, "y" : 21.11 }, + "11" : { "x" : 0.51, "y" : 11.31 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-keeper/setplay-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-keeper/setplay-our-formation.conf new file mode 100644 index 0000000..8ea60e5 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-keeper/setplay-our-formation.conf @@ -0,0 +1,775 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 36.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 15.24, "y" : 0.48 }, + "7" : { "x" : 27.75, "y" : -8.10 }, + "8" : { "x" : 28.10, "y" : 9.76 }, + "9" : { "x" : 35.96, "y" : -16.20 }, + "10" : { "x" : 36.56, "y" : 16.91 }, + "11" : { "x" : 35.61, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.99, "y" : -0.71 }, + "3" : { "x" : -42.91, "y" : 4.21 }, + "4" : { "x" : -42.31, "y" : -7.69 }, + "5" : { "x" : -42.91, "y" : 9.01 }, + "6" : { "x" : -36.66, "y" : 0.36 }, + "7" : { "x" : -33.41, "y" : -10.82 }, + "8" : { "x" : -31.61, "y" : 10.94 }, + "9" : { "x" : -15.48, "y" : -29.41 }, + "10" : { "x" : -17.51, "y" : 27.15 }, + "11" : { "x" : -18.27, "y" : -0.36 } + }, + { + "index" : 4, + "ball" : { "x" : -26.95, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.96, "y" : -1.91 }, + "3" : { "x" : -30.25, "y" : 7.74 }, + "4" : { "x" : -29.90, "y" : -11.32 }, + "5" : { "x" : -28.25, "y" : 16.41 }, + "6" : { "x" : -15.27, "y" : -7.63 }, + "7" : { "x" : -17.43, "y" : -23.41 }, + "8" : { "x" : -15.52, "y" : 9.16 }, + "9" : { "x" : -4.76, "y" : -27.75 }, + "10" : { "x" : -5.34, "y" : 26.47 }, + "11" : { "x" : -0.51, "y" : 0.51 } + }, + { + "index" : 5, + "ball" : { "x" : -17.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.22, "y" : -1.67 }, + "3" : { "x" : -23.20, "y" : 3.73 }, + "4" : { "x" : -22.84, "y" : -8.89 }, + "5" : { "x" : -22.96, "y" : 12.26 }, + "6" : { "x" : -16.10, "y" : 1.20 }, + "7" : { "x" : -11.90, "y" : -4.69 }, + "8" : { "x" : -10.94, "y" : 6.37 }, + "9" : { "x" : 1.20, "y" : -15.38 }, + "10" : { "x" : 0.12, "y" : 18.51 }, + "11" : { "x" : 2.40, "y" : 0.00 } + }, + { + "index" : 6, + "ball" : { "x" : 7.67, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.90, "y" : -5.31 }, + "3" : { "x" : -6.02, "y" : 5.19 }, + "4" : { "x" : -3.07, "y" : -16.04 }, + "5" : { "x" : -2.95, "y" : 16.39 }, + "6" : { "x" : 6.25, "y" : -0.36 }, + "7" : { "x" : 11.66, "y" : -5.77 }, + "8" : { "x" : 11.78, "y" : 6.13 }, + "9" : { "x" : 21.76, "y" : -22.52 }, + "10" : { "x" : 22.78, "y" : 23.54 }, + "11" : { "x" : 17.43, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : 49.50, "y" : -20.51 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.00, "y" : -8.85 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.00, "y" : 15.50 }, + "6" : { "x" : 21.04, "y" : -6.95 }, + "7" : { "x" : 32.80, "y" : -18.96 }, + "8" : { "x" : 35.10, "y" : 0.46 }, + "9" : { "x" : 45.46, "y" : -24.17 }, + "10" : { "x" : 44.84, "y" : 10.61 }, + "11" : { "x" : 45.68, "y" : -10.85 } + }, + { + "index" : 8, + "ball" : { "x" : 49.50, "y" : 20.51 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 3.00, "y" : 8.85 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 21.04, "y" : 6.95 }, + "7" : { "x" : 35.10, "y" : -0.46 }, + "8" : { "x" : 32.80, "y" : 18.96 }, + "9" : { "x" : 44.84, "y" : -10.61 }, + "10" : { "x" : 45.46, "y" : 24.17 }, + "11" : { "x" : 45.68, "y" : 10.85 } + }, + { + "index" : 9, + "ball" : { "x" : -54.00, "y" : -10.00 }, + "1" : { "x" : -50.57, "y" : -6.44 }, + "2" : { "x" : -48.18, "y" : -5.96 }, + "3" : { "x" : -48.06, "y" : -1.07 }, + "4" : { "x" : -49.50, "y" : -9.06 }, + "5" : { "x" : -47.94, "y" : 4.06 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -31.39, "y" : 8.23 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -20.87, "y" : -8.59 } + }, + { + "index" : 10, + "ball" : { "x" : -54.00, "y" : 10.00 }, + "1" : { "x" : -50.57, "y" : 6.44 }, + "2" : { "x" : -48.06, "y" : 1.07 }, + "3" : { "x" : -48.18, "y" : 5.96 }, + "4" : { "x" : -47.94, "y" : -4.06 }, + "5" : { "x" : -49.50, "y" : 9.06 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -31.39, "y" : -8.23 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -20.87, "y" : 8.59 } + }, + { + "index" : 11, + "ball" : { "x" : -6.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.67, "y" : -0.25 }, + "3" : { "x" : -14.00, "y" : 4.58 }, + "4" : { "x" : -13.23, "y" : -12.34 }, + "5" : { "x" : -8.91, "y" : 12.34 }, + "6" : { "x" : -5.09, "y" : -9.92 }, + "7" : { "x" : -0.51, "y" : -21.38 }, + "8" : { "x" : 1.65, "y" : 11.71 }, + "9" : { "x" : 10.26, "y" : -24.00 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 4.84, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -12.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -19.35, "y" : -3.12 }, + "3" : { "x" : -19.11, "y" : 3.00 }, + "4" : { "x" : -17.91, "y" : -11.18 }, + "5" : { "x" : -17.55, "y" : 11.06 }, + "6" : { "x" : -13.22, "y" : 0.12 }, + "7" : { "x" : -6.97, "y" : -6.85 }, + "8" : { "x" : -7.57, "y" : 5.29 }, + "9" : { "x" : 1.92, "y" : -21.51 }, + "10" : { "x" : 0.84, "y" : 22.23 }, + "11" : { "x" : 5.65, "y" : 0.36 } + }, + { + "index" : 13, + "ball" : { "x" : 35.78, "y" : -9.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 16.55, "y" : -2.26 }, + "7" : { "x" : 21.79, "y" : -15.36 }, + "8" : { "x" : 26.44, "y" : 1.07 }, + "9" : { "x" : 35.73, "y" : -17.03 }, + "10" : { "x" : 35.13, "y" : 8.57 }, + "11" : { "x" : 33.94, "y" : -8.57 } + }, + { + "index" : 14, + "ball" : { "x" : 35.78, "y" : 9.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -7.33 }, + "3" : { "x" : 2.16, "y" : 8.65 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 16.55, "y" : 2.26 }, + "7" : { "x" : 26.44, "y" : -1.07 }, + "8" : { "x" : 21.79, "y" : 15.36 }, + "9" : { "x" : 35.13, "y" : -8.57 }, + "10" : { "x" : 35.73, "y" : 17.03 }, + "11" : { "x" : 33.94, "y" : 8.57 } + }, + { + "index" : 15, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 16, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 17, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.51, "y" : -22.27 }, + "3" : { "x" : -18.01, "y" : -8.59 }, + "4" : { "x" : -13.46, "y" : -32.39 }, + "5" : { "x" : -18.72, "y" : 4.06 }, + "6" : { "x" : -7.50, "y" : -15.36 }, + "7" : { "x" : -8.65, "y" : -28.96 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 4.17, "y" : -31.84 }, + "10" : { "x" : 0.95, "y" : 18.25 }, + "11" : { "x" : 5.48, "y" : -7.15 } + }, + { + "index" : 18, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.01, "y" : 8.59 }, + "3" : { "x" : -17.51, "y" : 22.27 }, + "4" : { "x" : -18.72, "y" : -4.06 }, + "5" : { "x" : -13.46, "y" : 32.39 }, + "6" : { "x" : -7.50, "y" : 15.36 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -7.57, "y" : 30.17 }, + "9" : { "x" : 0.95, "y" : -18.25 }, + "10" : { "x" : 4.17, "y" : 31.84 }, + "11" : { "x" : 5.48, "y" : 7.15 } + }, + { + "index" : 19, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -37.79, "y" : -14.51 }, + "3" : { "x" : -38.05, "y" : -7.25 }, + "4" : { "x" : -36.32, "y" : -30.49 }, + "5" : { "x" : -37.92, "y" : 1.27 }, + "6" : { "x" : -30.54, "y" : -19.34 }, + "7" : { "x" : -26.08, "y" : -24.69 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -12.72, "y" : -32.32 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 20, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.05, "y" : 7.25 }, + "3" : { "x" : -37.79, "y" : 14.51 }, + "4" : { "x" : -37.92, "y" : -1.27 }, + "5" : { "x" : -36.32, "y" : 30.49 }, + "6" : { "x" : -30.54, "y" : 19.34 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.08, "y" : 24.69 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -12.72, "y" : 32.32 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 21, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 22, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 23, + "ball" : { "x" : -17.50, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.59, "y" : -10.18 }, + "3" : { "x" : -26.47, "y" : -3.94 }, + "4" : { "x" : -26.72, "y" : -14.63 }, + "5" : { "x" : -26.21, "y" : 2.54 }, + "6" : { "x" : -19.98, "y" : -11.07 }, + "7" : { "x" : -17.43, "y" : -18.96 }, + "8" : { "x" : -15.27, "y" : -1.40 }, + "9" : { "x" : -4.07, "y" : -30.92 }, + "10" : { "x" : -1.02, "y" : 17.69 }, + "11" : { "x" : -3.82, "y" : -10.69 } + }, + { + "index" : 24, + "ball" : { "x" : -17.50, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.47, "y" : 3.94 }, + "3" : { "x" : -26.59, "y" : 10.18 }, + "4" : { "x" : -26.21, "y" : -2.54 }, + "5" : { "x" : -26.72, "y" : 14.63 }, + "6" : { "x" : -19.98, "y" : 11.07 }, + "7" : { "x" : -15.27, "y" : 1.40 }, + "8" : { "x" : -17.43, "y" : 18.96 }, + "9" : { "x" : -1.02, "y" : -17.69 }, + "10" : { "x" : -4.07, "y" : 30.92 }, + "11" : { "x" : -3.82, "y" : 10.69 } + }, + { + "index" : 25, + "ball" : { "x" : 36.08, "y" : -20.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.34 }, + "6" : { "x" : 17.57, "y" : -12.21 }, + "7" : { "x" : 32.96, "y" : -16.03 }, + "8" : { "x" : 28.91, "y" : -1.62 }, + "9" : { "x" : 38.94, "y" : -20.74 }, + "10" : { "x" : 39.06, "y" : 2.16 }, + "11" : { "x" : 37.92, "y" : -10.18 } + }, + { + "index" : 26, + "ball" : { "x" : 36.08, "y" : 20.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.34 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 17.57, "y" : 12.21 }, + "7" : { "x" : 28.91, "y" : 1.62 }, + "8" : { "x" : 32.96, "y" : 16.03 }, + "9" : { "x" : 39.06, "y" : -2.16 }, + "10" : { "x" : 38.94, "y" : 20.74 }, + "11" : { "x" : 37.92, "y" : 10.18 } + }, + { + "index" : 27, + "ball" : { "x" : -26.95, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.25, "y" : -11.07 }, + "3" : { "x" : -29.69, "y" : -2.28 }, + "4" : { "x" : -29.81, "y" : -18.03 }, + "5" : { "x" : -26.92, "y" : 7.69 }, + "6" : { "x" : -21.75, "y" : -7.69 }, + "7" : { "x" : -18.87, "y" : -29.81 }, + "8" : { "x" : -12.50, "y" : 5.05 }, + "9" : { "x" : -4.64, "y" : -30.01 }, + "10" : { "x" : -3.73, "y" : 23.56 }, + "11" : { "x" : -6.61, "y" : -10.94 } + }, + { + "index" : 28, + "ball" : { "x" : -26.95, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.69, "y" : 2.28 }, + "3" : { "x" : -30.25, "y" : 11.07 }, + "4" : { "x" : -26.92, "y" : -7.69 }, + "5" : { "x" : -29.81, "y" : 18.03 }, + "6" : { "x" : -21.75, "y" : 7.69 }, + "7" : { "x" : -12.50, "y" : -5.05 }, + "8" : { "x" : -18.87, "y" : 29.81 }, + "9" : { "x" : -3.73, "y" : -23.56 }, + "10" : { "x" : -4.64, "y" : 30.01 }, + "11" : { "x" : -6.61, "y" : 10.94 } + }, + { + "index" : 29, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.24, "y" : -6.80 }, + "3" : { "x" : -46.76, "y" : -0.19 }, + "4" : { "x" : -46.68, "y" : -16.79 }, + "5" : { "x" : -46.57, "y" : 4.31 }, + "6" : { "x" : -40.62, "y" : -8.41 }, + "7" : { "x" : -37.14, "y" : -28.12 }, + "8" : { "x" : -35.33, "y" : 4.21 }, + "9" : { "x" : -18.70, "y" : -31.91 }, + "10" : { "x" : -20.48, "y" : 23.10 }, + "11" : { "x" : -17.62, "y" : -9.17 } + }, + { + "index" : 30, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.76, "y" : 0.19 }, + "3" : { "x" : -47.24, "y" : 6.80 }, + "4" : { "x" : -46.57, "y" : -4.31 }, + "5" : { "x" : -46.68, "y" : 16.79 }, + "6" : { "x" : -40.62, "y" : 8.41 }, + "7" : { "x" : -35.33, "y" : -4.21 }, + "8" : { "x" : -37.14, "y" : 28.12 }, + "9" : { "x" : -20.48, "y" : -23.10 }, + "10" : { "x" : -18.70, "y" : 31.91 }, + "11" : { "x" : -17.62, "y" : 9.17 } + }, + { + "index" : 31, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -50.00, "y" : -0.02 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.06, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -21.03, "y" : -15.74 }, + "7" : { "x" : -24.04, "y" : -26.08 }, + "8" : { "x" : -15.24, "y" : -1.07 }, + "9" : { "x" : -4.96, "y" : -32.07 }, + "10" : { "x" : -7.86, "y" : 21.08 }, + "11" : { "x" : -0.24, "y" : -11.31 } + }, + { + "index" : 32, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -50.00, "y" : 0.02 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.06, "y" : 29.10 }, + "6" : { "x" : -21.03, "y" : 15.74 }, + "7" : { "x" : -15.24, "y" : 1.07 }, + "8" : { "x" : -24.04, "y" : 26.08 }, + "9" : { "x" : -7.86, "y" : -21.08 }, + "10" : { "x" : -4.96, "y" : 32.07 }, + "11" : { "x" : -0.24, "y" : 11.31 } + }, + { + "index" : 33, + "ball" : { "x" : 15.14, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.13, "y" : -4.07 }, + "3" : { "x" : 0.25, "y" : 4.45 }, + "4" : { "x" : 0.00, "y" : -16.13 }, + "5" : { "x" : 0.00, "y" : 16.13 }, + "6" : { "x" : 13.34, "y" : 0.24 }, + "7" : { "x" : 17.07, "y" : -7.45 }, + "8" : { "x" : 18.15, "y" : 6.85 }, + "9" : { "x" : 22.63, "y" : -28.94 }, + "10" : { "x" : 24.41, "y" : 28.34 }, + "11" : { "x" : 22.59, "y" : 0.12 } + }, + { + "index" : 34, + "ball" : { "x" : 23.26, "y" : -21.95 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.00, "y" : -15.44 }, + "3" : { "x" : 4.45, "y" : -1.20 }, + "4" : { "x" : 4.00, "y" : -25.21 }, + "5" : { "x" : 7.81, "y" : 9.98 }, + "6" : { "x" : 13.81, "y" : -12.62 }, + "7" : { "x" : 20.31, "y" : -21.63 }, + "8" : { "x" : 20.24, "y" : 1.31 }, + "9" : { "x" : 28.58, "y" : -31.08 }, + "10" : { "x" : 27.63, "y" : 19.29 }, + "11" : { "x" : 28.22, "y" : -12.15 } + }, + { + "index" : 35, + "ball" : { "x" : 23.26, "y" : 21.95 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.45, "y" : 1.20 }, + "3" : { "x" : 2.00, "y" : 15.44 }, + "4" : { "x" : 7.81, "y" : -9.98 }, + "5" : { "x" : 4.00, "y" : 25.21 }, + "6" : { "x" : 13.81, "y" : 12.62 }, + "7" : { "x" : 20.24, "y" : -1.31 }, + "8" : { "x" : 20.31, "y" : 21.63 }, + "9" : { "x" : 27.63, "y" : -19.29 }, + "10" : { "x" : 28.58, "y" : 31.08 }, + "11" : { "x" : 28.22, "y" : 12.15 } + }, + { + "index" : 36, + "ball" : { "x" : 0.00, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.84, "y" : -11.19 }, + "3" : { "x" : -10.46, "y" : -3.85 }, + "4" : { "x" : -9.65, "y" : -21.67 }, + "5" : { "x" : -9.54, "y" : 9.16 }, + "6" : { "x" : -1.32, "y" : -11.18 }, + "7" : { "x" : 1.44, "y" : -16.35 }, + "8" : { "x" : 2.16, "y" : 0.96 }, + "9" : { "x" : 14.12, "y" : -27.99 }, + "10" : { "x" : 14.51, "y" : 16.92 }, + "11" : { "x" : 12.72, "y" : -8.91 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -10.46, "y" : 3.85 }, + "3" : { "x" : -10.84, "y" : 11.19 }, + "4" : { "x" : -9.54, "y" : -9.16 }, + "5" : { "x" : -9.65, "y" : 21.67 }, + "6" : { "x" : -1.32, "y" : 11.18 }, + "7" : { "x" : 2.16, "y" : -0.96 }, + "8" : { "x" : 1.44, "y" : 16.35 }, + "9" : { "x" : 14.51, "y" : -16.92 }, + "10" : { "x" : 14.12, "y" : 27.99 }, + "11" : { "x" : 12.72, "y" : 8.91 } + }, + { + "index" : 38, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.81, "y" : -20.31 }, + "3" : { "x" : -8.65, "y" : -10.46 }, + "4" : { "x" : -2.16, "y" : -33.05 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : -0.48, "y" : -16.47 }, + "7" : { "x" : 2.88, "y" : -28.72 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 15.14, "y" : -32.93 }, + "10" : { "x" : 14.89, "y" : 18.34 }, + "11" : { "x" : 14.89, "y" : -12.50 } + }, + { + "index" : 39, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.65, "y" : 10.46 }, + "3" : { "x" : -7.81, "y" : 20.31 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -2.16, "y" : 33.05 }, + "6" : { "x" : -0.48, "y" : 16.47 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 2.88, "y" : 28.72 }, + "9" : { "x" : 14.89, "y" : -18.34 }, + "10" : { "x" : 15.14, "y" : 32.93 }, + "11" : { "x" : 14.89, "y" : 12.50 } + }, + { + "index" : 40, + "ball" : { "x" : 22.74, "y" : -30.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.96, "y" : -16.59 }, + "3" : { "x" : 1.68, "y" : -2.28 }, + "4" : { "x" : 1.85, "y" : -27.71 }, + "5" : { "x" : 4.21, "y" : 8.37 }, + "6" : { "x" : 12.38, "y" : -17.15 }, + "7" : { "x" : 21.03, "y" : -29.57 }, + "8" : { "x" : 18.62, "y" : 0.38 }, + "9" : { "x" : 26.08, "y" : -24.88 }, + "10" : { "x" : 27.00, "y" : 16.09 }, + "11" : { "x" : 27.75, "y" : -9.17 } + }, + { + "index" : 41, + "ball" : { "x" : 22.74, "y" : 30.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.68, "y" : 2.28 }, + "3" : { "x" : -0.96, "y" : 16.59 }, + "4" : { "x" : 4.21, "y" : -8.37 }, + "5" : { "x" : 1.85, "y" : 27.71 }, + "6" : { "x" : 12.38, "y" : 17.15 }, + "7" : { "x" : 18.62, "y" : -0.38 }, + "8" : { "x" : 21.03, "y" : 29.57 }, + "9" : { "x" : 27.00, "y" : -16.09 }, + "10" : { "x" : 26.08, "y" : 24.88 }, + "11" : { "x" : 27.75, "y" : 9.17 } + }, + { + "index" : 42, + "ball" : { "x" : -12.00, "y" : -19.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.06, "y" : -18.51 }, + "3" : { "x" : -18.10, "y" : -7.15 }, + "4" : { "x" : -16.95, "y" : -24.28 }, + "5" : { "x" : -17.43, "y" : 3.61 }, + "6" : { "x" : -8.29, "y" : -12.74 }, + "7" : { "x" : -5.89, "y" : -20.67 }, + "8" : { "x" : -1.53, "y" : 3.94 }, + "9" : { "x" : 3.45, "y" : -30.49 }, + "10" : { "x" : 3.33, "y" : 25.13 }, + "11" : { "x" : 2.38, "y" : -8.10 } + }, + { + "index" : 43, + "ball" : { "x" : -12.00, "y" : 19.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.10, "y" : 7.15 }, + "3" : { "x" : -14.06, "y" : 18.51 }, + "4" : { "x" : -17.43, "y" : -3.61 }, + "5" : { "x" : -16.95, "y" : 24.28 }, + "6" : { "x" : -8.29, "y" : 12.74 }, + "7" : { "x" : -1.53, "y" : -3.94 }, + "8" : { "x" : -5.89, "y" : 20.67 }, + "9" : { "x" : 3.33, "y" : -25.13 }, + "10" : { "x" : 3.45, "y" : 30.49 }, + "11" : { "x" : 2.38, "y" : 8.10 } + }, + { + "index" : 44, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -50.00, "y" : -0.04 }, + "2" : { "x" : -42.16, "y" : -14.65 }, + "3" : { "x" : -41.86, "y" : -6.87 }, + "4" : { "x" : -42.99, "y" : -26.08 }, + "5" : { "x" : -40.72, "y" : 1.53 }, + "6" : { "x" : -35.21, "y" : -15.50 }, + "7" : { "x" : -37.26, "y" : -22.84 }, + "8" : { "x" : -22.03, "y" : 1.19 }, + "9" : { "x" : -18.99, "y" : -32.33 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -10.36, "y" : -13.93 } + }, + { + "index" : 45, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -50.00, "y" : 0.04 }, + "2" : { "x" : -41.86, "y" : 6.87 }, + "3" : { "x" : -42.16, "y" : 14.65 }, + "4" : { "x" : -40.72, "y" : -1.53 }, + "5" : { "x" : -42.99, "y" : 26.08 }, + "6" : { "x" : -35.21, "y" : 15.50 }, + "7" : { "x" : -22.03, "y" : -1.19 }, + "8" : { "x" : -37.26, "y" : 22.84 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -18.99, "y" : 32.33 }, + "11" : { "x" : -10.36, "y" : 13.93 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/before-kick-off.conf b/SoccerSimulationProxyBin/bin/formations-taker/before-kick-off.conf new file mode 100644 index 0000000..dad0ec2 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/before-kick-off.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -25.00, "y" : -5.00 }, + "3" : { "x" : -25.00, "y" : 5.00 }, + "4" : { "x" : -25.00, "y" : -10.00 }, + "5" : { "x" : -25.00, "y" : 10.00 }, + "6" : { "x" : -25.00, "y" : 0.00 }, + "7" : { "x" : -15.00, "y" : -5.00 }, + "8" : { "x" : -15.00, "y" : 5.00 }, + "9" : { "x" : -15.00, "y" : -10.00 }, + "10" : { "x" : -15.00, "y" : 10.00 }, + "11" : { "x" : -15.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/defense-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/defense-formation.conf new file mode 120000 index 0000000..82d426a --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/defense-formation.conf @@ -0,0 +1 @@ +normal-formation.conf \ No newline at end of file diff --git a/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-opp.conf b/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-opp.conf new file mode 100644 index 0000000..7772079 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 15.00, "y" : -12.00 }, + "8" : { "x" : 15.00, "y" : 12.00 }, + "9" : { "x" : 31.00, "y" : -17.50 }, + "10" : { "x" : 31.00, "y" : 17.50 }, + "11" : { "x" : 31.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-our.conf b/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-our.conf new file mode 100644 index 0000000..8adc8df --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/goal-kick-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -44.50, "y" : -4.00 }, + "3" : { "x" : -44.50, "y" : 4.00 }, + "4" : { "x" : -42.00, "y" : -24.00 }, + "5" : { "x" : -42.00, "y" : 24.00 }, + "6" : { "x" : -32.00, "y" : 0.00 }, + "7" : { "x" : -32.50, "y" : -13.00 }, + "8" : { "x" : -32.50, "y" : 13.00 }, + "9" : { "x" : -13.00, "y" : -27.00 }, + "10" : { "x" : -13.00, "y" : 27.00 }, + "11" : { "x" : -13.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-opp.conf b/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-opp.conf new file mode 100644 index 0000000..51ee0c9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-opp.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 0.00, "y" : -12.00 }, + "5" : { "x" : 0.00, "y" : 12.00 }, + "6" : { "x" : 10.00, "y" : 0.00 }, + "7" : { "x" : 10.00, "y" : -12.00 }, + "8" : { "x" : 10.00, "y" : 12.00 }, + "9" : { "x" : 20.00, "y" : -20.00 }, + "10" : { "x" : 20.00, "y" : 20.00 }, + "11" : { "x" : 20.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-our.conf b/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-our.conf new file mode 100644 index 0000000..ce31546 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/goalie-catch-our.conf @@ -0,0 +1,99 @@ +{ + "version" : "", + "method" : "Static", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "Unknown", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -49.00, "y" : 0.00 }, + "2" : { "x" : -29.50, "y" : -7.70 }, + "3" : { "x" : -29.50, "y" : 7.70 }, + "4" : { "x" : -29.50, "y" : -25.50 }, + "5" : { "x" : -29.50, "y" : 25.50 }, + "6" : { "x" : -29.00, "y" : 0.00 }, + "7" : { "x" : -15.50, "y" : -12.00 }, + "8" : { "x" : -15.50, "y" : 12.00 }, + "9" : { "x" : -15.00, "y" : -27.00 }, + "10" : { "x" : -15.00, "y" : 27.00 }, + "11" : { "x" : -8.00, "y" : 0.00 } } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/goalie-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/goalie-formation.conf new file mode 100644 index 0000000..910deab --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/goalie-formation.conf @@ -0,0 +1,715 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.05, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -26.24, "y" : -14.19 }, + "7" : { "x" : -21.83, "y" : -26.72 }, + "8" : { "x" : -15.46, "y" : 2.33 }, + "9" : { "x" : -7.87, "y" : -31.01 }, + "10" : { "x" : -5.82, "y" : 19.94 }, + "11" : { "x" : -7.39, "y" : -15.15 } + }, + { + "index" : 1, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.05, "y" : 29.10 }, + "6" : { "x" : -26.24, "y" : 14.19 }, + "7" : { "x" : -15.46, "y" : -2.33 }, + "8" : { "x" : -21.83, "y" : 26.72 }, + "9" : { "x" : -5.82, "y" : -19.94 }, + "10" : { "x" : -7.87, "y" : 31.01 }, + "11" : { "x" : -7.39, "y" : 15.15 } + }, + { + "index" : 2, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : 0.00 }, + "2" : { "x" : -47.07, "y" : -2.61 }, + "3" : { "x" : -47.42, "y" : 2.25 }, + "4" : { "x" : -48.96, "y" : -5.34 }, + "5" : { "x" : -49.20, "y" : 5.10 }, + "6" : { "x" : -44.10, "y" : 0.12 }, + "7" : { "x" : -39.50, "y" : -6.00 }, + "8" : { "x" : -39.50, "y" : 6.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.74, "y" : 22.00 }, + "11" : { "x" : -18.50, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -36.61, "y" : -15.15 }, + "3" : { "x" : -36.26, "y" : -6.68 }, + "4" : { "x" : -36.14, "y" : -28.15 }, + "5" : { "x" : -34.60, "y" : 4.30 }, + "6" : { "x" : -31.61, "y" : -14.07 }, + "7" : { "x" : -26.72, "y" : -28.86 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.23, "y" : -30.77 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 4, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -36.26, "y" : 6.68 }, + "3" : { "x" : -36.61, "y" : 15.15 }, + "4" : { "x" : -34.60, "y" : -4.30 }, + "5" : { "x" : -36.14, "y" : 28.15 }, + "6" : { "x" : -31.61, "y" : 14.07 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.72, "y" : 28.86 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.23, "y" : 30.77 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 5, + "ball" : { "x" : -36.04, "y" : -9.96 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -42.92, "y" : -5.42 }, + "3" : { "x" : -39.70, "y" : -0.44 }, + "4" : { "x" : -41.75, "y" : -11.87 }, + "5" : { "x" : -41.27, "y" : 5.82 }, + "6" : { "x" : -35.75, "y" : -4.69 }, + "7" : { "x" : -32.28, "y" : -16.19 }, + "8" : { "x" : -27.62, "y" : 9.02 }, + "9" : { "x" : -18.00, "y" : -27.39 }, + "10" : { "x" : -18.00, "y" : 22.00 }, + "11" : { "x" : -14.78, "y" : -5.49 } + }, + { + "index" : 6, + "ball" : { "x" : -36.04, "y" : 9.96 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -39.70, "y" : 0.44 }, + "3" : { "x" : -42.92, "y" : 5.42 }, + "4" : { "x" : -41.27, "y" : -5.91 }, + "5" : { "x" : -41.75, "y" : 11.87 }, + "6" : { "x" : -35.75, "y" : 4.69 }, + "7" : { "x" : -27.62, "y" : -9.02 }, + "8" : { "x" : -32.28, "y" : 16.19 }, + "9" : { "x" : -18.00, "y" : -22.00 }, + "10" : { "x" : -18.00, "y" : 27.39 }, + "11" : { "x" : -14.78, "y" : 5.49 } + }, + { + "index" : 7, + "ball" : { "x" : -43.39, "y" : -9.53 }, + "1" : { "x" : -47.85, "y" : -6.00 }, + "2" : { "x" : -46.77, "y" : -5.52 }, + "3" : { "x" : -43.97, "y" : -0.25 }, + "4" : { "x" : -45.77, "y" : -9.15 }, + "5" : { "x" : -47.40, "y" : 3.89 }, + "6" : { "x" : -40.77, "y" : -6.11 }, + "7" : { "x" : -38.79, "y" : -14.81 }, + "8" : { "x" : -38.46, "y" : 3.97 }, + "9" : { "x" : -23.30, "y" : -28.20 }, + "10" : { "x" : -23.20, "y" : 20.07 }, + "11" : { "x" : -23.56, "y" : -7.45 } + }, + { + "index" : 8, + "ball" : { "x" : -43.39, "y" : 9.53 }, + "1" : { "x" : -47.85, "y" : 6.00 }, + "2" : { "x" : -43.97, "y" : 0.25 }, + "3" : { "x" : -46.77, "y" : 5.52 }, + "4" : { "x" : -47.40, "y" : -3.89 }, + "5" : { "x" : -45.77, "y" : 9.15 }, + "6" : { "x" : -40.77, "y" : 6.11 }, + "7" : { "x" : -38.46, "y" : -3.97 }, + "8" : { "x" : -38.79, "y" : 14.81 }, + "9" : { "x" : -23.20, "y" : -20.07 }, + "10" : { "x" : -23.30, "y" : 28.20 }, + "11" : { "x" : -23.56, "y" : 7.45 } + }, + { + "index" : 9, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -51.00, "y" : -6.50 }, + "2" : { "x" : -47.04, "y" : -18.02 }, + "3" : { "x" : -45.42, "y" : -8.52 }, + "4" : { "x" : -49.09, "y" : -27.29 }, + "5" : { "x" : -43.37, "y" : 0.00 }, + "6" : { "x" : -42.18, "y" : -14.13 }, + "7" : { "x" : -42.72, "y" : -24.49 }, + "8" : { "x" : -27.43, "y" : 5.25 }, + "9" : { "x" : -19.32, "y" : -30.06 }, + "10" : { "x" : -12.88, "y" : 19.80 }, + "11" : { "x" : -14.91, "y" : -9.18 } + }, + { + "index" : 10, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -51.00, "y" : 6.50 }, + "2" : { "x" : -45.42, "y" : 8.52 }, + "3" : { "x" : -47.04, "y" : 18.02 }, + "4" : { "x" : -43.37, "y" : -0.00 }, + "5" : { "x" : -49.09, "y" : 27.29 }, + "6" : { "x" : -42.18, "y" : 14.13 }, + "7" : { "x" : -27.43, "y" : -5.25 }, + "8" : { "x" : -42.72, "y" : 24.49 }, + "9" : { "x" : -12.88, "y" : -19.80 }, + "10" : { "x" : -19.32, "y" : 30.06 }, + "11" : { "x" : -14.91, "y" : 9.18 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -24.75, "y" : -22.00 }, + "10" : { "x" : -24.75, "y" : 22.00 }, + "11" : { "x" : -23.00, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : -10.57 }, + "1" : { "x" : -51.00, "y" : -7.00 }, + "2" : { "x" : -48.41, "y" : -5.80 }, + "3" : { "x" : -48.76, "y" : -1.66 }, + "4" : { "x" : -51.01, "y" : -8.52 }, + "5" : { "x" : -48.65, "y" : 3.20 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -39.90, "y" : 4.33 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -23.00, "y" : -8.59 } + }, + { + "index" : 13, + "ball" : { "x" : -54.50, "y" : 10.57 }, + "1" : { "x" : -51.00, "y" : 7.00 }, + "2" : { "x" : -48.76, "y" : 1.66 }, + "3" : { "x" : -48.41, "y" : 5.80 }, + "4" : { "x" : -48.65, "y" : -3.20 }, + "5" : { "x" : -51.01, "y" : 8.52 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -39.90, "y" : -4.33 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -23.00, "y" : 8.59 } + }, + { + "index" : 14, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -49.00, "y" : -6.50 }, + "2" : { "x" : -42.94, "y" : -15.32 }, + "3" : { "x" : -41.86, "y" : -7.55 }, + "4" : { "x" : -43.37, "y" : -24.38 }, + "5" : { "x" : -39.49, "y" : 0.65 }, + "6" : { "x" : -38.73, "y" : -13.27 }, + "7" : { "x" : -32.56, "y" : -22.90 }, + "8" : { "x" : -25.09, "y" : 4.60 }, + "9" : { "x" : -15.62, "y" : -30.53 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -13.95, "y" : -11.81 } + }, + { + "index" : 15, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -49.00, "y" : 6.50 }, + "2" : { "x" : -41.86, "y" : 7.55 }, + "3" : { "x" : -42.94, "y" : 15.32 }, + "4" : { "x" : -39.49, "y" : -0.65 }, + "5" : { "x" : -43.37, "y" : 24.38 }, + "6" : { "x" : -38.73, "y" : 13.27 }, + "7" : { "x" : -25.09, "y" : -4.60 }, + "8" : { "x" : -32.56, "y" : 22.90 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -15.62, "y" : 30.53 }, + "11" : { "x" : -13.95, "y" : 11.81 } + }, + { + "index" : 16, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.08, "y" : -6.22 }, + "3" : { "x" : -44.08, "y" : -1.75 }, + "4" : { "x" : -47.77, "y" : -12.89 }, + "5" : { "x" : -47.07, "y" : 2.17 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -37.99, "y" : 0.52 }, + "9" : { "x" : -30.17, "y" : -23.92 }, + "10" : { "x" : -20.89, "y" : 22.42 }, + "11" : { "x" : -21.75, "y" : -9.68 } + }, + { + "index" : 17, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -44.08, "y" : 1.75 }, + "3" : { "x" : -47.08, "y" : 6.22 }, + "4" : { "x" : -47.07, "y" : -2.17 }, + "5" : { "x" : -47.77, "y" : 12.89 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -37.99, "y" : -0.52 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -20.89, "y" : -22.42 }, + "10" : { "x" : -30.17, "y" : 23.92 }, + "11" : { "x" : -21.75, "y" : 9.68 } + }, + { + "index" : 18, + "ball" : { "x" : -22.08, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -25.43, "y" : -2.48 }, + "3" : { "x" : -25.34, "y" : 2.23 }, + "4" : { "x" : -26.20, "y" : -9.16 }, + "5" : { "x" : -25.77, "y" : 8.65 }, + "6" : { "x" : -20.42, "y" : 0.05 }, + "7" : { "x" : -15.86, "y" : -12.83 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -0.00 } + }, + { + "index" : 19, + "ball" : { "x" : -31.00, "y" : 0.00 }, + "1" : { "x" : -46.50, "y" : -0.00 }, + "2" : { "x" : -36.73, "y" : -2.99 }, + "3" : { "x" : -36.66, "y" : 2.67 }, + "4" : { "x" : -36.20, "y" : -8.93 }, + "5" : { "x" : -36.12, "y" : 8.13 }, + "6" : { "x" : -30.47, "y" : 0.22 }, + "7" : { "x" : -28.84, "y" : -12.26 }, + "8" : { "x" : -27.85, "y" : 9.82 }, + "9" : { "x" : -18.03, "y" : -21.00 }, + "10" : { "x" : -18.93, "y" : 22.26 }, + "11" : { "x" : -11.02, "y" : -0.00 } + }, + { + "index" : 20, + "ball" : { "x" : -48.35, "y" : -9.55 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -48.12, "y" : -6.51 }, + "3" : { "x" : -46.32, "y" : -2.57 }, + "4" : { "x" : -48.12, "y" : -8.17 }, + "5" : { "x" : -48.20, "y" : 1.88 }, + "6" : { "x" : -44.09, "y" : -7.25 }, + "7" : { "x" : -43.12, "y" : -14.18 }, + "8" : { "x" : -41.22, "y" : 1.92 }, + "9" : { "x" : -27.41, "y" : -28.75 }, + "10" : { "x" : -25.72, "y" : 19.11 }, + "11" : { "x" : -23.00, "y" : -9.49 } + }, + { + "index" : 21, + "ball" : { "x" : -48.35, "y" : 9.55 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.32, "y" : 2.57 }, + "3" : { "x" : -48.12, "y" : 6.51 }, + "4" : { "x" : -48.20, "y" : -1.88 }, + "5" : { "x" : -48.12, "y" : 8.17 }, + "6" : { "x" : -44.09, "y" : 7.25 }, + "7" : { "x" : -41.22, "y" : -1.92 }, + "8" : { "x" : -43.12, "y" : 14.18 }, + "9" : { "x" : -25.72, "y" : -19.11 }, + "10" : { "x" : -27.41, "y" : 28.75 }, + "11" : { "x" : -23.00, "y" : 9.49 } + }, + { + "index" : 22, + "ball" : { "x" : -22.08, "y" : -18.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -26.23, "y" : -11.18 }, + "3" : { "x" : -26.32, "y" : -2.43 }, + "4" : { "x" : -25.96, "y" : -18.30 }, + "5" : { "x" : -26.32, "y" : 6.85 }, + "6" : { "x" : -21.58, "y" : -9.68 }, + "7" : { "x" : -17.81, "y" : -14.21 }, + "8" : { "x" : -14.69, "y" : 5.77 }, + "9" : { "x" : -4.33, "y" : -28.84 }, + "10" : { "x" : -4.51, "y" : 21.27 }, + "11" : { "x" : -4.87, "y" : -10.54 } + }, + { + "index" : 23, + "ball" : { "x" : -22.08, "y" : 18.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -26.32, "y" : 2.43 }, + "3" : { "x" : -26.23, "y" : 11.18 }, + "4" : { "x" : -26.32, "y" : -6.85 }, + "5" : { "x" : -25.96, "y" : 18.30 }, + "6" : { "x" : -21.58, "y" : 9.68 }, + "7" : { "x" : -14.69, "y" : -5.77 }, + "8" : { "x" : -17.81, "y" : 14.21 }, + "9" : { "x" : -4.51, "y" : -21.27 }, + "10" : { "x" : -4.33, "y" : 28.84 }, + "11" : { "x" : -4.87, "y" : 10.54 } + }, + { + "index" : 24, + "ball" : { "x" : -22.08, "y" : -9.00 }, + "1" : { "x" : -46.50, "y" : -3.00 }, + "2" : { "x" : -25.24, "y" : -8.92 }, + "3" : { "x" : -25.42, "y" : -0.63 }, + "4" : { "x" : -24.96, "y" : -15.41 }, + "5" : { "x" : -25.33, "y" : 8.11 }, + "6" : { "x" : -22.62, "y" : -5.05 }, + "7" : { "x" : -17.81, "y" : -12.41 }, + "8" : { "x" : -15.25, "y" : 11.97 }, + "9" : { "x" : -6.18, "y" : -22.01 }, + "10" : { "x" : -5.43, "y" : 22.12 }, + "11" : { "x" : -3.02, "y" : -4.62 } + }, + { + "index" : 25, + "ball" : { "x" : -22.08, "y" : 9.00 }, + "1" : { "x" : -46.50, "y" : 3.00 }, + "2" : { "x" : -25.42, "y" : 0.63 }, + "3" : { "x" : -25.24, "y" : 8.92 }, + "4" : { "x" : -25.33, "y" : -8.11 }, + "5" : { "x" : -24.96, "y" : 15.41 }, + "6" : { "x" : -22.62, "y" : 5.05 }, + "7" : { "x" : -15.25, "y" : -11.97 }, + "8" : { "x" : -17.81, "y" : 12.41 }, + "9" : { "x" : -5.43, "y" : -22.12 }, + "10" : { "x" : -6.18, "y" : 22.01 }, + "11" : { "x" : -3.02, "y" : 4.62 } + }, + { + "index" : 26, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -0.72, "y" : -12.00 }, + "3" : { "x" : -0.84, "y" : 1.08 }, + "4" : { "x" : 7.19, "y" : -26.29 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 21.83, "y" : -14.13 }, + "7" : { "x" : 35.28, "y" : -23.97 }, + "8" : { "x" : 40.92, "y" : -8.74 }, + "9" : { "x" : 44.22, "y" : -30.85 }, + "10" : { "x" : 43.53, "y" : 4.78 }, + "11" : { "x" : 48.38, "y" : -19.52 } + }, + { + "index" : 27, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -0.84, "y" : -1.08 }, + "3" : { "x" : -0.72, "y" : 12.00 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 7.19, "y" : 26.29 }, + "6" : { "x" : 21.83, "y" : 14.13 }, + "7" : { "x" : 40.92, "y" : 8.74 }, + "8" : { "x" : 35.28, "y" : 23.97 }, + "9" : { "x" : 43.53, "y" : -4.78 }, + "10" : { "x" : 44.22, "y" : 30.85 }, + "11" : { "x" : 48.38, "y" : 19.52 } + }, + { + "index" : 28, + "ball" : { "x" : -11.99, "y" : -18.00 }, + "1" : { "x" : -43.00, "y" : -3.00 }, + "2" : { "x" : -16.27, "y" : -16.18 }, + "3" : { "x" : -15.84, "y" : -2.91 }, + "4" : { "x" : -15.07, "y" : -22.26 }, + "5" : { "x" : -16.18, "y" : 9.68 }, + "6" : { "x" : -14.56, "y" : -9.93 }, + "7" : { "x" : -4.78, "y" : -18.39 }, + "8" : { "x" : -4.15, "y" : 4.87 }, + "9" : { "x" : 2.88, "y" : -30.37 }, + "10" : { "x" : 3.70, "y" : 21.90 }, + "11" : { "x" : 3.70, "y" : -9.01 } + }, + { + "index" : 29, + "ball" : { "x" : -11.99, "y" : 18.00 }, + "1" : { "x" : -43.00, "y" : 3.00 }, + "2" : { "x" : -15.84, "y" : 2.91 }, + "3" : { "x" : -16.27, "y" : 16.18 }, + "4" : { "x" : -16.18, "y" : -9.68 }, + "5" : { "x" : -15.07, "y" : 22.26 }, + "6" : { "x" : -14.56, "y" : 9.93 }, + "7" : { "x" : -4.15, "y" : -4.87 }, + "8" : { "x" : -4.78, "y" : 18.39 }, + "9" : { "x" : 3.70, "y" : -21.90 }, + "10" : { "x" : 2.88, "y" : 30.37 }, + "11" : { "x" : 3.70, "y" : 9.01 } + }, + { + "index" : 30, + "ball" : { "x" : -11.99, "y" : -9.00 }, + "1" : { "x" : -43.00, "y" : -2.00 }, + "2" : { "x" : -15.58, "y" : -9.93 }, + "3" : { "x" : -15.93, "y" : 0.77 }, + "4" : { "x" : -15.50, "y" : -17.12 }, + "5" : { "x" : -15.75, "y" : 9.76 }, + "6" : { "x" : -13.96, "y" : -5.31 }, + "7" : { "x" : -7.75, "y" : -14.42 }, + "8" : { "x" : -5.59, "y" : 7.66 }, + "9" : { "x" : 2.25, "y" : -28.39 }, + "10" : { "x" : 2.16, "y" : 21.36 }, + "11" : { "x" : 2.61, "y" : -5.23 } + }, + { + "index" : 31, + "ball" : { "x" : -11.99, "y" : 9.00 }, + "1" : { "x" : -43.00, "y" : 2.00 }, + "2" : { "x" : -15.93, "y" : -0.77 }, + "3" : { "x" : -15.58, "y" : 9.93 }, + "4" : { "x" : -15.75, "y" : -9.76 }, + "5" : { "x" : -15.50, "y" : 17.12 }, + "6" : { "x" : -13.96, "y" : 5.31 }, + "7" : { "x" : -5.59, "y" : -7.66 }, + "8" : { "x" : -7.75, "y" : 14.42 }, + "9" : { "x" : 2.16, "y" : -21.36 }, + "10" : { "x" : 2.25, "y" : 28.39 }, + "11" : { "x" : 2.61, "y" : 5.23 } + }, + { + "index" : 32, + "ball" : { "x" : -11.99, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : -0.00 }, + "2" : { "x" : -15.75, "y" : -3.42 }, + "3" : { "x" : -15.75, "y" : 2.65 }, + "4" : { "x" : -15.75, "y" : -11.90 }, + "5" : { "x" : -16.70, "y" : 10.70 }, + "6" : { "x" : -13.96, "y" : 0.00 }, + "7" : { "x" : -8.05, "y" : -13.27 }, + "8" : { "x" : -7.11, "y" : 11.99 }, + "9" : { "x" : -2.20, "y" : -23.11 }, + "10" : { "x" : -0.94, "y" : 22.86 }, + "11" : { "x" : 1.91, "y" : -0.00 } + }, + { + "index" : 33, + "ball" : { "x" : -8.22, "y" : -36.00 }, + "1" : { "x" : -43.00, "y" : -4.00 }, + "2" : { "x" : -14.98, "y" : -24.57 }, + "3" : { "x" : -16.26, "y" : -7.31 }, + "4" : { "x" : -11.73, "y" : -33.05 }, + "5" : { "x" : -14.25, "y" : 7.67 }, + "6" : { "x" : -12.50, "y" : -16.95 }, + "7" : { "x" : -8.04, "y" : -26.49 }, + "8" : { "x" : -3.97, "y" : -5.41 }, + "9" : { "x" : 7.86, "y" : -31.17 }, + "10" : { "x" : 8.29, "y" : 2.34 }, + "11" : { "x" : 8.75, "y" : -16.72 } + }, + { + "index" : 34, + "ball" : { "x" : -8.22, "y" : 36.00 }, + "1" : { "x" : -43.00, "y" : 4.00 }, + "2" : { "x" : -16.26, "y" : 7.31 }, + "3" : { "x" : -14.98, "y" : 24.57 }, + "4" : { "x" : -14.25, "y" : -7.67 }, + "5" : { "x" : -11.73, "y" : 33.05 }, + "6" : { "x" : -12.50, "y" : 16.95 }, + "7" : { "x" : -3.97, "y" : 5.41 }, + "8" : { "x" : -8.04, "y" : 26.49 }, + "9" : { "x" : 8.29, "y" : -2.34 }, + "10" : { "x" : 7.86, "y" : 31.17 }, + "11" : { "x" : 8.75, "y" : 16.72 } + }, + { + "index" : 35, + "ball" : { "x" : -42.52, "y" : -6.04 }, + "1" : { "x" : -46.50, "y" : -4.75 }, + "2" : { "x" : -46.86, "y" : -4.31 }, + "3" : { "x" : -44.95, "y" : 0.79 }, + "4" : { "x" : -46.88, "y" : -7.76 }, + "5" : { "x" : -47.74, "y" : 4.50 }, + "6" : { "x" : -41.81, "y" : -3.85 }, + "7" : { "x" : -38.81, "y" : -11.62 }, + "8" : { "x" : -38.43, "y" : 4.91 }, + "9" : { "x" : -23.63, "y" : -25.89 }, + "10" : { "x" : -23.57, "y" : 20.85 }, + "11" : { "x" : -21.37, "y" : -4.64 } + }, + { + "index" : 36, + "ball" : { "x" : -42.52, "y" : 6.04 }, + "1" : { "x" : -46.50, "y" : 4.75 }, + "2" : { "x" : -44.95, "y" : -0.79 }, + "3" : { "x" : -46.86, "y" : 4.31 }, + "4" : { "x" : -47.74, "y" : -4.50 }, + "5" : { "x" : -46.88, "y" : 7.76 }, + "6" : { "x" : -41.81, "y" : 3.85 }, + "7" : { "x" : -38.43, "y" : -4.91 }, + "8" : { "x" : -38.81, "y" : 11.62 }, + "9" : { "x" : -23.57, "y" : -20.85 }, + "10" : { "x" : -23.63, "y" : 25.89 }, + "11" : { "x" : -21.37, "y" : 4.64 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -43.00, "y" : 0.00 }, + "2" : { "x" : -11.97, "y" : -8.07 }, + "3" : { "x" : -12.04, "y" : 6.87 }, + "4" : { "x" : -10.58, "y" : -16.23 }, + "5" : { "x" : -10.87, "y" : 15.70 }, + "6" : { "x" : -8.22, "y" : -0.19 }, + "7" : { "x" : -0.03, "y" : -8.56 }, + "8" : { "x" : -0.17, "y" : 8.44 }, + "9" : { "x" : 11.36, "y" : -18.82 }, + "10" : { "x" : 11.39, "y" : 18.52 }, + "11" : { "x" : 11.78, "y" : -0.06 } + }, + { + "index" : 38, + "ball" : { "x" : -41.21, "y" : -4.43 }, + "1" : { "x" : -46.50, "y" : -3.20 }, + "2" : { "x" : -46.31, "y" : -3.86 }, + "3" : { "x" : -45.02, "y" : 1.13 }, + "4" : { "x" : -46.83, "y" : -7.52 }, + "5" : { "x" : -47.24, "y" : 4.93 }, + "6" : { "x" : -41.69, "y" : -2.52 }, + "7" : { "x" : -38.02, "y" : -10.27 }, + "8" : { "x" : -37.09, "y" : 5.97 }, + "9" : { "x" : -23.14, "y" : -24.69 }, + "10" : { "x" : -23.11, "y" : 21.46 }, + "11" : { "x" : -19.25, "y" : -3.06 } + }, + { + "index" : 39, + "ball" : { "x" : -41.21, "y" : 4.43 }, + "1" : { "x" : -46.50, "y" : 3.20 }, + "2" : { "x" : -45.02, "y" : -1.13 }, + "3" : { "x" : -46.31, "y" : 3.86 }, + "4" : { "x" : -47.24, "y" : -4.93 }, + "5" : { "x" : -46.83, "y" : 7.52 }, + "6" : { "x" : -41.69, "y" : 2.52 }, + "7" : { "x" : -37.09, "y" : -5.97 }, + "8" : { "x" : -38.02, "y" : 10.27 }, + "9" : { "x" : -23.11, "y" : -21.46 }, + "10" : { "x" : -23.14, "y" : 24.69 }, + "11" : { "x" : -19.25, "y" : 3.06 } + }, + { + "index" : 40, + "ball" : { "x" : -42.38, "y" : -8.44 }, + "1" : { "x" : -46.50, "y" : -6.00 }, + "2" : { "x" : -46.42, "y" : -5.12 }, + "3" : { "x" : -43.87, "y" : 0.07 }, + "4" : { "x" : -45.73, "y" : -8.97 }, + "5" : { "x" : -46.90, "y" : 4.29 }, + "6" : { "x" : -40.61, "y" : -5.24 }, + "7" : { "x" : -38.15, "y" : -13.91 }, + "8" : { "x" : -37.38, "y" : 4.78 }, + "9" : { "x" : -22.88, "y" : -27.37 }, + "10" : { "x" : -22.81, "y" : 20.51 }, + "11" : { "x" : -21.98, "y" : -6.34 } + }, + { + "index" : 41, + "ball" : { "x" : -42.38, "y" : 8.44 }, + "1" : { "x" : -46.50, "y" : 6.00 }, + "2" : { "x" : -43.87, "y" : -0.07 }, + "3" : { "x" : -46.42, "y" : 5.12 }, + "4" : { "x" : -46.90, "y" : -4.29 }, + "5" : { "x" : -45.73, "y" : 8.97 }, + "6" : { "x" : -40.61, "y" : 5.24 }, + "7" : { "x" : -37.38, "y" : -4.78 }, + "8" : { "x" : -38.15, "y" : 13.91 }, + "9" : { "x" : -22.81, "y" : -20.51 }, + "10" : { "x" : -22.88, "y" : 27.37 }, + "11" : { "x" : -21.98, "y" : 6.34 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-opp-formation.conf new file mode 100644 index 0000000..b0054c3 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-opp-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.60, "y" : -18.57 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.91, "y" : -24.24 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -29.11, "y" : -28.84 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.60, "y" : 18.57 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.91, "y" : 24.24 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -29.11, "y" : 28.84 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.68, "y" : -9.82 }, + "3" : { "x" : -4.51, "y" : 2.34 }, + "4" : { "x" : 5.86, "y" : -22.53 }, + "5" : { "x" : 10.00, "y" : 8.00 }, + "6" : { "x" : 20.82, "y" : -15.86 }, + "7" : { "x" : 31.99, "y" : -26.86 }, + "8" : { "x" : 35.24, "y" : -14.15 }, + "9" : { "x" : 39.02, "y" : -32.81 }, + "10" : { "x" : 43.71, "y" : -11.81 }, + "11" : { "x" : 40.11, "y" : -23.79 } + }, + { + "index" : 4, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -4.51, "y" : -2.34 }, + "3" : { "x" : -5.68, "y" : 9.82 }, + "4" : { "x" : 10.00, "y" : -8.00 }, + "5" : { "x" : 5.86, "y" : 22.53 }, + "6" : { "x" : 20.82, "y" : 15.86 }, + "7" : { "x" : 35.24, "y" : 14.15 }, + "8" : { "x" : 31.99, "y" : 26.86 }, + "9" : { "x" : 43.71, "y" : 11.81 }, + "10" : { "x" : 39.02, "y" : 32.81 }, + "11" : { "x" : 40.11, "y" : 23.79 } + }, + { + "index" : 5, + "ball" : { "x" : -35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : -6.50 }, + "2" : { "x" : -44.28, "y" : -10.05 }, + "3" : { "x" : -44.22, "y" : -1.48 }, + "4" : { "x" : -44.19, "y" : -15.75 }, + "5" : { "x" : -43.66, "y" : 4.83 }, + "6" : { "x" : -40.28, "y" : -10.05 }, + "7" : { "x" : -35.08, "y" : -10.56 }, + "8" : { "x" : -37.64, "y" : -2.21 }, + "9" : { "x" : -25.89, "y" : -20.10 }, + "10" : { "x" : -12.49, "y" : 14.65 }, + "11" : { "x" : -21.91, "y" : -8.74 } + }, + { + "index" : 6, + "ball" : { "x" : -35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 6.50 }, + "2" : { "x" : -44.22, "y" : 1.48 }, + "3" : { "x" : -44.28, "y" : 10.05 }, + "4" : { "x" : -43.66, "y" : -4.83 }, + "5" : { "x" : -44.19, "y" : 15.75 }, + "6" : { "x" : -40.28, "y" : 10.05 }, + "7" : { "x" : -37.64, "y" : 2.21 }, + "8" : { "x" : -35.08, "y" : 10.56 }, + "9" : { "x" : -12.49, "y" : -14.65 }, + "10" : { "x" : -25.89, "y" : 20.10 }, + "11" : { "x" : -21.91, "y" : 8.74 } + }, + { + "index" : 7, + "ball" : { "x" : -35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.21, "y" : -2.19 }, + "3" : { "x" : -45.21, "y" : 2.19 }, + "4" : { "x" : -46.27, "y" : -4.12 }, + "5" : { "x" : -46.27, "y" : 4.12 }, + "6" : { "x" : -45.10, "y" : 0.00 }, + "7" : { "x" : -44.68, "y" : -5.14 }, + "8" : { "x" : -44.68, "y" : 5.14 }, + "9" : { "x" : -25.12, "y" : -16.78 }, + "10" : { "x" : -25.12, "y" : 16.78 }, + "11" : { "x" : -23.50, "y" : -0.09 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -54.00, "y" : 0.00 }, + "2" : { "x" : -52.60, "y" : -2.00 }, + "3" : { "x" : -52.60, "y" : 2.00 }, + "4" : { "x" : -52.60, "y" : -6.50 }, + "5" : { "x" : -52.60, "y" : 6.50 }, + "6" : { "x" : -52.60, "y" : 0.00 }, + "7" : { "x" : -52.60, "y" : -4.00 }, + "8" : { "x" : -52.60, "y" : 4.00 }, + "9" : { "x" : -33.21, "y" : -19.76 }, + "10" : { "x" : -33.21, "y" : 19.76 }, + "11" : { "x" : -32.47, "y" : 0.11 } + }, + { + "index" : 9, + "ball" : { "x" : -47.00, "y" : 0.00 }, + "1" : { "x" : -52.70, "y" : -0.35 }, + "2" : { "x" : -52.62, "y" : -2.09 }, + "3" : { "x" : -52.62, "y" : 1.08 }, + "4" : { "x" : -52.62, "y" : -3.88 }, + "5" : { "x" : -52.55, "y" : 3.65 }, + "6" : { "x" : -52.67, "y" : 2.37 }, + "7" : { "x" : -52.67, "y" : -5.34 }, + "8" : { "x" : -52.47, "y" : 4.96 }, + "9" : { "x" : -27.39, "y" : -19.82 }, + "10" : { "x" : -27.39, "y" : 19.82 }, + "11" : { "x" : -28.40, "y" : 0.07 } + }, + { + "index" : 10, + "ball" : { "x" : -47.00, "y" : -9.00 }, + "1" : { "x" : -52.65, "y" : -3.93 }, + "2" : { "x" : -52.55, "y" : -2.72 }, + "3" : { "x" : -52.65, "y" : -1.11 }, + "4" : { "x" : -52.55, "y" : -5.09 }, + "5" : { "x" : -52.72, "y" : 3.91 }, + "6" : { "x" : -52.65, "y" : 0.66 }, + "7" : { "x" : -52.75, "y" : -6.25 }, + "8" : { "x" : -51.44, "y" : 2.87 }, + "9" : { "x" : -36.10, "y" : -15.24 }, + "10" : { "x" : -30.66, "y" : 15.55 }, + "11" : { "x" : -32.13, "y" : -3.29 } + }, + { + "index" : 11, + "ball" : { "x" : -47.00, "y" : 9.00 }, + "1" : { "x" : -52.65, "y" : 3.93 }, + "2" : { "x" : -52.65, "y" : 1.11 }, + "3" : { "x" : -52.55, "y" : 2.72 }, + "4" : { "x" : -52.72, "y" : -3.91 }, + "5" : { "x" : -52.55, "y" : 5.09 }, + "6" : { "x" : -52.65, "y" : -0.66 }, + "7" : { "x" : -51.44, "y" : -2.87 }, + "8" : { "x" : -52.75, "y" : 6.25 }, + "9" : { "x" : -30.66, "y" : -15.55 }, + "10" : { "x" : -36.10, "y" : 15.24 }, + "11" : { "x" : -32.13, "y" : 3.29 } + }, + { + "index" : 12, + "ball" : { "x" : -35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : -3.02 }, + "2" : { "x" : -45.64, "y" : -4.17 }, + "3" : { "x" : -45.25, "y" : 0.23 }, + "4" : { "x" : -45.78, "y" : -7.75 }, + "5" : { "x" : -45.25, "y" : 5.29 }, + "6" : { "x" : -43.44, "y" : -2.95 }, + "7" : { "x" : -45.74, "y" : -6.20 }, + "8" : { "x" : -41.43, "y" : 1.89 }, + "9" : { "x" : -27.84, "y" : -17.20 }, + "10" : { "x" : -20.78, "y" : 14.99 }, + "11" : { "x" : -25.29, "y" : -3.66 } + }, + { + "index" : 13, + "ball" : { "x" : -35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 3.02 }, + "2" : { "x" : -45.25, "y" : -0.23 }, + "3" : { "x" : -45.64, "y" : 4.17 }, + "4" : { "x" : -45.25, "y" : -5.29 }, + "5" : { "x" : -45.78, "y" : 7.75 }, + "6" : { "x" : -43.44, "y" : 2.95 }, + "7" : { "x" : -41.43, "y" : -1.89 }, + "8" : { "x" : -45.74, "y" : 6.20 }, + "9" : { "x" : -20.78, "y" : -14.99 }, + "10" : { "x" : -27.84, "y" : 17.20 }, + "11" : { "x" : -25.29, "y" : 3.66 } + }, + { + "index" : 14, + "ball" : { "x" : -44.00, "y" : -21.00 }, + "1" : { "x" : -51.00, "y" : -6.00 }, + "2" : { "x" : -45.86, "y" : -4.39 }, + "3" : { "x" : -45.71, "y" : 1.02 }, + "4" : { "x" : -45.97, "y" : -7.15 }, + "5" : { "x" : -45.40, "y" : 5.78 }, + "6" : { "x" : -44.08, "y" : -6.92 }, + "7" : { "x" : -44.72, "y" : -8.96 }, + "8" : { "x" : -41.36, "y" : -0.49 }, + "9" : { "x" : -39.09, "y" : -10.43 }, + "10" : { "x" : -18.77, "y" : 16.91 }, + "11" : { "x" : -23.22, "y" : -6.10 } + }, + { + "index" : 15, + "ball" : { "x" : -44.00, "y" : 21.00 }, + "1" : { "x" : -51.00, "y" : 6.00 }, + "2" : { "x" : -45.71, "y" : -1.02 }, + "3" : { "x" : -45.86, "y" : 4.39 }, + "4" : { "x" : -45.40, "y" : -5.78 }, + "5" : { "x" : -45.97, "y" : 7.15 }, + "6" : { "x" : -44.08, "y" : 6.92 }, + "7" : { "x" : -41.36, "y" : 0.49 }, + "8" : { "x" : -44.72, "y" : 8.96 }, + "9" : { "x" : -18.77, "y" : -16.91 }, + "10" : { "x" : -39.09, "y" : 10.43 }, + "11" : { "x" : -23.22, "y" : 6.10 } + }, + { + "index" : 16, + "ball" : { "x" : -54.50, "y" : -21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -48.79, "y" : -7.15 }, + "3" : { "x" : -47.86, "y" : -0.17 }, + "4" : { "x" : -49.73, "y" : -13.20 }, + "5" : { "x" : -48.37, "y" : 6.05 }, + "6" : { "x" : -44.53, "y" : -8.00 }, + "7" : { "x" : -41.72, "y" : -14.39 }, + "8" : { "x" : -38.40, "y" : 0.34 }, + "9" : { "x" : -30.87, "y" : -24.94 }, + "10" : { "x" : -22.65, "y" : 21.03 }, + "11" : { "x" : -22.45, "y" : -2.96 } + }, + { + "index" : 17, + "ball" : { "x" : -54.50, "y" : 21.00 }, + "1" : { "x" : -51.72, "y" : 0.00 }, + "2" : { "x" : -47.86, "y" : 0.17 }, + "3" : { "x" : -48.79, "y" : 7.15 }, + "4" : { "x" : -48.37, "y" : -6.05 }, + "5" : { "x" : -49.73, "y" : 13.20 }, + "6" : { "x" : -44.53, "y" : 8.00 }, + "7" : { "x" : -38.40, "y" : -0.34 }, + "8" : { "x" : -41.72, "y" : 14.39 }, + "9" : { "x" : -22.65, "y" : -21.03 }, + "10" : { "x" : -30.87, "y" : 24.94 }, + "11" : { "x" : -22.45, "y" : 2.96 } + }, + { + "index" : 18, + "ball" : { "x" : -42.00, "y" : 0.00 }, + "1" : { "x" : -52.78, "y" : -1.21 }, + "2" : { "x" : -51.87, "y" : -1.06 }, + "3" : { "x" : -51.87, "y" : 1.06 }, + "4" : { "x" : -51.53, "y" : -3.25 }, + "5" : { "x" : -51.91, "y" : 3.48 }, + "6" : { "x" : -52.32, "y" : 1.44 }, + "7" : { "x" : -51.19, "y" : -5.22 }, + "8" : { "x" : -51.19, "y" : 5.22 }, + "9" : { "x" : -29.12, "y" : -16.35 }, + "10" : { "x" : -29.12, "y" : 16.35 }, + "11" : { "x" : -27.20, "y" : 0.06 } + }, + { + "index" : 19, + "ball" : { "x" : -42.50, "y" : -9.00 }, + "1" : { "x" : -52.51, "y" : -1.65 }, + "2" : { "x" : -52.62, "y" : -3.52 }, + "3" : { "x" : -52.11, "y" : 1.08 }, + "4" : { "x" : -52.79, "y" : -4.94 }, + "5" : { "x" : -52.06, "y" : 3.41 }, + "6" : { "x" : -51.32, "y" : 0.57 }, + "7" : { "x" : -52.85, "y" : -6.47 }, + "8" : { "x" : -50.07, "y" : 5.28 }, + "9" : { "x" : -33.14, "y" : -15.92 }, + "10" : { "x" : -26.91, "y" : 15.37 }, + "11" : { "x" : -29.52, "y" : -3.47 } + }, + { + "index" : 20, + "ball" : { "x" : -42.50, "y" : 9.00 }, + "1" : { "x" : -52.51, "y" : 1.65 }, + "2" : { "x" : -52.11, "y" : -1.08 }, + "3" : { "x" : -52.62, "y" : 3.52 }, + "4" : { "x" : -52.06, "y" : -3.41 }, + "5" : { "x" : -52.79, "y" : 4.94 }, + "6" : { "x" : -51.32, "y" : -0.57 }, + "7" : { "x" : -50.07, "y" : -5.28 }, + "8" : { "x" : -52.85, "y" : 6.47 }, + "9" : { "x" : -26.91, "y" : -15.37 }, + "10" : { "x" : -33.14, "y" : 15.92 }, + "11" : { "x" : -29.52, "y" : 3.47 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-our-formation.conf new file mode 100644 index 0000000..40592d4 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/indirect-freekick-our-formation.conf @@ -0,0 +1,460 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 35.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 34.06, "y" : 0.17 }, + "7" : { "x" : 35.08, "y" : -7.07 }, + "8" : { "x" : 35.08, "y" : 7.07 }, + "9" : { "x" : 41.43, "y" : -5.14 }, + "10" : { "x" : 41.43, "y" : 5.14 }, + "11" : { "x" : 41.02, "y" : 0.04 } + }, + { + "index" : 3, + "ball" : { "x" : 35.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 32.19, "y" : -2.72 }, + "7" : { "x" : 34.49, "y" : -9.03 }, + "8" : { "x" : 35.00, "y" : 5.71 }, + "9" : { "x" : 41.47, "y" : -6.31 }, + "10" : { "x" : 43.25, "y" : 3.86 }, + "11" : { "x" : 42.76, "y" : -1.78 } + }, + { + "index" : 4, + "ball" : { "x" : 35.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -6.85 }, + "3" : { "x" : 1.68, "y" : 7.93 }, + "4" : { "x" : 12.26, "y" : -16.47 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 32.19, "y" : 2.72 }, + "7" : { "x" : 35.00, "y" : -5.71 }, + "8" : { "x" : 34.49, "y" : 9.03 }, + "9" : { "x" : 43.25, "y" : -3.86 }, + "10" : { "x" : 41.47, "y" : 6.31 }, + "11" : { "x" : 42.76, "y" : 1.78 } + }, + { + "index" : 5, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 6, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 7, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 8, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 9, + "ball" : { "x" : 35.00, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.35 }, + "6" : { "x" : 28.78, "y" : -11.75 }, + "7" : { "x" : 34.23, "y" : -20.86 }, + "8" : { "x" : 35.08, "y" : -1.70 }, + "9" : { "x" : 39.00, "y" : -16.86 }, + "10" : { "x" : 40.36, "y" : 5.79 }, + "11" : { "x" : 39.85, "y" : -10.22 } + }, + { + "index" : 10, + "ball" : { "x" : 35.00, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.35 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 28.78, "y" : 11.75 }, + "7" : { "x" : 35.08, "y" : 1.70 }, + "8" : { "x" : 34.23, "y" : 20.86 }, + "9" : { "x" : 40.36, "y" : -5.79 }, + "10" : { "x" : 39.00, "y" : 16.86 }, + "11" : { "x" : 39.85, "y" : 10.22 } + }, + { + "index" : 11, + "ball" : { "x" : 54.50, "y" : -21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.65, "y" : -10.71 }, + "3" : { "x" : 4.82, "y" : 4.56 }, + "4" : { "x" : 10.43, "y" : -23.74 }, + "5" : { "x" : 16.19, "y" : 14.12 }, + "6" : { "x" : 35.85, "y" : -10.13 }, + "7" : { "x" : 53.65, "y" : -21.12 }, + "8" : { "x" : 38.57, "y" : -0.34 }, + "9" : { "x" : 48.28, "y" : -12.94 }, + "10" : { "x" : 46.41, "y" : 5.79 }, + "11" : { "x" : 46.83, "y" : -5.88 } + }, + { + "index" : 12, + "ball" : { "x" : 54.50, "y" : 21.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 4.82, "y" : -4.56 }, + "3" : { "x" : 0.65, "y" : 10.71 }, + "4" : { "x" : 16.19, "y" : -14.12 }, + "5" : { "x" : 10.43, "y" : 23.74 }, + "6" : { "x" : 35.85, "y" : 10.13 }, + "7" : { "x" : 38.57, "y" : 0.34 }, + "8" : { "x" : 53.65, "y" : 21.12 }, + "9" : { "x" : 46.41, "y" : -5.79 }, + "10" : { "x" : 48.28, "y" : 12.94 }, + "11" : { "x" : 46.83, "y" : 5.88 } + }, + { + "index" : 13, + "ball" : { "x" : 54.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.74, "y" : -7.64 }, + "3" : { "x" : 2.74, "y" : 7.64 }, + "4" : { "x" : 13.31, "y" : -18.93 }, + "5" : { "x" : 13.31, "y" : 18.93 }, + "6" : { "x" : 36.62, "y" : 0.00 }, + "7" : { "x" : 40.15, "y" : -8.47 }, + "8" : { "x" : 40.15, "y" : 8.47 }, + "9" : { "x" : 50.41, "y" : -6.13 }, + "10" : { "x" : 50.41, "y" : 6.13 }, + "11" : { "x" : 53.00, "y" : 0.09 } + }, + { + "index" : 14, + "ball" : { "x" : 47.00, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.80, "y" : -8.51 }, + "3" : { "x" : 4.12, "y" : 6.57 }, + "4" : { "x" : 9.30, "y" : -20.53 }, + "5" : { "x" : 13.60, "y" : 16.77 }, + "6" : { "x" : 35.08, "y" : -1.19 }, + "7" : { "x" : 46.27, "y" : -8.92 }, + "8" : { "x" : 38.71, "y" : 5.18 }, + "9" : { "x" : 49.22, "y" : -6.09 }, + "10" : { "x" : 48.96, "y" : 2.61 }, + "11" : { "x" : 49.22, "y" : -2.42 } + }, + { + "index" : 15, + "ball" : { "x" : 47.00, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.12, "y" : -6.57 }, + "3" : { "x" : 1.80, "y" : 8.51 }, + "4" : { "x" : 13.60, "y" : -16.77 }, + "5" : { "x" : 9.30, "y" : 20.53 }, + "6" : { "x" : 35.08, "y" : 1.19 }, + "7" : { "x" : 38.71, "y" : -5.18 }, + "8" : { "x" : 46.27, "y" : 8.92 }, + "9" : { "x" : 48.96, "y" : -2.61 }, + "10" : { "x" : 49.22, "y" : 6.09 }, + "11" : { "x" : 49.22, "y" : 2.42 } + }, + { + "index" : 16, + "ball" : { "x" : 54.50, "y" : -9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.82, "y" : -8.98 }, + "3" : { "x" : 3.65, "y" : 6.29 }, + "4" : { "x" : 12.05, "y" : -21.04 }, + "5" : { "x" : 14.57, "y" : 16.82 }, + "6" : { "x" : 36.28, "y" : -4.44 }, + "7" : { "x" : 53.90, "y" : -9.37 }, + "8" : { "x" : 39.46, "y" : 4.61 }, + "9" : { "x" : 50.58, "y" : -5.96 }, + "10" : { "x" : 47.13, "y" : 6.32 }, + "11" : { "x" : 46.66, "y" : -0.51 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : 9.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 3.65, "y" : -6.29 }, + "3" : { "x" : 1.82, "y" : 8.98 }, + "4" : { "x" : 14.57, "y" : -16.82 }, + "5" : { "x" : 12.05, "y" : 21.04 }, + "6" : { "x" : 36.28, "y" : 4.44 }, + "7" : { "x" : 39.46, "y" : -4.61 }, + "8" : { "x" : 53.90, "y" : 9.37 }, + "9" : { "x" : 47.13, "y" : -6.32 }, + "10" : { "x" : 50.58, "y" : 5.96 }, + "11" : { "x" : 46.66, "y" : 0.51 } + }, + { + "index" : 18, + "ball" : { "x" : 47.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.61, "y" : -7.53 }, + "3" : { "x" : 2.61, "y" : 7.53 }, + "4" : { "x" : 10.66, "y" : -18.55 }, + "5" : { "x" : 10.66, "y" : 18.55 }, + "6" : { "x" : 33.31, "y" : 0.00 }, + "7" : { "x" : 41.13, "y" : -6.10 }, + "8" : { "x" : 41.13, "y" : 6.10 }, + "9" : { "x" : 48.96, "y" : -4.35 }, + "10" : { "x" : 48.96, "y" : 4.35 }, + "11" : { "x" : 46.32, "y" : -0.09 } + }, + { + "index" : 19, + "ball" : { "x" : 45.00, "y" : -3.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.04, "y" : -7.87 }, + "3" : { "x" : 2.87, "y" : 7.17 }, + "4" : { "x" : 9.46, "y" : -19.17 }, + "5" : { "x" : 11.01, "y" : 17.82 }, + "6" : { "x" : 32.43, "y" : -0.37 }, + "7" : { "x" : 44.50, "y" : -3.33 }, + "8" : { "x" : 37.42, "y" : 7.26 }, + "9" : { "x" : 49.33, "y" : -5.44 }, + "10" : { "x" : 49.22, "y" : 3.70 }, + "11" : { "x" : 49.52, "y" : -1.55 } + }, + { + "index" : 20, + "ball" : { "x" : 45.00, "y" : 3.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.87, "y" : -7.17 }, + "3" : { "x" : 2.04, "y" : 7.87 }, + "4" : { "x" : 11.01, "y" : -17.82 }, + "5" : { "x" : 9.46, "y" : 19.17 }, + "6" : { "x" : 32.43, "y" : 0.37 }, + "7" : { "x" : 37.42, "y" : -7.26 }, + "8" : { "x" : 44.50, "y" : 3.33 }, + "9" : { "x" : 49.22, "y" : -3.70 }, + "10" : { "x" : 49.33, "y" : 5.44 }, + "11" : { "x" : 49.52, "y" : 1.55 } + }, + { + "index" : 21, + "ball" : { "x" : 40.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.21, "y" : -7.45 }, + "3" : { "x" : 1.21, "y" : 7.45 }, + "4" : { "x" : 7.08, "y" : -18.09 }, + "5" : { "x" : 7.08, "y" : 18.09 }, + "6" : { "x" : 31.79, "y" : -2.34 }, + "7" : { "x" : 39.13, "y" : -0.08 }, + "8" : { "x" : 37.84, "y" : 3.63 }, + "9" : { "x" : 45.44, "y" : -3.33 }, + "10" : { "x" : 45.44, "y" : 3.36 }, + "11" : { "x" : 45.59, "y" : -0.08 } + }, + { + "index" : 22, + "ball" : { "x" : 44.53, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.34, "y" : -7.51 }, + "3" : { "x" : 2.34, "y" : 7.51 }, + "4" : { "x" : 9.94, "y" : -18.46 }, + "5" : { "x" : 9.94, "y" : 18.46 }, + "6" : { "x" : 32.41, "y" : -0.00 }, + "7" : { "x" : 38.60, "y" : -4.65 }, + "8" : { "x" : 38.60, "y" : 4.65 }, + "9" : { "x" : 47.48, "y" : -3.97 }, + "10" : { "x" : 47.48, "y" : 3.97 }, + "11" : { "x" : 44.62, "y" : -0.09 } + }, + { + "index" : 23, + "ball" : { "x" : 47.00, "y" : -4.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.24, "y" : -7.99 }, + "3" : { "x" : 3.31, "y" : 7.09 }, + "4" : { "x" : 10.12, "y" : -19.48 }, + "5" : { "x" : 12.11, "y" : 17.74 }, + "6" : { "x" : 34.25, "y" : -0.55 }, + "7" : { "x" : 43.66, "y" : -7.46 }, + "8" : { "x" : 39.00, "y" : 6.28 }, + "9" : { "x" : 48.96, "y" : -7.58 }, + "10" : { "x" : 48.77, "y" : 0.53 }, + "11" : { "x" : 46.92, "y" : -3.75 } + }, + { + "index" : 24, + "ball" : { "x" : 47.00, "y" : 4.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.31, "y" : -7.09 }, + "3" : { "x" : 2.24, "y" : 7.99 }, + "4" : { "x" : 12.11, "y" : -17.74 }, + "5" : { "x" : 10.12, "y" : 19.48 }, + "6" : { "x" : 34.25, "y" : 0.55 }, + "7" : { "x" : 39.00, "y" : -6.28 }, + "8" : { "x" : 43.66, "y" : 7.46 }, + "9" : { "x" : 48.77, "y" : -0.53 }, + "10" : { "x" : 48.96, "y" : 7.58 }, + "11" : { "x" : 46.92, "y" : 3.75 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/kickin-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/kickin-our-formation.conf new file mode 100644 index 0000000..956c8a9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/kickin-our-formation.conf @@ -0,0 +1,400 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -9.00 }, + "3" : { "x" : 0.00, "y" : 9.00 }, + "4" : { "x" : 7.00, "y" : -19.00 }, + "5" : { "x" : 7.00, "y" : 19.00 }, + "6" : { "x" : 21.00, "y" : 0.00 }, + "7" : { "x" : 35.00, "y" : -6.00 }, + "8" : { "x" : 35.00, "y" : 6.00 }, + "9" : { "x" : 46.00, "y" : -9.50 }, + "10" : { "x" : 46.00, "y" : 9.50 }, + "11" : { "x" : 46.00, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -47.00, "y" : -2.50 }, + "3" : { "x" : -47.00, "y" : 2.50 }, + "4" : { "x" : -47.00, "y" : -7.00 }, + "5" : { "x" : -47.00, "y" : 7.00 }, + "6" : { "x" : -43.00, "y" : 0.00 }, + "7" : { "x" : -35.00, "y" : -13.00 }, + "8" : { "x" : -35.00, "y" : 13.00 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -22.00, "y" : 28.00 }, + "11" : { "x" : -18.49, "y" : 0.00 } + }, + { + "index" : 2, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.06, "y" : -4.84 }, + "3" : { "x" : -15.18, "y" : 3.68 }, + "4" : { "x" : -12.58, "y" : -14.88 }, + "5" : { "x" : -13.39, "y" : 14.07 }, + "6" : { "x" : -5.61, "y" : 0.00 }, + "7" : { "x" : 0.11, "y" : -11.99 }, + "8" : { "x" : 0.11, "y" : 11.99 }, + "9" : { "x" : 10.37, "y" : -23.99 }, + "10" : { "x" : 10.84, "y" : 23.99 }, + "11" : { "x" : 10.84, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.35, "y" : -11.81 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -47.81, "y" : -26.33 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.23, "y" : -11.92 }, + "7" : { "x" : -37.38, "y" : -21.36 }, + "8" : { "x" : -27.94, "y" : 1.74 }, + "9" : { "x" : -22.23, "y" : -31.17 }, + "10" : { "x" : -17.01, "y" : 19.99 }, + "11" : { "x" : -17.51, "y" : -11.55 } + }, + { + "index" : 4, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -47.35, "y" : 11.81 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -47.81, "y" : 26.33 }, + "6" : { "x" : -41.23, "y" : 11.92 }, + "7" : { "x" : -27.94, "y" : -1.74 }, + "8" : { "x" : -37.38, "y" : 21.36 }, + "9" : { "x" : -17.01, "y" : -19.99 }, + "10" : { "x" : -22.23, "y" : 31.17 }, + "11" : { "x" : -17.51, "y" : 11.55 } + }, + { + "index" : 5, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -39.12, "y" : -16.02 }, + "3" : { "x" : -38.87, "y" : -6.58 }, + "4" : { "x" : -36.39, "y" : -27.94 }, + "5" : { "x" : -36.76, "y" : 3.85 }, + "6" : { "x" : -28.32, "y" : -15.28 }, + "7" : { "x" : -22.23, "y" : -24.59 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -10.43, "y" : -32.54 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.20, "y" : -14.16 } + }, + { + "index" : 6, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.87, "y" : 6.58 }, + "3" : { "x" : -39.12, "y" : 16.02 }, + "4" : { "x" : -36.76, "y" : -3.85 }, + "5" : { "x" : -36.39, "y" : 27.94 }, + "6" : { "x" : -28.32, "y" : 15.28 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -22.23, "y" : 24.59 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -10.43, "y" : 32.54 }, + "11" : { "x" : -7.20, "y" : 14.16 } + }, + { + "index" : 7, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.50, "y" : -21.61 }, + "3" : { "x" : -18.50, "y" : -8.94 }, + "4" : { "x" : -12.42, "y" : -34.65 }, + "5" : { "x" : -18.38, "y" : 4.72 }, + "6" : { "x" : -9.07, "y" : -14.90 }, + "7" : { "x" : -0.50, "y" : -22.48 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 11.67, "y" : -32.29 }, + "10" : { "x" : 10.80, "y" : 14.03 }, + "11" : { "x" : 8.20, "y" : -15.15 } + }, + { + "index" : 8, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.50, "y" : 8.94 }, + "3" : { "x" : -18.50, "y" : 21.61 }, + "4" : { "x" : -18.38, "y" : -4.72 }, + "5" : { "x" : -12.42, "y" : 34.65 }, + "6" : { "x" : -9.07, "y" : 14.90 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -0.50, "y" : 22.48 }, + "9" : { "x" : 10.80, "y" : -14.03 }, + "10" : { "x" : 11.67, "y" : 32.29 }, + "11" : { "x" : 8.20, "y" : 15.15 } + }, + { + "index" : 9, + "ball" : { "x" : 38.13, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.14, "y" : -16.53 }, + "3" : { "x" : 6.25, "y" : -1.80 }, + "4" : { "x" : 7.93, "y" : -28.00 }, + "5" : { "x" : 17.31, "y" : 8.77 }, + "6" : { "x" : 24.88, "y" : -17.67 }, + "7" : { "x" : 36.30, "y" : -31.49 }, + "8" : { "x" : 32.09, "y" : -0.36 }, + "9" : { "x" : 46.75, "y" : -24.64 }, + "10" : { "x" : 44.23, "y" : -0.72 }, + "11" : { "x" : 44.59, "y" : -13.82 } + }, + { + "index" : 10, + "ball" : { "x" : 38.13, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.25, "y" : 1.80 }, + "3" : { "x" : -0.14, "y" : 16.53 }, + "4" : { "x" : 17.31, "y" : -8.77 }, + "5" : { "x" : 7.93, "y" : 28.00 }, + "6" : { "x" : 24.88, "y" : 17.67 }, + "7" : { "x" : 32.09, "y" : 0.36 }, + "8" : { "x" : 36.30, "y" : 31.49 }, + "9" : { "x" : 44.23, "y" : 0.72 }, + "10" : { "x" : 46.75, "y" : 24.64 }, + "11" : { "x" : 44.59, "y" : 13.82 } + }, + { + "index" : 11, + "ball" : { "x" : 35.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -14.54 }, + "3" : { "x" : 6.49, "y" : -0.12 }, + "4" : { "x" : 6.37, "y" : -27.76 }, + "5" : { "x" : 15.86, "y" : 8.65 }, + "6" : { "x" : 22.73, "y" : -17.39 }, + "7" : { "x" : 33.41, "y" : -32.69 }, + "8" : { "x" : 29.81, "y" : 0.00 }, + "9" : { "x" : 43.03, "y" : -29.81 }, + "10" : { "x" : 41.70, "y" : -1.08 }, + "11" : { "x" : 42.31, "y" : -15.38 } + }, + { + "index" : 12, + "ball" : { "x" : 35.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.49, "y" : 0.12 }, + "3" : { "x" : 1.68, "y" : 14.54 }, + "4" : { "x" : 15.86, "y" : -8.65 }, + "5" : { "x" : 6.37, "y" : 27.76 }, + "6" : { "x" : 22.73, "y" : 17.39 }, + "7" : { "x" : 29.81, "y" : -0.00 }, + "8" : { "x" : 33.41, "y" : 32.69 }, + "9" : { "x" : 41.70, "y" : 1.08 }, + "10" : { "x" : 43.03, "y" : 29.81 }, + "11" : { "x" : 42.31, "y" : 15.38 } + }, + { + "index" : 13, + "ball" : { "x" : 24.88, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.84, "y" : -21.03 }, + "3" : { "x" : 2.88, "y" : -5.53 }, + "4" : { "x" : 20.67, "y" : -32.93 }, + "5" : { "x" : 11.42, "y" : 7.69 }, + "6" : { "x" : 14.54, "y" : -13.46 }, + "7" : { "x" : 26.08, "y" : -19.11 }, + "8" : { "x" : 31.01, "y" : -6.01 }, + "9" : { "x" : 44.23, "y" : -29.93 }, + "10" : { "x" : 39.54, "y" : -1.08 }, + "11" : { "x" : 41.34, "y" : -17.43 } + }, + { + "index" : 14, + "ball" : { "x" : 24.88, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 2.88, "y" : 5.53 }, + "3" : { "x" : -0.84, "y" : 21.03 }, + "4" : { "x" : 11.42, "y" : -7.69 }, + "5" : { "x" : 20.67, "y" : 32.93 }, + "6" : { "x" : 14.54, "y" : 13.46 }, + "7" : { "x" : 31.01, "y" : 6.01 }, + "8" : { "x" : 26.08, "y" : 19.11 }, + "9" : { "x" : 39.54, "y" : 1.08 }, + "10" : { "x" : 44.23, "y" : 29.93 }, + "11" : { "x" : 41.34, "y" : 17.43 } + }, + { + "index" : 15, + "ball" : { "x" : 12.98, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -3.61, "y" : -21.51 }, + "3" : { "x" : -0.12, "y" : -4.33 }, + "4" : { "x" : 9.86, "y" : -31.97 }, + "5" : { "x" : 8.29, "y" : 8.17 }, + "6" : { "x" : 8.51, "y" : -16.20 }, + "7" : { "x" : 20.91, "y" : -20.67 }, + "8" : { "x" : 18.15, "y" : -1.20 }, + "9" : { "x" : 37.02, "y" : -31.25 }, + "10" : { "x" : 31.49, "y" : -1.08 }, + "11" : { "x" : 34.97, "y" : -15.38 } + }, + { + "index" : 16, + "ball" : { "x" : 12.98, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -0.12, "y" : 4.33 }, + "3" : { "x" : -3.61, "y" : 21.51 }, + "4" : { "x" : 8.29, "y" : -8.17 }, + "5" : { "x" : 9.86, "y" : 31.97 }, + "6" : { "x" : 8.51, "y" : 16.20 }, + "7" : { "x" : 18.15, "y" : 1.20 }, + "8" : { "x" : 20.91, "y" : 20.67 }, + "9" : { "x" : 31.49, "y" : 1.08 }, + "10" : { "x" : 37.02, "y" : 31.25 }, + "11" : { "x" : 34.97, "y" : 15.38 } + }, + { + "index" : 17, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.58, "y" : -23.22 }, + "3" : { "x" : -9.06, "y" : -10.97 }, + "4" : { "x" : -1.56, "y" : -32.69 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : 0.00, "y" : -16.95 }, + "7" : { "x" : 7.57, "y" : -22.71 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 24.47, "y" : -30.18 }, + "10" : { "x" : 23.68, "y" : 3.97 }, + "11" : { "x" : 20.91, "y" : -14.66 } + }, + { + "index" : 18, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -9.06, "y" : 10.97 }, + "3" : { "x" : -7.58, "y" : 23.22 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -1.56, "y" : 32.69 }, + "6" : { "x" : 0.00, "y" : 16.95 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 7.57, "y" : 22.71 }, + "9" : { "x" : 23.68, "y" : -3.97 }, + "10" : { "x" : 24.47, "y" : 30.18 }, + "11" : { "x" : 20.91, "y" : 14.66 } + }, + { + "index" : 19, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.24, "y" : -14.54 }, + "3" : { "x" : 7.21, "y" : -0.48 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 17.19, "y" : 10.22 }, + "6" : { "x" : 24.76, "y" : -14.66 }, + "7" : { "x" : 39.78, "y" : -28.60 }, + "8" : { "x" : 38.65, "y" : -11.04 }, + "9" : { "x" : 51.54, "y" : -34.65 }, + "10" : { "x" : 46.27, "y" : -8.05 }, + "11" : { "x" : 48.07, "y" : -22.35 } + }, + { + "index" : 20, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 7.21, "y" : 0.48 }, + "3" : { "x" : -0.24, "y" : 14.54 }, + "4" : { "x" : 17.19, "y" : -10.22 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 24.76, "y" : 14.66 }, + "7" : { "x" : 38.65, "y" : 11.04 }, + "8" : { "x" : 39.78, "y" : 28.60 }, + "9" : { "x" : 46.27, "y" : 8.05 }, + "10" : { "x" : 51.54, "y" : 34.65 }, + "11" : { "x" : 48.07, "y" : 22.35 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/normal-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/normal-formation.conf new file mode 100644 index 0000000..d6096b7 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/normal-formation.conf @@ -0,0 +1,145 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 2, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 3, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 4, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 5, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 6, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 7, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 8, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 9, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 10, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + }, + { + "number" : 11, + "name" : "KeepawayTaker", + "type" : "MF", + "side" : "L", + "pair" : -1 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : -11.00, "y" : -11.00 }, + "1" : { "x" : 0.00, "y" : 4.00 }, + "2" : { "x" : 0.00, "y" : -4.00 }, + "3" : { "x" : -12.00, "y" : 36.00 }, + "4" : { "x" : -15.00, "y" : 36.00 }, + "5" : { "x" : -18.00, "y" : 36.00 }, + "6" : { "x" : -21.00, "y" : 36.00 }, + "7" : { "x" : -24.00, "y" : 36.00 }, + "8" : { "x" : -27.00, "y" : 36.00 }, + "9" : { "x" : -30.00, "y" : 36.00 }, + "10" : { "x" : -33.00, "y" : 36.00 }, + "11" : { "x" : -36.00, "y" : 36.00 } + }, + { + "index" : 1, + "ball" : { "x" : -11.00, "y" : 11.00 }, + "1" : { "x" : 0.00, "y" : 4.00 }, + "2" : { "x" : 0.00, "y" : -4.00 }, + "3" : { "x" : -12.00, "y" : 36.00 }, + "4" : { "x" : -15.00, "y" : 36.00 }, + "5" : { "x" : -18.00, "y" : 36.00 }, + "6" : { "x" : -21.00, "y" : 36.00 }, + "7" : { "x" : -24.00, "y" : 36.00 }, + "8" : { "x" : -27.00, "y" : 36.00 }, + "9" : { "x" : -30.00, "y" : 36.00 }, + "10" : { "x" : -33.00, "y" : 36.00 }, + "11" : { "x" : -36.00, "y" : 36.00 } + }, + { + "index" : 2, + "ball" : { "x" : 11.00, "y" : -11.00 }, + "1" : { "x" : 0.00, "y" : 4.00 }, + "2" : { "x" : 0.00, "y" : -4.00 }, + "3" : { "x" : -12.00, "y" : 36.00 }, + "4" : { "x" : -15.00, "y" : 36.00 }, + "5" : { "x" : -18.00, "y" : 36.00 }, + "6" : { "x" : -21.00, "y" : 36.00 }, + "7" : { "x" : -24.00, "y" : 36.00 }, + "8" : { "x" : -27.00, "y" : 36.00 }, + "9" : { "x" : -30.00, "y" : 36.00 }, + "10" : { "x" : -33.00, "y" : 36.00 }, + "11" : { "x" : -36.00, "y" : 36.00 } + }, + { + "index" : 3, + "ball" : { "x" : 11.00, "y" : 11.00 }, + "1" : { "x" : 0.00, "y" : 4.00 }, + "2" : { "x" : 0.00, "y" : -4.00 }, + "3" : { "x" : -12.00, "y" : 36.00 }, + "4" : { "x" : -15.00, "y" : 36.00 }, + "5" : { "x" : -18.00, "y" : 36.00 }, + "6" : { "x" : -21.00, "y" : 36.00 }, + "7" : { "x" : -24.00, "y" : 36.00 }, + "8" : { "x" : -27.00, "y" : 36.00 }, + "9" : { "x" : -30.00, "y" : 36.00 }, + "10" : { "x" : -33.00, "y" : 36.00 }, + "11" : { "x" : -36.00, "y" : 36.00 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/offense-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/offense-formation.conf new file mode 120000 index 0000000..82d426a --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/offense-formation.conf @@ -0,0 +1 @@ +normal-formation.conf \ No newline at end of file diff --git a/SoccerSimulationProxyBin/bin/formations-taker/setplay-opp-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/setplay-opp-formation.conf new file mode 100644 index 0000000..4860093 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/setplay-opp-formation.conf @@ -0,0 +1,760 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -11.63, "y" : -4.60 }, + "3" : { "x" : -11.90, "y" : 4.06 }, + "4" : { "x" : -10.09, "y" : -16.13 }, + "5" : { "x" : -9.91, "y" : 14.51 }, + "6" : { "x" : -11.18, "y" : -0.36 }, + "7" : { "x" : -6.58, "y" : -8.20 }, + "8" : { "x" : -7.57, "y" : 8.29 }, + "9" : { "x" : -1.26, "y" : -11.99 }, + "10" : { "x" : -1.80, "y" : 12.17 }, + "11" : { "x" : 11.72, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.44, "y" : -20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -47.41, "y" : -10.72 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -50.02, "y" : -17.21 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.73, "y" : -9.80 }, + "7" : { "x" : -40.83, "y" : -15.77 }, + "8" : { "x" : -30.82, "y" : 6.85 }, + "9" : { "x" : -24.78, "y" : -29.47 }, + "10" : { "x" : -14.69, "y" : 21.98 }, + "11" : { "x" : -14.90, "y" : -5.27 } + }, + { + "index" : 2, + "ball" : { "x" : -54.44, "y" : 20.73 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -47.41, "y" : 10.72 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -50.02, "y" : 17.21 }, + "6" : { "x" : -39.73, "y" : 9.80 }, + "7" : { "x" : -30.82, "y" : -6.85 }, + "8" : { "x" : -40.83, "y" : 15.77 }, + "9" : { "x" : -14.69, "y" : -21.98 }, + "10" : { "x" : -24.78, "y" : 29.47 }, + "11" : { "x" : -14.90, "y" : 5.27 } + }, + { + "index" : 3, + "ball" : { "x" : 45.24, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.18, "y" : -6.92 }, + "3" : { "x" : -0.18, "y" : 6.92 }, + "4" : { "x" : 6.47, "y" : -17.34 }, + "5" : { "x" : 6.47, "y" : 17.34 }, + "6" : { "x" : 15.50, "y" : -0.00 }, + "7" : { "x" : 31.36, "y" : -6.20 }, + "8" : { "x" : 31.36, "y" : 6.20 }, + "9" : { "x" : 36.39, "y" : -9.79 }, + "10" : { "x" : 36.39, "y" : 9.79 }, + "11" : { "x" : 35.58, "y" : 0.54 } + }, + { + "index" : 4, + "ball" : { "x" : -31.36, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.28, "y" : -3.97 }, + "3" : { "x" : -41.19, "y" : 3.97 }, + "4" : { "x" : -40.38, "y" : -8.74 }, + "5" : { "x" : -40.02, "y" : 8.47 }, + "6" : { "x" : -41.46, "y" : -0.27 }, + "7" : { "x" : -34.88, "y" : -9.10 }, + "8" : { "x" : -34.34, "y" : 9.19 }, + "9" : { "x" : -10.86, "y" : -21.61 }, + "10" : { "x" : -10.75, "y" : 21.75 }, + "11" : { "x" : -19.20, "y" : 0.27 } + }, + { + "index" : 5, + "ball" : { "x" : 22.08, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.09, "y" : -9.37 }, + "3" : { "x" : 0.18, "y" : 7.75 }, + "4" : { "x" : 0.09, "y" : -19.47 }, + "5" : { "x" : 0.27, "y" : 19.02 }, + "6" : { "x" : 1.35, "y" : 0.00 }, + "7" : { "x" : 10.63, "y" : -6.13 }, + "8" : { "x" : 10.45, "y" : 5.50 }, + "9" : { "x" : 13.16, "y" : -10.72 }, + "10" : { "x" : 13.43, "y" : 11.36 }, + "11" : { "x" : 10.63, "y" : -0.27 } + }, + { + "index" : 6, + "ball" : { "x" : 11.72, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -2.25, "y" : -6.67 }, + "3" : { "x" : -2.61, "y" : 4.60 }, + "4" : { "x" : -1.53, "y" : -14.15 }, + "5" : { "x" : -1.44, "y" : 14.78 }, + "6" : { "x" : -1.44, "y" : -0.18 }, + "7" : { "x" : 1.98, "y" : -8.92 }, + "8" : { "x" : 1.71, "y" : 8.56 }, + "9" : { "x" : 7.84, "y" : -13.16 }, + "10" : { "x" : 8.65, "y" : 12.89 }, + "11" : { "x" : 0.99, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : -15.95, "y" : -22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.75, "y" : -17.21 }, + "3" : { "x" : -28.57, "y" : -6.02 }, + "4" : { "x" : -28.66, "y" : -24.78 }, + "5" : { "x" : -28.30, "y" : 4.67 }, + "6" : { "x" : -25.34, "y" : -11.68 }, + "7" : { "x" : -25.88, "y" : -20.30 }, + "8" : { "x" : -21.02, "y" : -7.10 }, + "9" : { "x" : 0.09, "y" : -24.26 }, + "10" : { "x" : 2.02, "y" : 15.41 }, + "11" : { "x" : -12.76, "y" : -6.65 } + }, + { + "index" : 8, + "ball" : { "x" : -15.95, "y" : 22.98 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -28.57, "y" : 6.02 }, + "3" : { "x" : -28.75, "y" : 17.21 }, + "4" : { "x" : -28.30, "y" : -4.67 }, + "5" : { "x" : -28.66, "y" : 24.78 }, + "6" : { "x" : -25.34, "y" : 11.68 }, + "7" : { "x" : -21.02, "y" : 7.10 }, + "8" : { "x" : -25.88, "y" : 20.30 }, + "9" : { "x" : 2.02, "y" : -15.41 }, + "10" : { "x" : 0.09, "y" : 24.26 }, + "11" : { "x" : -12.76, "y" : 6.65 } + }, + { + "index" : 9, + "ball" : { "x" : 30.73, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -11.95 }, + "3" : { "x" : 0.09, "y" : 0.63 }, + "4" : { "x" : 0.45, "y" : -25.43 }, + "5" : { "x" : 3.05, "y" : 8.45 }, + "6" : { "x" : 8.27, "y" : -18.15 }, + "7" : { "x" : 18.60, "y" : -28.03 }, + "8" : { "x" : 22.55, "y" : -14.64 }, + "9" : { "x" : 20.84, "y" : -33.15 }, + "10" : { "x" : 29.56, "y" : -5.66 }, + "11" : { "x" : 23.09, "y" : -22.91 } + }, + { + "index" : 10, + "ball" : { "x" : 30.73, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.63 }, + "3" : { "x" : 0.18, "y" : 11.95 }, + "4" : { "x" : 3.05, "y" : -8.45 }, + "5" : { "x" : 0.45, "y" : 25.43 }, + "6" : { "x" : 8.27, "y" : 18.15 }, + "7" : { "x" : 22.55, "y" : 14.64 }, + "8" : { "x" : 18.60, "y" : 28.03 }, + "9" : { "x" : 29.56, "y" : 5.66 }, + "10" : { "x" : 20.84, "y" : 33.15 }, + "11" : { "x" : 23.09, "y" : 22.91 } + }, + { + "index" : 11, + "ball" : { "x" : -54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.64, "y" : -14.73 }, + "3" : { "x" : -45.24, "y" : -5.14 }, + "4" : { "x" : -49.75, "y" : -24.60 }, + "5" : { "x" : -45.60, "y" : 3.88 }, + "6" : { "x" : -39.84, "y" : -15.59 }, + "7" : { "x" : -41.33, "y" : -23.81 }, + "8" : { "x" : -34.88, "y" : -0.09 }, + "9" : { "x" : -34.41, "y" : -31.45 }, + "10" : { "x" : -13.66, "y" : 14.20 }, + "11" : { "x" : -15.54, "y" : -11.23 } + }, + { + "index" : 12, + "ball" : { "x" : -54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -45.24, "y" : 5.14 }, + "3" : { "x" : -45.64, "y" : 14.73 }, + "4" : { "x" : -45.60, "y" : -3.88 }, + "5" : { "x" : -49.75, "y" : 24.60 }, + "6" : { "x" : -39.84, "y" : 15.59 }, + "7" : { "x" : -34.88, "y" : 0.09 }, + "8" : { "x" : -41.33, "y" : 23.81 }, + "9" : { "x" : -13.66, "y" : -14.20 }, + "10" : { "x" : -34.41, "y" : 31.45 }, + "11" : { "x" : -15.54, "y" : 11.23 } + }, + { + "index" : 13, + "ball" : { "x" : -35.51, "y" : -20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.85, "y" : -6.47 }, + "3" : { "x" : -35.94, "y" : -0.54 }, + "4" : { "x" : -35.51, "y" : -10.18 }, + "5" : { "x" : -35.85, "y" : 6.83 }, + "6" : { "x" : -31.54, "y" : -9.91 }, + "7" : { "x" : -26.05, "y" : -14.96 }, + "8" : { "x" : -28.84, "y" : -0.72 }, + "9" : { "x" : -21.72, "y" : -27.22 }, + "10" : { "x" : -4.96, "y" : 16.58 }, + "11" : { "x" : -12.35, "y" : -9.19 } + }, + { + "index" : 14, + "ball" : { "x" : -35.51, "y" : 20.10 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -35.94, "y" : 0.54 }, + "3" : { "x" : -35.85, "y" : 6.47 }, + "4" : { "x" : -35.85, "y" : -6.83 }, + "5" : { "x" : -35.51, "y" : 10.18 }, + "6" : { "x" : -31.54, "y" : 9.91 }, + "7" : { "x" : -28.84, "y" : 0.72 }, + "8" : { "x" : -26.05, "y" : 14.96 }, + "9" : { "x" : -4.96, "y" : -16.58 }, + "10" : { "x" : -21.72, "y" : 27.22 }, + "11" : { "x" : -12.35, "y" : 9.19 } + }, + { + "index" : 15, + "ball" : { "x" : 40.11, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.63, "y" : -13.93 }, + "3" : { "x" : 0.45, "y" : -1.08 }, + "4" : { "x" : 9.70, "y" : -29.65 }, + "5" : { "x" : 4.94, "y" : 5.48 }, + "6" : { "x" : 11.18, "y" : -14.06 }, + "7" : { "x" : 26.50, "y" : -27.94 }, + "8" : { "x" : 29.92, "y" : -16.62 }, + "9" : { "x" : 31.09, "y" : -34.70 }, + "10" : { "x" : 32.43, "y" : -4.67 }, + "11" : { "x" : 31.98, "y" : -25.52 } + }, + { + "index" : 16, + "ball" : { "x" : 40.11, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.45, "y" : 1.08 }, + "3" : { "x" : -0.63, "y" : 13.93 }, + "4" : { "x" : 4.94, "y" : -5.48 }, + "5" : { "x" : 9.70, "y" : 29.65 }, + "6" : { "x" : 11.18, "y" : 14.06 }, + "7" : { "x" : 29.92, "y" : 16.62 }, + "8" : { "x" : 26.50, "y" : 27.94 }, + "9" : { "x" : 32.43, "y" : 4.67 }, + "10" : { "x" : 31.09, "y" : 34.70 }, + "11" : { "x" : 31.98, "y" : 25.52 } + }, + { + "index" : 17, + "ball" : { "x" : 54.50, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 12.58, "y" : -26.14 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 20.39, "y" : -13.39 }, + "7" : { "x" : 35.49, "y" : -27.13 }, + "8" : { "x" : 35.49, "y" : -9.70 }, + "9" : { "x" : 39.53, "y" : -32.88 }, + "10" : { "x" : 46.00, "y" : -11.32 }, + "11" : { "x" : 37.20, "y" : -20.21 } + }, + { + "index" : 18, + "ball" : { "x" : 54.50, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 12.58, "y" : 26.14 }, + "6" : { "x" : 20.39, "y" : 13.39 }, + "7" : { "x" : 35.49, "y" : 9.70 }, + "8" : { "x" : 35.49, "y" : 27.13 }, + "9" : { "x" : 46.00, "y" : 11.32 }, + "10" : { "x" : 39.53, "y" : 32.88 }, + "11" : { "x" : 37.20, "y" : 20.21 } + }, + { + "index" : 19, + "ball" : { "x" : 19.65, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -1.44, "y" : -23.27 }, + "3" : { "x" : -0.36, "y" : -0.63 }, + "4" : { "x" : -0.45, "y" : -32.99 }, + "5" : { "x" : -0.09, "y" : 10.51 }, + "6" : { "x" : 1.17, "y" : -17.16 }, + "7" : { "x" : 2.34, "y" : -27.67 }, + "8" : { "x" : 8.36, "y" : -11.86 }, + "9" : { "x" : 10.27, "y" : -29.92 }, + "10" : { "x" : 15.18, "y" : -1.26 }, + "11" : { "x" : 12.85, "y" : -22.73 } + }, + { + "index" : 20, + "ball" : { "x" : 19.65, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.36, "y" : 0.63 }, + "3" : { "x" : -1.44, "y" : 23.27 }, + "4" : { "x" : -0.09, "y" : -10.51 }, + "5" : { "x" : -0.45, "y" : 32.99 }, + "6" : { "x" : 1.17, "y" : 17.16 }, + "7" : { "x" : 8.36, "y" : 11.86 }, + "8" : { "x" : 2.34, "y" : 27.67 }, + "9" : { "x" : 15.18, "y" : 1.26 }, + "10" : { "x" : 10.27, "y" : 29.92 }, + "11" : { "x" : 12.85, "y" : 22.73 } + }, + { + "index" : 21, + "ball" : { "x" : 0.27, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.57, "y" : -23.88 }, + "3" : { "x" : -18.93, "y" : -8.47 }, + "4" : { "x" : -15.68, "y" : -32.72 }, + "5" : { "x" : -15.77, "y" : 4.15 }, + "6" : { "x" : -12.98, "y" : -19.20 }, + "7" : { "x" : -12.08, "y" : -27.58 }, + "8" : { "x" : -6.67, "y" : -7.48 }, + "9" : { "x" : -6.58, "y" : -22.80 }, + "10" : { "x" : 8.56, "y" : 9.37 }, + "11" : { "x" : 0.09, "y" : -18.75 } + }, + { + "index" : 22, + "ball" : { "x" : 0.27, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -18.93, "y" : 8.47 }, + "3" : { "x" : -18.57, "y" : 23.88 }, + "4" : { "x" : -15.77, "y" : -4.15 }, + "5" : { "x" : -15.68, "y" : 32.72 }, + "6" : { "x" : -12.98, "y" : 19.20 }, + "7" : { "x" : -6.67, "y" : 7.48 }, + "8" : { "x" : -12.08, "y" : 27.58 }, + "9" : { "x" : 8.56, "y" : -9.37 }, + "10" : { "x" : -6.58, "y" : 22.80 }, + "11" : { "x" : 0.09, "y" : 18.75 } + }, + { + "index" : 23, + "ball" : { "x" : 5.59, "y" : -11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -8.36, "y" : -12.85 }, + "3" : { "x" : -7.10, "y" : -4.40 }, + "4" : { "x" : -6.92, "y" : -21.11 }, + "5" : { "x" : -5.59, "y" : 6.22 }, + "6" : { "x" : -5.12, "y" : -10.24 }, + "7" : { "x" : -5.57, "y" : -17.61 }, + "8" : { "x" : -1.98, "y" : -1.26 }, + "9" : { "x" : -3.05, "y" : -19.68 }, + "10" : { "x" : 13.16, "y" : 16.76 }, + "11" : { "x" : 6.94, "y" : -1.17 } + }, + { + "index" : 24, + "ball" : { "x" : 5.59, "y" : 11.36 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.10, "y" : 4.40 }, + "3" : { "x" : -8.36, "y" : 12.85 }, + "4" : { "x" : -5.59, "y" : -6.22 }, + "5" : { "x" : -6.92, "y" : 21.11 }, + "6" : { "x" : -5.12, "y" : 10.24 }, + "7" : { "x" : -1.98, "y" : 1.26 }, + "8" : { "x" : -5.57, "y" : 17.61 }, + "9" : { "x" : 13.16, "y" : -16.76 }, + "10" : { "x" : -3.05, "y" : 19.68 }, + "11" : { "x" : 6.94, "y" : 1.17 } + }, + { + "index" : 25, + "ball" : { "x" : 5.32, "y" : -20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.61, "y" : -19.50 }, + "3" : { "x" : -7.66, "y" : -7.93 }, + "4" : { "x" : -8.45, "y" : -27.04 }, + "5" : { "x" : -7.12, "y" : 5.05 }, + "6" : { "x" : -6.94, "y" : -13.52 }, + "7" : { "x" : -6.65, "y" : -23.36 }, + "8" : { "x" : -0.72, "y" : -4.15 }, + "9" : { "x" : -5.93, "y" : -18.42 }, + "10" : { "x" : 11.43, "y" : 14.05 }, + "11" : { "x" : 5.59, "y" : -8.29 } + }, + { + "index" : 26, + "ball" : { "x" : 5.32, "y" : 20.37 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.66, "y" : 7.93 }, + "3" : { "x" : -9.61, "y" : 19.50 }, + "4" : { "x" : -7.12, "y" : -5.05 }, + "5" : { "x" : -8.45, "y" : 27.04 }, + "6" : { "x" : -6.94, "y" : 13.52 }, + "7" : { "x" : -0.72, "y" : 4.15 }, + "8" : { "x" : -6.65, "y" : 23.36 }, + "9" : { "x" : 11.43, "y" : -14.05 }, + "10" : { "x" : -5.93, "y" : 18.42 }, + "11" : { "x" : 5.59, "y" : 8.29 } + }, + { + "index" : 27, + "ball" : { "x" : 6.04, "y" : -27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -6.02, "y" : -21.65 }, + "3" : { "x" : -5.77, "y" : -10.36 }, + "4" : { "x" : -6.65, "y" : -29.47 }, + "5" : { "x" : -4.69, "y" : 1.98 }, + "6" : { "x" : -2.34, "y" : -16.53 }, + "7" : { "x" : -4.04, "y" : -25.43 }, + "8" : { "x" : 0.81, "y" : -3.70 }, + "9" : { "x" : -1.35, "y" : -21.02 }, + "10" : { "x" : 11.65, "y" : 12.19 }, + "11" : { "x" : 8.47, "y" : -14.06 } + }, + { + "index" : 28, + "ball" : { "x" : 6.04, "y" : 27.85 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.77, "y" : 10.36 }, + "3" : { "x" : -6.02, "y" : 21.65 }, + "4" : { "x" : -4.69, "y" : -1.98 }, + "5" : { "x" : -6.65, "y" : 29.47 }, + "6" : { "x" : -2.34, "y" : 16.53 }, + "7" : { "x" : 0.81, "y" : 3.70 }, + "8" : { "x" : -4.04, "y" : 25.43 }, + "9" : { "x" : 11.65, "y" : -12.19 }, + "10" : { "x" : -1.35, "y" : 21.02 }, + "11" : { "x" : 8.47, "y" : 14.06 } + }, + { + "index" : 29, + "ball" : { "x" : 43.71, "y" : -26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.54, "y" : -11.68 }, + "3" : { "x" : 0.09, "y" : 0.09 }, + "4" : { "x" : 3.15, "y" : -22.59 }, + "5" : { "x" : 4.94, "y" : 9.60 }, + "6" : { "x" : 18.69, "y" : -12.31 }, + "7" : { "x" : 27.58, "y" : -23.72 }, + "8" : { "x" : 32.70, "y" : -10.78 }, + "9" : { "x" : 31.36, "y" : -28.03 }, + "10" : { "x" : 40.79, "y" : -5.75 }, + "11" : { "x" : 31.98, "y" : -19.50 } + }, + { + "index" : 30, + "ball" : { "x" : 43.71, "y" : 26.77 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.09, "y" : -0.09 }, + "3" : { "x" : -0.54, "y" : 11.68 }, + "4" : { "x" : 4.94, "y" : -9.60 }, + "5" : { "x" : 3.15, "y" : 22.59 }, + "6" : { "x" : 18.69, "y" : 12.31 }, + "7" : { "x" : 32.70, "y" : 10.78 }, + "8" : { "x" : 27.58, "y" : 23.72 }, + "9" : { "x" : 40.79, "y" : 5.75 }, + "10" : { "x" : 31.36, "y" : 28.03 }, + "11" : { "x" : 31.98, "y" : 19.50 } + }, + { + "index" : 31, + "ball" : { "x" : 21.90, "y" : -12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.08, "y" : -11.13 }, + "3" : { "x" : 0.03, "y" : 2.01 }, + "4" : { "x" : 0.18, "y" : -23.54 }, + "5" : { "x" : 0.45, "y" : 13.08 }, + "6" : { "x" : 7.55, "y" : -6.20 }, + "7" : { "x" : 7.28, "y" : -16.26 }, + "8" : { "x" : 11.50, "y" : -1.71 }, + "9" : { "x" : 11.86, "y" : -21.47 }, + "10" : { "x" : 21.65, "y" : 15.00 }, + "11" : { "x" : 10.42, "y" : -11.05 } + }, + { + "index" : 32, + "ball" : { "x" : 21.90, "y" : 12.80 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.03, "y" : -2.01 }, + "3" : { "x" : 0.08, "y" : 11.13 }, + "4" : { "x" : 0.45, "y" : -13.08 }, + "5" : { "x" : 0.18, "y" : 23.54 }, + "6" : { "x" : 7.55, "y" : 6.20 }, + "7" : { "x" : 11.50, "y" : 1.71 }, + "8" : { "x" : 7.28, "y" : 16.26 }, + "9" : { "x" : 21.65, "y" : -15.00 }, + "10" : { "x" : 11.86, "y" : 21.47 }, + "11" : { "x" : 10.42, "y" : 11.05 } + }, + { + "index" : 33, + "ball" : { "x" : 21.27, "y" : -21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -13.61 }, + "3" : { "x" : 0.27, "y" : -3.24 }, + "4" : { "x" : -0.18, "y" : -27.58 }, + "5" : { "x" : 0.54, "y" : 8.56 }, + "6" : { "x" : 9.55, "y" : -10.09 }, + "7" : { "x" : 7.75, "y" : -20.55 }, + "8" : { "x" : 12.71, "y" : -7.39 }, + "9" : { "x" : 9.91, "y" : -25.05 }, + "10" : { "x" : 20.64, "y" : -0.99 }, + "11" : { "x" : 9.64, "y" : -16.49 } + }, + { + "index" : 34, + "ball" : { "x" : 21.27, "y" : 21.99 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.27, "y" : 3.24 }, + "3" : { "x" : 0.18, "y" : 13.61 }, + "4" : { "x" : 0.54, "y" : -8.56 }, + "5" : { "x" : -0.18, "y" : 27.58 }, + "6" : { "x" : 9.55, "y" : 10.09 }, + "7" : { "x" : 12.71, "y" : 7.39 }, + "8" : { "x" : 7.75, "y" : 20.55 }, + "9" : { "x" : 20.64, "y" : 0.99 }, + "10" : { "x" : 9.91, "y" : 25.05 }, + "11" : { "x" : 9.64, "y" : 16.49 } + }, + { + "index" : 35, + "ball" : { "x" : 35.69, "y" : -8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.45, "y" : -10.42 }, + "3" : { "x" : 0.63, "y" : 3.50 }, + "4" : { "x" : 3.45, "y" : -20.89 }, + "5" : { "x" : 5.09, "y" : 13.48 }, + "6" : { "x" : 9.25, "y" : -3.23 }, + "7" : { "x" : 22.01, "y" : -14.46 }, + "8" : { "x" : 23.09, "y" : -3.41 }, + "9" : { "x" : 25.79, "y" : -17.88 }, + "10" : { "x" : 26.32, "y" : 3.68 }, + "11" : { "x" : 24.51, "y" : -8.92 } + }, + { + "index" : 36, + "ball" : { "x" : 35.69, "y" : 8.56 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.63, "y" : -3.50 }, + "3" : { "x" : -0.45, "y" : 10.42 }, + "4" : { "x" : 5.09, "y" : -13.48 }, + "5" : { "x" : 3.45, "y" : 20.89 }, + "6" : { "x" : 9.25, "y" : 3.23 }, + "7" : { "x" : 23.09, "y" : 3.41 }, + "8" : { "x" : 22.01, "y" : 14.46 }, + "9" : { "x" : 26.32, "y" : -3.68 }, + "10" : { "x" : 25.79, "y" : 17.88 }, + "11" : { "x" : 24.51, "y" : 8.92 } + }, + { + "index" : 37, + "ball" : { "x" : 31.00, "y" : -28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.18, "y" : -10.36 }, + "3" : { "x" : 2.88, "y" : 0.27 }, + "4" : { "x" : 0.36, "y" : -22.89 }, + "5" : { "x" : 9.88, "y" : 9.61 }, + "6" : { "x" : 10.42, "y" : -9.34 }, + "7" : { "x" : 17.66, "y" : -23.88 }, + "8" : { "x" : 22.64, "y" : -15.18 }, + "9" : { "x" : 18.39, "y" : -28.75 }, + "10" : { "x" : 25.34, "y" : -2.16 }, + "11" : { "x" : 19.56, "y" : -19.47 } + }, + { + "index" : 38, + "ball" : { "x" : 31.00, "y" : 28.39 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.88, "y" : -0.27 }, + "3" : { "x" : 0.18, "y" : 10.36 }, + "4" : { "x" : 9.88, "y" : -9.61 }, + "5" : { "x" : 0.36, "y" : 22.89 }, + "6" : { "x" : 10.42, "y" : 9.34 }, + "7" : { "x" : 22.64, "y" : 15.18 }, + "8" : { "x" : 17.66, "y" : 23.88 }, + "9" : { "x" : 25.34, "y" : 2.16 }, + "10" : { "x" : 18.39, "y" : 28.75 }, + "11" : { "x" : 19.56, "y" : 19.47 } + }, + { + "index" : 39, + "ball" : { "x" : -25.96, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -38.99, "y" : -16.71 }, + "3" : { "x" : -37.91, "y" : -6.56 }, + "4" : { "x" : -39.53, "y" : -27.31 }, + "5" : { "x" : -36.57, "y" : 4.94 }, + "6" : { "x" : -32.43, "y" : -17.43 }, + "7" : { "x" : -34.23, "y" : -24.89 }, + "8" : { "x" : -19.65, "y" : -5.68 }, + "9" : { "x" : -25.25, "y" : -22.37 }, + "10" : { "x" : 0.05, "y" : 16.07 }, + "11" : { "x" : -2.05, "y" : -11.45 } + }, + { + "index" : 40, + "ball" : { "x" : -25.96, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -37.91, "y" : 6.56 }, + "3" : { "x" : -38.99, "y" : 16.71 }, + "4" : { "x" : -36.57, "y" : -4.94 }, + "5" : { "x" : -39.53, "y" : 27.31 }, + "6" : { "x" : -32.43, "y" : 17.43 }, + "7" : { "x" : -19.65, "y" : 5.68 }, + "8" : { "x" : -34.23, "y" : 24.89 }, + "9" : { "x" : 0.05, "y" : -16.07 }, + "10" : { "x" : -25.25, "y" : 22.37 }, + "11" : { "x" : -2.05, "y" : 11.45 } + }, + { + "index" : 41, + "ball" : { "x" : -34.70, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -45.42, "y" : -16.67 }, + "3" : { "x" : -41.17, "y" : -6.38 }, + "4" : { "x" : -43.38, "y" : -26.20 }, + "5" : { "x" : -42.27, "y" : 5.02 }, + "6" : { "x" : -40.74, "y" : -16.42 }, + "7" : { "x" : -38.70, "y" : -22.37 }, + "8" : { "x" : -26.68, "y" : -5.30 }, + "9" : { "x" : -30.37, "y" : -23.56 }, + "10" : { "x" : -6.21, "y" : 10.04 }, + "11" : { "x" : -15.91, "y" : -13.86 } + }, + { + "index" : 42, + "ball" : { "x" : -34.70, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -41.17, "y" : 6.38 }, + "3" : { "x" : -45.42, "y" : 16.67 }, + "4" : { "x" : -42.27, "y" : -5.02 }, + "5" : { "x" : -43.38, "y" : 26.20 }, + "6" : { "x" : -40.74, "y" : 16.42 }, + "7" : { "x" : -26.68, "y" : 5.30 }, + "8" : { "x" : -38.70, "y" : 22.37 }, + "9" : { "x" : -6.21, "y" : -10.04 }, + "10" : { "x" : -30.37, "y" : 23.56 }, + "11" : { "x" : -15.91, "y" : 13.86 } + }, + { + "index" : 43, + "ball" : { "x" : -16.13, "y" : -36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.37, "y" : -20.37 }, + "3" : { "x" : -29.74, "y" : -7.57 }, + "4" : { "x" : -30.19, "y" : -31.27 }, + "5" : { "x" : -25.42, "y" : 2.88 }, + "6" : { "x" : -24.53, "y" : -18.78 }, + "7" : { "x" : -26.86, "y" : -26.50 }, + "8" : { "x" : -14.15, "y" : -4.87 }, + "9" : { "x" : -17.07, "y" : -21.11 }, + "10" : { "x" : 3.10, "y" : 15.08 }, + "11" : { "x" : 0.51, "y" : -11.31 } + }, + { + "index" : 44, + "ball" : { "x" : -16.13, "y" : 36.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -29.74, "y" : 7.57 }, + "3" : { "x" : -30.37, "y" : 20.37 }, + "4" : { "x" : -25.42, "y" : -2.88 }, + "5" : { "x" : -30.19, "y" : 31.27 }, + "6" : { "x" : -24.53, "y" : 18.78 }, + "7" : { "x" : -14.15, "y" : 4.87 }, + "8" : { "x" : -26.86, "y" : 26.50 }, + "9" : { "x" : 3.10, "y" : -15.08 }, + "10" : { "x" : -17.07, "y" : 21.11 }, + "11" : { "x" : 0.51, "y" : 11.31 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/formations-taker/setplay-our-formation.conf b/SoccerSimulationProxyBin/bin/formations-taker/setplay-our-formation.conf new file mode 100644 index 0000000..8ea60e5 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/formations-taker/setplay-our-formation.conf @@ -0,0 +1,775 @@ +{ + "version" : "", + "method" : "DelaunayTriangulation", + "role" : [ + { + "number" : 1, + "name" : "Goalie", + "type" : "G", + "side" : "C", + "pair" : 0 + }, + { + "number" : 2, + "name" : "CenterBack", + "type" : "DF", + "side" : "L", + "pair" : 3 + }, + { + "number" : 3, + "name" : "CenterBack", + "type" : "DF", + "side" : "R", + "pair" : 2 + }, + { + "number" : 4, + "name" : "SideBack", + "type" : "DF", + "side" : "L", + "pair" : 5 + }, + { + "number" : 5, + "name" : "SideBack", + "type" : "DF", + "side" : "R", + "pair" : 4 + }, + { + "number" : 6, + "name" : "DefensiveHalf", + "type" : "MF", + "side" : "C", + "pair" : 0 + }, + { + "number" : 7, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "L", + "pair" : 8 + }, + { + "number" : 8, + "name" : "OffensiveHalf", + "type" : "MF", + "side" : "R", + "pair" : 7 + }, + { + "number" : 9, + "name" : "SideForward", + "type" : "FW", + "side" : "L", + "pair" : 10 + }, + { + "number" : 10, + "name" : "SideForward", + "type" : "FW", + "side" : "R", + "pair" : 9 + }, + { + "number" : 11, + "name" : "CenterForward", + "type" : "FW", + "side" : "C", + "pair" : 0 + } + ], + "data" : [ + { + "index" : 0, + "ball" : { "x" : 0.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -15.22, "y" : -4.84 }, + "3" : { "x" : -15.33, "y" : 3.66 }, + "4" : { "x" : -9.29, "y" : -15.12 }, + "5" : { "x" : -10.84, "y" : 13.69 }, + "6" : { "x" : -0.71, "y" : -0.36 }, + "7" : { "x" : 0.00, "y" : -6.97 }, + "8" : { "x" : 0.48, "y" : 6.73 }, + "9" : { "x" : 13.69, "y" : -20.13 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 16.08, "y" : 0.00 } + }, + { + "index" : 1, + "ball" : { "x" : -54.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.15, "y" : -1.92 }, + "3" : { "x" : -46.03, "y" : 2.88 }, + "4" : { "x" : -45.07, "y" : -7.57 }, + "5" : { "x" : -45.55, "y" : 7.93 }, + "6" : { "x" : -39.78, "y" : 0.00 }, + "7" : { "x" : -36.30, "y" : -15.98 }, + "8" : { "x" : -37.02, "y" : 11.78 }, + "9" : { "x" : -22.00, "y" : -28.00 }, + "10" : { "x" : -19.29, "y" : 26.44 }, + "11" : { "x" : -16.47, "y" : -0.84 } + }, + { + "index" : 2, + "ball" : { "x" : 36.26, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -7.38 }, + "3" : { "x" : 0.00, "y" : 7.38 }, + "4" : { "x" : 4.00, "y" : -17.70 }, + "5" : { "x" : 4.00, "y" : 17.70 }, + "6" : { "x" : 15.24, "y" : 0.48 }, + "7" : { "x" : 27.75, "y" : -8.10 }, + "8" : { "x" : 28.10, "y" : 9.76 }, + "9" : { "x" : 35.96, "y" : -16.20 }, + "10" : { "x" : 36.56, "y" : 16.91 }, + "11" : { "x" : 35.61, "y" : 0.00 } + }, + { + "index" : 3, + "ball" : { "x" : -41.78, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -42.99, "y" : -0.71 }, + "3" : { "x" : -42.91, "y" : 4.21 }, + "4" : { "x" : -42.31, "y" : -7.69 }, + "5" : { "x" : -42.91, "y" : 9.01 }, + "6" : { "x" : -36.66, "y" : 0.36 }, + "7" : { "x" : -33.41, "y" : -10.82 }, + "8" : { "x" : -31.61, "y" : 10.94 }, + "9" : { "x" : -15.48, "y" : -29.41 }, + "10" : { "x" : -17.51, "y" : 27.15 }, + "11" : { "x" : -18.27, "y" : -0.36 } + }, + { + "index" : 4, + "ball" : { "x" : -26.95, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.96, "y" : -1.91 }, + "3" : { "x" : -30.25, "y" : 7.74 }, + "4" : { "x" : -29.90, "y" : -11.32 }, + "5" : { "x" : -28.25, "y" : 16.41 }, + "6" : { "x" : -15.27, "y" : -7.63 }, + "7" : { "x" : -17.43, "y" : -23.41 }, + "8" : { "x" : -15.52, "y" : 9.16 }, + "9" : { "x" : -4.76, "y" : -27.75 }, + "10" : { "x" : -5.34, "y" : 26.47 }, + "11" : { "x" : -0.51, "y" : 0.51 } + }, + { + "index" : 5, + "ball" : { "x" : -17.50, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -23.22, "y" : -1.67 }, + "3" : { "x" : -23.20, "y" : 3.73 }, + "4" : { "x" : -22.84, "y" : -8.89 }, + "5" : { "x" : -22.96, "y" : 12.26 }, + "6" : { "x" : -16.10, "y" : 1.20 }, + "7" : { "x" : -11.90, "y" : -4.69 }, + "8" : { "x" : -10.94, "y" : 6.37 }, + "9" : { "x" : 1.20, "y" : -15.38 }, + "10" : { "x" : 0.12, "y" : 18.51 }, + "11" : { "x" : 2.40, "y" : 0.00 } + }, + { + "index" : 6, + "ball" : { "x" : 7.67, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -5.90, "y" : -5.31 }, + "3" : { "x" : -6.02, "y" : 5.19 }, + "4" : { "x" : -3.07, "y" : -16.04 }, + "5" : { "x" : -2.95, "y" : 16.39 }, + "6" : { "x" : 6.25, "y" : -0.36 }, + "7" : { "x" : 11.66, "y" : -5.77 }, + "8" : { "x" : 11.78, "y" : 6.13 }, + "9" : { "x" : 21.76, "y" : -22.52 }, + "10" : { "x" : 22.78, "y" : 23.54 }, + "11" : { "x" : 17.43, "y" : 0.00 } + }, + { + "index" : 7, + "ball" : { "x" : 49.50, "y" : -20.51 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 3.00, "y" : -8.85 }, + "3" : { "x" : 0.00, "y" : 5.00 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.00, "y" : 15.50 }, + "6" : { "x" : 21.04, "y" : -6.95 }, + "7" : { "x" : 32.80, "y" : -18.96 }, + "8" : { "x" : 35.10, "y" : 0.46 }, + "9" : { "x" : 45.46, "y" : -24.17 }, + "10" : { "x" : 44.84, "y" : 10.61 }, + "11" : { "x" : 45.68, "y" : -10.85 } + }, + { + "index" : 8, + "ball" : { "x" : 49.50, "y" : 20.51 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.00, "y" : -5.00 }, + "3" : { "x" : 3.00, "y" : 8.85 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 21.04, "y" : 6.95 }, + "7" : { "x" : 35.10, "y" : -0.46 }, + "8" : { "x" : 32.80, "y" : 18.96 }, + "9" : { "x" : 44.84, "y" : -10.61 }, + "10" : { "x" : 45.46, "y" : 24.17 }, + "11" : { "x" : 45.68, "y" : 10.85 } + }, + { + "index" : 9, + "ball" : { "x" : -54.00, "y" : -10.00 }, + "1" : { "x" : -50.57, "y" : -6.44 }, + "2" : { "x" : -48.18, "y" : -5.96 }, + "3" : { "x" : -48.06, "y" : -1.07 }, + "4" : { "x" : -49.50, "y" : -9.06 }, + "5" : { "x" : -47.94, "y" : 4.06 }, + "6" : { "x" : -44.37, "y" : -2.62 }, + "7" : { "x" : -43.73, "y" : -9.47 }, + "8" : { "x" : -31.39, "y" : 8.23 }, + "9" : { "x" : -24.81, "y" : -29.58 }, + "10" : { "x" : -18.82, "y" : 25.56 }, + "11" : { "x" : -20.87, "y" : -8.59 } + }, + { + "index" : 10, + "ball" : { "x" : -54.00, "y" : 10.00 }, + "1" : { "x" : -50.57, "y" : 6.44 }, + "2" : { "x" : -48.06, "y" : 1.07 }, + "3" : { "x" : -48.18, "y" : 5.96 }, + "4" : { "x" : -47.94, "y" : -4.06 }, + "5" : { "x" : -49.50, "y" : 9.06 }, + "6" : { "x" : -44.37, "y" : 2.62 }, + "7" : { "x" : -31.39, "y" : -8.23 }, + "8" : { "x" : -43.73, "y" : 9.47 }, + "9" : { "x" : -18.82, "y" : -25.56 }, + "10" : { "x" : -24.81, "y" : 29.58 }, + "11" : { "x" : -20.87, "y" : 8.59 } + }, + { + "index" : 11, + "ball" : { "x" : -6.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -9.67, "y" : -0.25 }, + "3" : { "x" : -14.00, "y" : 4.58 }, + "4" : { "x" : -13.23, "y" : -12.34 }, + "5" : { "x" : -8.91, "y" : 12.34 }, + "6" : { "x" : -5.09, "y" : -9.92 }, + "7" : { "x" : -0.51, "y" : -21.38 }, + "8" : { "x" : 1.65, "y" : 11.71 }, + "9" : { "x" : 10.26, "y" : -24.00 }, + "10" : { "x" : 10.73, "y" : 24.00 }, + "11" : { "x" : 4.84, "y" : 0.00 } + }, + { + "index" : 12, + "ball" : { "x" : -12.00, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -19.35, "y" : -3.12 }, + "3" : { "x" : -19.11, "y" : 3.00 }, + "4" : { "x" : -17.91, "y" : -11.18 }, + "5" : { "x" : -17.55, "y" : 11.06 }, + "6" : { "x" : -13.22, "y" : 0.12 }, + "7" : { "x" : -6.97, "y" : -6.85 }, + "8" : { "x" : -7.57, "y" : 5.29 }, + "9" : { "x" : 1.92, "y" : -21.51 }, + "10" : { "x" : 0.84, "y" : 22.23 }, + "11" : { "x" : 5.65, "y" : 0.36 } + }, + { + "index" : 13, + "ball" : { "x" : 35.78, "y" : -9.54 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 1.68, "y" : -7.93 }, + "3" : { "x" : 4.93, "y" : 6.85 }, + "4" : { "x" : 5.00, "y" : -20.00 }, + "5" : { "x" : 12.26, "y" : 16.47 }, + "6" : { "x" : 16.55, "y" : -2.26 }, + "7" : { "x" : 21.79, "y" : -15.36 }, + "8" : { "x" : 26.44, "y" : 1.07 }, + "9" : { "x" : 35.73, "y" : -17.03 }, + "10" : { "x" : 35.13, "y" : 8.57 }, + "11" : { "x" : 33.94, "y" : -8.57 } + }, + { + "index" : 14, + "ball" : { "x" : 35.78, "y" : 9.54 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.93, "y" : -7.33 }, + "3" : { "x" : 2.16, "y" : 8.65 }, + "4" : { "x" : 12.00, "y" : -15.50 }, + "5" : { "x" : 5.00, "y" : 20.00 }, + "6" : { "x" : 16.55, "y" : 2.26 }, + "7" : { "x" : 26.44, "y" : -1.07 }, + "8" : { "x" : 21.79, "y" : 15.36 }, + "9" : { "x" : 35.13, "y" : -8.57 }, + "10" : { "x" : 35.73, "y" : 17.03 }, + "11" : { "x" : 33.94, "y" : 8.57 } + }, + { + "index" : 15, + "ball" : { "x" : 54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.89, "y" : -12.98 }, + "3" : { "x" : 6.36, "y" : 2.29 }, + "4" : { "x" : 8.30, "y" : -27.30 }, + "5" : { "x" : 18.32, "y" : 10.56 }, + "6" : { "x" : 20.16, "y" : -10.85 }, + "7" : { "x" : 38.11, "y" : -27.75 }, + "8" : { "x" : 38.30, "y" : -4.20 }, + "9" : { "x" : 47.63, "y" : -30.13 }, + "10" : { "x" : 47.28, "y" : -2.38 }, + "11" : { "x" : 48.47, "y" : -19.77 } + }, + { + "index" : 16, + "ball" : { "x" : 54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 6.36, "y" : -2.29 }, + "3" : { "x" : -0.89, "y" : 12.98 }, + "4" : { "x" : 18.32, "y" : -10.56 }, + "5" : { "x" : 8.30, "y" : 27.30 }, + "6" : { "x" : 20.16, "y" : 10.85 }, + "7" : { "x" : 38.30, "y" : 4.20 }, + "8" : { "x" : 38.11, "y" : 27.75 }, + "9" : { "x" : 47.28, "y" : 2.38 }, + "10" : { "x" : 47.63, "y" : 30.13 }, + "11" : { "x" : 48.47, "y" : 19.77 } + }, + { + "index" : 17, + "ball" : { "x" : -12.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -17.51, "y" : -22.27 }, + "3" : { "x" : -18.01, "y" : -8.59 }, + "4" : { "x" : -13.46, "y" : -32.39 }, + "5" : { "x" : -18.72, "y" : 4.06 }, + "6" : { "x" : -7.50, "y" : -15.36 }, + "7" : { "x" : -8.65, "y" : -28.96 }, + "8" : { "x" : -5.96, "y" : 0.12 }, + "9" : { "x" : 4.17, "y" : -31.84 }, + "10" : { "x" : 0.95, "y" : 18.25 }, + "11" : { "x" : 5.48, "y" : -7.15 } + }, + { + "index" : 18, + "ball" : { "x" : -12.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.01, "y" : 8.59 }, + "3" : { "x" : -17.51, "y" : 22.27 }, + "4" : { "x" : -18.72, "y" : -4.06 }, + "5" : { "x" : -13.46, "y" : 32.39 }, + "6" : { "x" : -7.50, "y" : 15.36 }, + "7" : { "x" : -5.96, "y" : -0.12 }, + "8" : { "x" : -7.57, "y" : 30.17 }, + "9" : { "x" : 0.95, "y" : -18.25 }, + "10" : { "x" : 4.17, "y" : 31.84 }, + "11" : { "x" : 5.48, "y" : 7.15 } + }, + { + "index" : 19, + "ball" : { "x" : -36.02, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : -0.01 }, + "2" : { "x" : -37.79, "y" : -14.51 }, + "3" : { "x" : -38.05, "y" : -7.25 }, + "4" : { "x" : -36.32, "y" : -30.49 }, + "5" : { "x" : -37.92, "y" : 1.27 }, + "6" : { "x" : -30.54, "y" : -19.34 }, + "7" : { "x" : -26.08, "y" : -24.69 }, + "8" : { "x" : -20.16, "y" : 0.60 }, + "9" : { "x" : -12.72, "y" : -32.32 }, + "10" : { "x" : -7.44, "y" : 19.44 }, + "11" : { "x" : -7.62, "y" : -11.95 } + }, + { + "index" : 20, + "ball" : { "x" : -36.02, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : 0.01 }, + "2" : { "x" : -38.05, "y" : 7.25 }, + "3" : { "x" : -37.79, "y" : 14.51 }, + "4" : { "x" : -37.92, "y" : -1.27 }, + "5" : { "x" : -36.32, "y" : 30.49 }, + "6" : { "x" : -30.54, "y" : 19.34 }, + "7" : { "x" : -20.16, "y" : -0.60 }, + "8" : { "x" : -26.08, "y" : 24.69 }, + "9" : { "x" : -7.44, "y" : -19.44 }, + "10" : { "x" : -12.72, "y" : 32.32 }, + "11" : { "x" : -7.62, "y" : 11.95 } + }, + { + "index" : 21, + "ball" : { "x" : -54.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -46.83, "y" : -11.96 }, + "3" : { "x" : -46.51, "y" : -4.65 }, + "4" : { "x" : -50.73, "y" : -32.15 }, + "5" : { "x" : -45.56, "y" : 4.77 }, + "6" : { "x" : -41.99, "y" : -15.01 }, + "7" : { "x" : -35.76, "y" : -22.52 }, + "8" : { "x" : -23.79, "y" : 0.76 }, + "9" : { "x" : -22.39, "y" : -31.81 }, + "10" : { "x" : -12.98, "y" : 19.47 }, + "11" : { "x" : -16.92, "y" : -13.11 } + }, + { + "index" : 22, + "ball" : { "x" : -54.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -46.51, "y" : 4.65 }, + "3" : { "x" : -46.83, "y" : 11.96 }, + "4" : { "x" : -45.56, "y" : -4.77 }, + "5" : { "x" : -50.73, "y" : 32.15 }, + "6" : { "x" : -41.99, "y" : 15.01 }, + "7" : { "x" : -23.79, "y" : -0.76 }, + "8" : { "x" : -35.76, "y" : 22.52 }, + "9" : { "x" : -12.98, "y" : -19.47 }, + "10" : { "x" : -22.39, "y" : 31.81 }, + "11" : { "x" : -16.92, "y" : 13.11 } + }, + { + "index" : 23, + "ball" : { "x" : -17.50, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -26.59, "y" : -10.18 }, + "3" : { "x" : -26.47, "y" : -3.94 }, + "4" : { "x" : -26.72, "y" : -14.63 }, + "5" : { "x" : -26.21, "y" : 2.54 }, + "6" : { "x" : -19.98, "y" : -11.07 }, + "7" : { "x" : -17.43, "y" : -18.96 }, + "8" : { "x" : -15.27, "y" : -1.40 }, + "9" : { "x" : -4.07, "y" : -30.92 }, + "10" : { "x" : -1.02, "y" : 17.69 }, + "11" : { "x" : -3.82, "y" : -10.69 } + }, + { + "index" : 24, + "ball" : { "x" : -17.50, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -26.47, "y" : 3.94 }, + "3" : { "x" : -26.59, "y" : 10.18 }, + "4" : { "x" : -26.21, "y" : -2.54 }, + "5" : { "x" : -26.72, "y" : 14.63 }, + "6" : { "x" : -19.98, "y" : 11.07 }, + "7" : { "x" : -15.27, "y" : 1.40 }, + "8" : { "x" : -17.43, "y" : 18.96 }, + "9" : { "x" : -1.02, "y" : -17.69 }, + "10" : { "x" : -4.07, "y" : 30.92 }, + "11" : { "x" : -3.82, "y" : 10.69 } + }, + { + "index" : 25, + "ball" : { "x" : 36.08, "y" : -20.60 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.57, "y" : -11.68 }, + "3" : { "x" : 0.00, "y" : 2.08 }, + "4" : { "x" : 4.57, "y" : -22.24 }, + "5" : { "x" : 9.42, "y" : 13.34 }, + "6" : { "x" : 17.57, "y" : -12.21 }, + "7" : { "x" : 32.96, "y" : -16.03 }, + "8" : { "x" : 28.91, "y" : -1.62 }, + "9" : { "x" : 38.94, "y" : -20.74 }, + "10" : { "x" : 39.06, "y" : 2.16 }, + "11" : { "x" : 37.92, "y" : -10.18 } + }, + { + "index" : 26, + "ball" : { "x" : 36.08, "y" : 20.60 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 0.00, "y" : -2.08 }, + "3" : { "x" : 2.57, "y" : 11.68 }, + "4" : { "x" : 9.42, "y" : -13.34 }, + "5" : { "x" : 4.57, "y" : 22.24 }, + "6" : { "x" : 17.57, "y" : 12.21 }, + "7" : { "x" : 28.91, "y" : 1.62 }, + "8" : { "x" : 32.96, "y" : 16.03 }, + "9" : { "x" : 39.06, "y" : -2.16 }, + "10" : { "x" : 38.94, "y" : 20.74 }, + "11" : { "x" : 37.92, "y" : 10.18 } + }, + { + "index" : 27, + "ball" : { "x" : -26.95, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -30.25, "y" : -11.07 }, + "3" : { "x" : -29.69, "y" : -2.28 }, + "4" : { "x" : -29.81, "y" : -18.03 }, + "5" : { "x" : -26.92, "y" : 7.69 }, + "6" : { "x" : -21.75, "y" : -7.69 }, + "7" : { "x" : -18.87, "y" : -29.81 }, + "8" : { "x" : -12.50, "y" : 5.05 }, + "9" : { "x" : -4.64, "y" : -30.01 }, + "10" : { "x" : -3.73, "y" : 23.56 }, + "11" : { "x" : -6.61, "y" : -10.94 } + }, + { + "index" : 28, + "ball" : { "x" : -26.95, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -29.69, "y" : 2.28 }, + "3" : { "x" : -30.25, "y" : 11.07 }, + "4" : { "x" : -26.92, "y" : -7.69 }, + "5" : { "x" : -29.81, "y" : 18.03 }, + "6" : { "x" : -21.75, "y" : 7.69 }, + "7" : { "x" : -12.50, "y" : -5.05 }, + "8" : { "x" : -18.87, "y" : 29.81 }, + "9" : { "x" : -3.73, "y" : -23.56 }, + "10" : { "x" : -4.64, "y" : 30.01 }, + "11" : { "x" : -6.61, "y" : 10.94 } + }, + { + "index" : 29, + "ball" : { "x" : -48.97, "y" : -17.73 }, + "1" : { "x" : -50.00, "y" : -7.00 }, + "2" : { "x" : -47.24, "y" : -6.80 }, + "3" : { "x" : -46.76, "y" : -0.19 }, + "4" : { "x" : -46.68, "y" : -16.79 }, + "5" : { "x" : -46.57, "y" : 4.31 }, + "6" : { "x" : -40.62, "y" : -8.41 }, + "7" : { "x" : -37.14, "y" : -28.12 }, + "8" : { "x" : -35.33, "y" : 4.21 }, + "9" : { "x" : -18.70, "y" : -31.91 }, + "10" : { "x" : -20.48, "y" : 23.10 }, + "11" : { "x" : -17.62, "y" : -9.17 } + }, + { + "index" : 30, + "ball" : { "x" : -48.97, "y" : 17.73 }, + "1" : { "x" : -50.00, "y" : 7.00 }, + "2" : { "x" : -46.76, "y" : 0.19 }, + "3" : { "x" : -47.24, "y" : 6.80 }, + "4" : { "x" : -46.57, "y" : -4.31 }, + "5" : { "x" : -46.68, "y" : 16.79 }, + "6" : { "x" : -40.62, "y" : 8.41 }, + "7" : { "x" : -35.33, "y" : -4.21 }, + "8" : { "x" : -37.14, "y" : 28.12 }, + "9" : { "x" : -20.48, "y" : -23.10 }, + "10" : { "x" : -18.70, "y" : 31.91 }, + "11" : { "x" : -17.62, "y" : 9.17 } + }, + { + "index" : 31, + "ball" : { "x" : -26.95, "y" : -31.61 }, + "1" : { "x" : -50.00, "y" : -0.02 }, + "2" : { "x" : -30.65, "y" : -16.82 }, + "3" : { "x" : -30.77, "y" : -6.44 }, + "4" : { "x" : -30.06, "y" : -29.10 }, + "5" : { "x" : -30.29, "y" : 3.70 }, + "6" : { "x" : -21.03, "y" : -15.74 }, + "7" : { "x" : -24.04, "y" : -26.08 }, + "8" : { "x" : -15.24, "y" : -1.07 }, + "9" : { "x" : -4.96, "y" : -32.07 }, + "10" : { "x" : -7.86, "y" : 21.08 }, + "11" : { "x" : -0.24, "y" : -11.31 } + }, + { + "index" : 32, + "ball" : { "x" : -26.95, "y" : 31.61 }, + "1" : { "x" : -50.00, "y" : 0.02 }, + "2" : { "x" : -30.77, "y" : 6.44 }, + "3" : { "x" : -30.65, "y" : 16.82 }, + "4" : { "x" : -30.29, "y" : -3.70 }, + "5" : { "x" : -30.06, "y" : 29.10 }, + "6" : { "x" : -21.03, "y" : 15.74 }, + "7" : { "x" : -15.24, "y" : 1.07 }, + "8" : { "x" : -24.04, "y" : 26.08 }, + "9" : { "x" : -7.86, "y" : -21.08 }, + "10" : { "x" : -4.96, "y" : 32.07 }, + "11" : { "x" : -0.24, "y" : 11.31 } + }, + { + "index" : 33, + "ball" : { "x" : 15.14, "y" : 0.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 0.13, "y" : -4.07 }, + "3" : { "x" : 0.25, "y" : 4.45 }, + "4" : { "x" : 0.00, "y" : -16.13 }, + "5" : { "x" : 0.00, "y" : 16.13 }, + "6" : { "x" : 13.34, "y" : 0.24 }, + "7" : { "x" : 17.07, "y" : -7.45 }, + "8" : { "x" : 18.15, "y" : 6.85 }, + "9" : { "x" : 22.63, "y" : -28.94 }, + "10" : { "x" : 24.41, "y" : 28.34 }, + "11" : { "x" : 22.59, "y" : 0.12 } + }, + { + "index" : 34, + "ball" : { "x" : 23.26, "y" : -21.95 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : 2.00, "y" : -15.44 }, + "3" : { "x" : 4.45, "y" : -1.20 }, + "4" : { "x" : 4.00, "y" : -25.21 }, + "5" : { "x" : 7.81, "y" : 9.98 }, + "6" : { "x" : 13.81, "y" : -12.62 }, + "7" : { "x" : 20.31, "y" : -21.63 }, + "8" : { "x" : 20.24, "y" : 1.31 }, + "9" : { "x" : 28.58, "y" : -31.08 }, + "10" : { "x" : 27.63, "y" : 19.29 }, + "11" : { "x" : 28.22, "y" : -12.15 } + }, + { + "index" : 35, + "ball" : { "x" : 23.26, "y" : 21.95 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 4.45, "y" : 1.20 }, + "3" : { "x" : 2.00, "y" : 15.44 }, + "4" : { "x" : 7.81, "y" : -9.98 }, + "5" : { "x" : 4.00, "y" : 25.21 }, + "6" : { "x" : 13.81, "y" : 12.62 }, + "7" : { "x" : 20.24, "y" : -1.31 }, + "8" : { "x" : 20.31, "y" : 21.63 }, + "9" : { "x" : 27.63, "y" : -19.29 }, + "10" : { "x" : 28.58, "y" : 31.08 }, + "11" : { "x" : 28.22, "y" : 12.15 } + }, + { + "index" : 36, + "ball" : { "x" : 0.00, "y" : -11.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -10.84, "y" : -11.19 }, + "3" : { "x" : -10.46, "y" : -3.85 }, + "4" : { "x" : -9.65, "y" : -21.67 }, + "5" : { "x" : -9.54, "y" : 9.16 }, + "6" : { "x" : -1.32, "y" : -11.18 }, + "7" : { "x" : 1.44, "y" : -16.35 }, + "8" : { "x" : 2.16, "y" : 0.96 }, + "9" : { "x" : 14.12, "y" : -27.99 }, + "10" : { "x" : 14.51, "y" : 16.92 }, + "11" : { "x" : 12.72, "y" : -8.91 } + }, + { + "index" : 37, + "ball" : { "x" : 0.00, "y" : 11.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -10.46, "y" : 3.85 }, + "3" : { "x" : -10.84, "y" : 11.19 }, + "4" : { "x" : -9.54, "y" : -9.16 }, + "5" : { "x" : -9.65, "y" : 21.67 }, + "6" : { "x" : -1.32, "y" : 11.18 }, + "7" : { "x" : 2.16, "y" : -0.96 }, + "8" : { "x" : 1.44, "y" : 16.35 }, + "9" : { "x" : 14.51, "y" : -16.92 }, + "10" : { "x" : 14.12, "y" : 27.99 }, + "11" : { "x" : 12.72, "y" : 8.91 } + }, + { + "index" : 38, + "ball" : { "x" : 0.00, "y" : -35.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -7.81, "y" : -20.31 }, + "3" : { "x" : -8.65, "y" : -10.46 }, + "4" : { "x" : -2.16, "y" : -33.05 }, + "5" : { "x" : -5.37, "y" : 4.29 }, + "6" : { "x" : -0.48, "y" : -16.47 }, + "7" : { "x" : 2.88, "y" : -28.72 }, + "8" : { "x" : 5.49, "y" : -0.12 }, + "9" : { "x" : 15.14, "y" : -32.93 }, + "10" : { "x" : 14.89, "y" : 18.34 }, + "11" : { "x" : 14.89, "y" : -12.50 } + }, + { + "index" : 39, + "ball" : { "x" : 0.00, "y" : 35.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -8.65, "y" : 10.46 }, + "3" : { "x" : -7.81, "y" : 20.31 }, + "4" : { "x" : -5.37, "y" : -4.29 }, + "5" : { "x" : -2.16, "y" : 33.05 }, + "6" : { "x" : -0.48, "y" : 16.47 }, + "7" : { "x" : 5.49, "y" : 0.12 }, + "8" : { "x" : 2.88, "y" : 28.72 }, + "9" : { "x" : 14.89, "y" : -18.34 }, + "10" : { "x" : 15.14, "y" : 32.93 }, + "11" : { "x" : 14.89, "y" : 12.50 } + }, + { + "index" : 40, + "ball" : { "x" : 22.74, "y" : -30.01 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -0.96, "y" : -16.59 }, + "3" : { "x" : 1.68, "y" : -2.28 }, + "4" : { "x" : 1.85, "y" : -27.71 }, + "5" : { "x" : 4.21, "y" : 8.37 }, + "6" : { "x" : 12.38, "y" : -17.15 }, + "7" : { "x" : 21.03, "y" : -29.57 }, + "8" : { "x" : 18.62, "y" : 0.38 }, + "9" : { "x" : 26.08, "y" : -24.88 }, + "10" : { "x" : 27.00, "y" : 16.09 }, + "11" : { "x" : 27.75, "y" : -9.17 } + }, + { + "index" : 41, + "ball" : { "x" : 22.74, "y" : 30.01 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : 1.68, "y" : 2.28 }, + "3" : { "x" : -0.96, "y" : 16.59 }, + "4" : { "x" : 4.21, "y" : -8.37 }, + "5" : { "x" : 1.85, "y" : 27.71 }, + "6" : { "x" : 12.38, "y" : 17.15 }, + "7" : { "x" : 18.62, "y" : -0.38 }, + "8" : { "x" : 21.03, "y" : 29.57 }, + "9" : { "x" : 27.00, "y" : -16.09 }, + "10" : { "x" : 26.08, "y" : 24.88 }, + "11" : { "x" : 27.75, "y" : 9.17 } + }, + { + "index" : 42, + "ball" : { "x" : -12.00, "y" : -19.00 }, + "1" : { "x" : -50.00, "y" : 0.00 }, + "2" : { "x" : -14.06, "y" : -18.51 }, + "3" : { "x" : -18.10, "y" : -7.15 }, + "4" : { "x" : -16.95, "y" : -24.28 }, + "5" : { "x" : -17.43, "y" : 3.61 }, + "6" : { "x" : -8.29, "y" : -12.74 }, + "7" : { "x" : -5.89, "y" : -20.67 }, + "8" : { "x" : -1.53, "y" : 3.94 }, + "9" : { "x" : 3.45, "y" : -30.49 }, + "10" : { "x" : 3.33, "y" : 25.13 }, + "11" : { "x" : 2.38, "y" : -8.10 } + }, + { + "index" : 43, + "ball" : { "x" : -12.00, "y" : 19.00 }, + "1" : { "x" : -50.00, "y" : -0.00 }, + "2" : { "x" : -18.10, "y" : 7.15 }, + "3" : { "x" : -14.06, "y" : 18.51 }, + "4" : { "x" : -17.43, "y" : -3.61 }, + "5" : { "x" : -16.95, "y" : 24.28 }, + "6" : { "x" : -8.29, "y" : 12.74 }, + "7" : { "x" : -1.53, "y" : -3.94 }, + "8" : { "x" : -5.89, "y" : 20.67 }, + "9" : { "x" : 3.33, "y" : -25.13 }, + "10" : { "x" : 3.45, "y" : 30.49 }, + "11" : { "x" : 2.38, "y" : 8.10 } + }, + { + "index" : 44, + "ball" : { "x" : -42.10, "y" : -28.03 }, + "1" : { "x" : -50.00, "y" : -0.04 }, + "2" : { "x" : -42.16, "y" : -14.65 }, + "3" : { "x" : -41.86, "y" : -6.87 }, + "4" : { "x" : -42.99, "y" : -26.08 }, + "5" : { "x" : -40.72, "y" : 1.53 }, + "6" : { "x" : -35.21, "y" : -15.50 }, + "7" : { "x" : -37.26, "y" : -22.84 }, + "8" : { "x" : -22.03, "y" : 1.19 }, + "9" : { "x" : -18.99, "y" : -32.33 }, + "10" : { "x" : -12.76, "y" : 21.71 }, + "11" : { "x" : -10.36, "y" : -13.93 } + }, + { + "index" : 45, + "ball" : { "x" : -42.10, "y" : 28.03 }, + "1" : { "x" : -50.00, "y" : 0.04 }, + "2" : { "x" : -41.86, "y" : 6.87 }, + "3" : { "x" : -42.16, "y" : 14.65 }, + "4" : { "x" : -40.72, "y" : -1.53 }, + "5" : { "x" : -42.99, "y" : 26.08 }, + "6" : { "x" : -35.21, "y" : 15.50 }, + "7" : { "x" : -22.03, "y" : -1.19 }, + "8" : { "x" : -37.26, "y" : 22.84 }, + "9" : { "x" : -12.76, "y" : -21.71 }, + "10" : { "x" : -18.99, "y" : 32.33 }, + "11" : { "x" : -10.36, "y" : 13.93 } + } + ] +} diff --git a/SoccerSimulationProxyBin/bin/keepaway.sh b/SoccerSimulationProxyBin/bin/keepaway.sh new file mode 100755 index 0000000..685d225 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/keepaway.sh @@ -0,0 +1,286 @@ +#!/bin/sh + +echo "******************************************************************" +echo " HELIOS base" +echo " National Institute of Advanced Industrial Science and Technology" +echo " Created by Hidehisa Akiyama and Hiroki Shimora" +echo " Copyright 2000-2007. Hidehisa Akiyama" +echo " Copyright 2007-2010. Hidehisa Akiyama and Hiroki Shimora" +echo " All rights reserved." +echo "******************************************************************" + + +LIBPATH=/home/nader/local/lib +if [ x"$LIBPATH" != x ]; then + if [ x"$LD_LIBRARY_PATH" = x ]; then + LD_LIBRARY_PATH=$LIBPATH + else + LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH + fi + export LD_LIBRARY_PATH +fi + +DIR=`dirname $0` + +player="${DIR}/sample_player" +coach="${DIR}/sample_coach" +trainer="${DIR}/sample_trainer" + +keeper_teamname="Keeper" +taker_teamname="Taker" + +host="localhost" +port=6000 +coach_port="" +debug_server_host="" +debug_server_port="" + +player_conf="${DIR}/player.conf" + +keeper_config_dir="${DIR}/formations-keeper" +taker_config_dir="${DIR}/formations-taker" + +coach_conf="${DIR}/coach.conf" +team_graphic="--use_team_graphic off" + +number=11 +usecoach="true" + +unum=0 + +sleepprog=sleep +goaliesleep=1 +sleeptime=0 + +debugopt="" +coachdebug="" + +offline_logging="" +offline_mode="" +fullstateopt="" + +usage() +{ + (echo "Usage: $0 [options]" + echo "Available options:" + echo " --help prints this" + echo " -h, --host HOST specifies server host (default: localhost)" + echo " -p, --port PORT specifies server port (default: 6000)" + echo " -P --coach-port PORT specifies server port for online coach (default: 6002)" + echo " -f, --formation DIR specifies the formation directory" + echo " --offline-logging writes offline client log (default: off)" + echo " --offline-client-mode starts as an offline client (default: off)" + echo " --debug writes debug log (default: off)" + echo " --debug_DEBUG_CATEGORY writes DEBUG_CATEGORY to debug log" + echo " --debug-server-connect connects to the debug server (default: off)" + echo " --debug-server-host HOST specifies debug server host (default: localhost)" + echo " --debug-server-port PORT specifies debug server port (default: 6032)" + echo " --debug-server-logging writes debug server log (default: off)" + echo " --log-dir DIRECTORY specifies debug log directory (default: /tmp)" + echo " --debug-log-ext EXTENSION specifies debug log file extension (default: .log)" + echo " --fullstate FULLSTATE_TYPE specifies fullstate model handling" + echo " FULLSTATE_TYPE is one of [ignore|reference|override].") 1>&2 +} + +while [ $# -gt 0 ] +do + case $1 in + + --help) + usage + exit 0 + ;; + + -h|--host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + host="${2}" + shift 1 + ;; + + -p|--port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + port="${2}" + shift 1 + ;; + + -P|--coach-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + coach_port="${2}" + shift 1 + ;; + + -f|--formation) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + config_dir="${2}" + shift 1 + ;; + + --offline-logging) + offline_logging="--offline_logging" + ;; + + --offline-client-mode) + offline_mode="on" + ;; + + --debug) + debugopt="${debugopt} --debug" + coachdebug="${coachdebug} --debug" + ;; + + --debug_*) + debug_opt="${debug_opt} ${1}" + ;; + + --debug-server-connect) + debugopt="${debugopt} --debug_server_connect" + ;; + + --debug-server-host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_host="${2}" + shift 1 + ;; + + --debug-server-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_port="${2}" + shift 1 + ;; + + --debug-server-logging) + debugopt="${debugopt} --debug_server_logging" + ;; + + --log-dir) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --log_dir ${2}" + shift 1 + ;; + + --debug-log-ext) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --debug_log_ext ${2}" + shift 1 + ;; + + --fullstate) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + fullstate_type="${2}" + shift 1 + + case "${fullstate_type}" in + ignore) + fullstateopt="--use_fullstate false --debug_fullstate false" + ;; + + reference) + fullstateopt="--use_fullstate false --debug_fullstate true" + ;; + + override) + fullstateopt="--use_fullstate true --debug_fullstate true" + ;; + + *) + usage + exit 1 + ;; + esac + ;; + + *) + echo 1>&2 + echo "invalid option \"${1}\"." 1>&2 + echo 1>&2 + usage + exit 1 + ;; + esac + + shift 1 +done + +if [ X"${offline_logging}" != X'' ]; then + if [ X"${offline_mode}" != X'' ]; then + echo "'--offline-logging' and '--offline-mode' cannot be used simultaneously." + exit 1 + fi +fi + +if [ X"${coach_port}" = X'' ]; then + coach_port=`expr ${port} + 2` +fi + +if [ X"${debug_server_host}" = X'' ]; then + debug_server_host="${host}" +fi + +if [ X"${debug_server_port}" = X'' ]; then + debug_server_port=`expr ${port} + 32` +fi + +opt="--player-config ${player_conf}" +opt="${opt} -h ${host} -p ${port}" +opt="${opt} ${fullstateopt}" +opt="${opt} --debug_server_host ${debug_server_host}" +opt="${opt} --debug_server_port ${debug_server_port}" +opt="${opt} ${offline_logging}" +opt="${opt} ${debugopt}" + +i=1 +while [ $i -le 3 ] ; do + offline_number="" + if [ X"${offline_mode}" != X'' ]; then + offline_number="--offline_client_number ${i}" + fi + + $player ${opt} -t ${keeper_teamname} --config_dir ${keeper_config_dir} ${offline_number} & + $sleepprog $sleeptime + i=`expr $i + 1` +done + +$sleepprog 1 + +i=1 +while [ $i -le 2 ] ; do + offline_number="" + if [ X"${offline_mode}" != X'' ]; then + offline_number="--offline_client_number ${i}" + fi + + $player ${opt} -t ${taker_teamname} --config_dir ${taker_config_dir} ${offline_number} & + $sleepprog $sleeptime + i=`expr $i + 1` +done + +if [ -z "${offline_mode}" ]; then + $trainer -h ${host} -t ${keeper_teamname} --use_ear on +fi diff --git a/SoccerSimulationProxyBin/bin/player.conf b/SoccerSimulationProxyBin/bin/player.conf new file mode 100755 index 0000000..28cffde --- /dev/null +++ b/SoccerSimulationProxyBin/bin/player.conf @@ -0,0 +1,49 @@ +# player agent configuration file + +team_name : HELIOS_base +version : 18 + +server_wait_seconds : 5 +normal_view_time_thr : 20 +synch_see : on + +host : localhost +port : 6000 + +use_communication : on +hear_opponent_audio : off + +#debug +log_dir : /tmp + +#debug_server_connect +#debug_server_logging +#debug_server_host : localhost +#debug_server_port : 6032 + +#offline_logging +#offline_log_ext : .ocl + +debug_log_ext : .log + +debug_system +debug_sensor +debug_world +debug_action +debug_intercept +debug_kick +debug_hold +debug_dribble +debug_pass +debug_cross +debug_shoot +debug_clear +debug_block +debug_mark +debug_positioning +debug_role +debug_plan +debug_team +debug_communication +debug_analyzer +debug_action_chain diff --git a/SoccerSimulationProxyBin/bin/sample_coach b/SoccerSimulationProxyBin/bin/sample_coach new file mode 100755 index 0000000..94f907a Binary files /dev/null and b/SoccerSimulationProxyBin/bin/sample_coach differ diff --git a/SoccerSimulationProxyBin/bin/sample_player b/SoccerSimulationProxyBin/bin/sample_player new file mode 100755 index 0000000..e2876e9 Binary files /dev/null and b/SoccerSimulationProxyBin/bin/sample_player differ diff --git a/SoccerSimulationProxyBin/bin/sample_trainer b/SoccerSimulationProxyBin/bin/sample_trainer new file mode 100755 index 0000000..df2087b Binary files /dev/null and b/SoccerSimulationProxyBin/bin/sample_trainer differ diff --git a/SoccerSimulationProxyBin/bin/start-agent.sh b/SoccerSimulationProxyBin/bin/start-agent.sh new file mode 100755 index 0000000..a33314c --- /dev/null +++ b/SoccerSimulationProxyBin/bin/start-agent.sh @@ -0,0 +1,375 @@ +#!/bin/sh + +echo "******************************************************************" +echo " HELIOS base" +echo " Created by Hidehisa Akiyama and Hiroki Shimora" +echo " Copyright 2000-2007. Hidehisa Akiyama" +echo " Copyright 2007-2011. Hidehisa Akiyama and Hiroki Shimora" +echo " All rights reserved." +echo "******************************************************************" + + +LIBPATH=/home/nader/local/lib +if [ x"$LIBPATH" != x ]; then + if [ x"$LD_LIBRARY_PATH" = x ]; then + LD_LIBRARY_PATH=$LIBPATH + else + LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH + fi + export LD_LIBRARY_PATH +fi + +DIR=`dirname $0` + +player="${DIR}/sample_player" +coach="${DIR}/sample_coach" +teamname="SSP" +host="localhost" +port=6000 +g_ip="localhost" +g_port=50051 +diff_g_port="false" +gp20="false" +coach_port="" +debug_server_host="" +debug_server_port="" + +player_conf="${DIR}/player.conf" +config_dir="${DIR}/formations-dt" + +coach_conf="${DIR}/coach.conf" +team_graphic="--use_team_graphic off" + +is_player="true" +is_coach="false" +is_goalie="false" + +sleepprog=sleep +goaliesleep=1 +sleeptime=0 + +debugopt="" +coachdebug="" + +offline_logging="" +offline_mode="" +fullstateopt="" + +usage() +{ + (echo "Usage: $0 [options]" + echo "Available options:" + echo " --help prints this" + echo " -h, --host HOST specifies server host (default: localhost)" + echo " -p, --port PORT specifies server port (default: 6000)" + echo " -P --coach-port PORT specifies server port for online coach (default: 6002)" + echo " -t, --teamname TEAMNAME specifies team name" + echo " -n, --number NUMBER specifies the number of players" + echo " -C, --without-coach specifies not to run the coach" + echo " -f, --formation DIR specifies the formation directory" + echo " --team-graphic FILE specifies the team graphic xpm file" + echo " --offline-logging writes offline client log (default: off)" + echo " --offline-client-mode starts as an offline client (default: off)" + echo " --debug writes debug log (default: off)" + echo " --debug_DEBUG_CATEGORY writes DEBUG_CATEGORY to debug log" + echo " --debug-start-time TIME the start time for recording debug log (default: -1)" + echo " --debug-end-time TIME the end time for recording debug log (default: 99999999)" + echo " --debug-server-connect connects to the debug server (default: off)" + echo " --debug-server-host HOST specifies debug server host (default: localhost)" + echo " --debug-server-port PORT specifies debug server port (default: 6032)" + echo " --debug-server-logging writes debug server log (default: off)" + echo " --log-dir DIRECTORY specifies debug log directory (default: /tmp)" + echo " --debug-log-ext EXTENSION specifies debug log file extension (default: .log)" + echo " --fullstate FULLSTATE_TYPE specifies fullstate model handling" + echo " --g-ip GRPC IP specifies grpc IP (default: localhost)" + echo " --g-port GRPC PORT specifies grpc port (default: 50051)" + echo " --diff-g-port specifies different grpc port for each player (default: false)" + echo " --gp20 add 20 to GRPC Port if team run on right side (default: false)" + echo " --goalie specifies to run as a goalie" + echo " --player specifies to run as a player" + echo " --coach specifies to run as a coach" + echo " FULLSTATE_TYPE is one of [ignore|reference|override].") 1>&2 +} + +while [ $# -gt 0 ] +do + case $1 in + + --help) + usage + exit 0 + ;; + --g-ip) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + g_ip="${2}" + shift 1 + ;; + --g-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + g_port="${2}" + shift 1 + ;; + --diff-g-port) + diff_g_port="true" + ;; + --gp20) + gp2="true" + ;; + -h|--host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + host="${2}" + shift 1 + ;; + + -p|--port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + port="${2}" + shift 1 + ;; + + -P|--coach-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + coach_port="${2}" + shift 1 + ;; + + -t|--teamname) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + teamname="${2}" + shift 1 + ;; + + -f|--formation) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + config_dir="${2}" + shift 1 + ;; + + --team-graphic) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + team_graphic="--use_team_graphic on --team_graphic_file ${2}" + shift 1 + ;; + + --offline-logging) + offline_logging="--offline_logging" + ;; + + --offline-client-mode) + offline_mode="on" + ;; + + --debug) + debugopt="${debugopt} --debug" + coachdebug="${coachdebug} --debug" + ;; + + --debug_*) + debug_opt="${debug_opt} ${1}" + ;; + + --debug-start-time) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_opt="${debug_opt} --debug_start_time ${2}" + shift 1 + ;; + + --debug-end-time) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_opt="${debug_opt} --debug_end_time ${2}" + shift 1 + ;; + + --debug-server-connect) + debugopt="${debugopt} --debug_server_connect" + ;; + + --debug-server-host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_host="${2}" + shift 1 + ;; + + --debug-server-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_port="${2}" + shift 1 + ;; + + --debug-server-logging) + debugopt="${debugopt} --debug_server_logging" + ;; + + --log-dir) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --log_dir ${2}" + shift 1 + ;; + + --debug-log-ext) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --debug_log_ext ${2}" + shift 1 + ;; + + --goalie) + is_goalie="true" + ;; + --player) + is_player="true" + ;; + --coach) + is_coach="true" + ;; + --fullstate) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + fullstate_type="${2}" + shift 1 + + case "${fullstate_type}" in + ignore) + fullstateopt="--use_fullstate false --debug_fullstate false" + ;; + + reference) + fullstateopt="--use_fullstate false --debug_fullstate true" + ;; + + override) + fullstateopt="--use_fullstate true --debug_fullstate true" + ;; + + *) + usage + exit 1 + ;; + esac + ;; + + *) + echo 1>&2 + echo "invalid option \"${1}\"." 1>&2 + echo 1>&2 + usage + exit 1 + ;; + esac + + shift 1 +done + +if [ "${is_player}" = "false" -a "${is_coach}" = "false" -a "${is_goalie}" = "false" ]; then + echo "You must specify at least one of --player, --coach, or --goalie." + exit 1 +fi + +if [ X"${offline_logging}" != X'' ]; then + if [ X"${offline_mode}" != X'' ]; then + echo "'--offline-logging' and '--offline-mode' cannot be used simultaneously." + exit 1 + fi +fi + +if [ X"${coach_port}" = X'' ]; then + coach_port=`expr ${port} + 2` +fi + +if [ X"${debug_server_host}" = X'' ]; then + debug_server_host="${host}" +fi + +if [ X"${debug_server_port}" = X'' ]; then + debug_server_port=`expr ${port} + 32` +fi + +opt="--player-config ${player_conf} --config_dir ${config_dir}" +opt="${opt} -h ${host} -p ${port} -t ${teamname}" +opt="${opt} ${fullstateopt}" +opt="${opt} --debug_server_host ${debug_server_host}" +opt="${opt} --debug_server_port ${debug_server_port}" +opt="${opt} ${offline_logging}" +opt="${opt} ${debugopt}" +opt="${opt} --g-ip ${g_ip}" +opt="${opt} --g-port ${g_port}" +if [ "${same_g_port}" = "true" ]; then + opt="${opt} --diff-g-port" +fi +if [ "${gp20}" = "true" ]; then + opt="${opt} --gp20" +fi + +ping -c 1 $host + +if [ "${is_goalie}" = "true" ]; then + $player ${opt} -g & + $sleepprog $goaliesleep +fi + +if [ "${is_player}" = "true" ]; then + $player ${opt} & + $sleepprog $sleeptime +fi + +if [ "${is_coach}" = "true" ]; then + coachopt="--coach-config ${coach_conf}" + coachopt="${coachopt} -h ${host} -p ${coach_port} -t ${teamname}" + coachopt="${coachopt} ${team_graphic}" + coachopt="${coachopt} --debug_server_host ${debug_server_host}" + coachopt="${coachopt} --debug_server_port ${debug_server_port}" + coachopt="${coachopt} ${offline_logging}" + coachopt="${coachopt} ${debugopt}" + coachopt="${coachopt} --g-ip ${g_ip}" + coachopt="${coachopt} --g-port ${g_port}" + if [ "${same_g_port}" = "true" ]; then + coachopt="${coachopt} --diff-g-port" + fi + if [ "${gp20}" = "true" ]; then + coachopt="${coachopt} --gp20" + fi + $coach ${coachopt} & +fi diff --git a/SoccerSimulationProxyBin/bin/start-debug.sh b/SoccerSimulationProxyBin/bin/start-debug.sh new file mode 100755 index 0000000..dd1b2da --- /dev/null +++ b/SoccerSimulationProxyBin/bin/start-debug.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +./start.sh --offline-logging --debug --debug-server-connect ${1+"$@"} diff --git a/SoccerSimulationProxyBin/bin/start-offline.sh b/SoccerSimulationProxyBin/bin/start-offline.sh new file mode 100755 index 0000000..3196bd3 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/start-offline.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +./start.sh --offline-client-mode --debug --debug-server-logging ${1+"$@"} + diff --git a/SoccerSimulationProxyBin/bin/start.sh b/SoccerSimulationProxyBin/bin/start.sh new file mode 100755 index 0000000..c7191d5 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/start.sh @@ -0,0 +1,419 @@ +#!/bin/sh + +echo "******************************************************************" +echo " HELIOS base" +echo " Created by Hidehisa Akiyama and Hiroki Shimora" +echo " Copyright 2000-2007. Hidehisa Akiyama" +echo " Copyright 2007-2011. Hidehisa Akiyama and Hiroki Shimora" +echo " All rights reserved." +echo "******************************************************************" + + +LIBPATH=/home/nader/local/lib +if [ x"$LIBPATH" != x ]; then + if [ x"$LD_LIBRARY_PATH" = x ]; then + LD_LIBRARY_PATH=$LIBPATH + else + LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH + fi + export LD_LIBRARY_PATH +fi + +DIR=`dirname $0` + +player="${DIR}/sample_player" +coach="${DIR}/sample_coach" +teamname="SSP" +host="localhost" +port=6000 +g_ip="localhost" +g_port=50051 +diff_g_port="false" +gp20="false" +coach_port="" +debug_server_host="" +debug_server_port="" + +player_conf="${DIR}/player.conf" +config_dir="${DIR}/formations-dt" + +coach_conf="${DIR}/coach.conf" +team_graphic="--use_team_graphic off" + +number=11 +usecoach="true" + +unum=0 + +sleepprog=sleep +goaliesleep=1 +sleeptime=0 + +debugopt="" +coachdebug="" + +offline_logging="" +offline_mode="" +fullstateopt="" + +usage() +{ + (echo "Usage: $0 [options]" + echo "Available options:" + echo " --help prints this" + echo " -h, --host HOST specifies server host (default: localhost)" + echo " -p, --port PORT specifies server port (default: 6000)" + echo " -P --coach-port PORT specifies server port for online coach (default: 6002)" + echo " -t, --teamname TEAMNAME specifies team name" + echo " -n, --number NUMBER specifies the number of players" + echo " -u, --unum UNUM specifies the uniform number of players" + echo " -C, --without-coach specifies not to run the coach" + echo " -f, --formation DIR specifies the formation directory" + echo " --team-graphic FILE specifies the team graphic xpm file" + echo " --offline-logging writes offline client log (default: off)" + echo " --offline-client-mode starts as an offline client (default: off)" + echo " --debug writes debug log (default: off)" + echo " --debug_DEBUG_CATEGORY writes DEBUG_CATEGORY to debug log" + echo " --debug-start-time TIME the start time for recording debug log (default: -1)" + echo " --debug-end-time TIME the end time for recording debug log (default: 99999999)" + echo " --debug-server-connect connects to the debug server (default: off)" + echo " --debug-server-host HOST specifies debug server host (default: localhost)" + echo " --debug-server-port PORT specifies debug server port (default: 6032)" + echo " --debug-server-logging writes debug server log (default: off)" + echo " --log-dir DIRECTORY specifies debug log directory (default: /tmp)" + echo " --debug-log-ext EXTENSION specifies debug log file extension (default: .log)" + echo " --fullstate FULLSTATE_TYPE specifies fullstate model handling" + echo " --g-ip GRPC IP specifies grpc IP (default: localhost)" + echo " --g-port GRPC PORT specifies grpc port (default: 50051)" + echo " --diff-g-port specifies different grpc port for each player (default: false)" + echo " --gp20 add 20 to GRPC Port if team run on right side (default: false)" + echo " FULLSTATE_TYPE is one of [ignore|reference|override].") 1>&2 +} + +while [ $# -gt 0 ] +do + case $1 in + + --help) + usage + exit 0 + ;; + --g-ip) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + g_ip="${2}" + shift 1 + ;; + --g-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + g_port="${2}" + shift 1 + ;; + --diff-g-port) + diff_g_port="true" + ;; + --gp20) + gp2="true" + ;; + -h|--host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + host="${2}" + shift 1 + ;; + + -p|--port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + port="${2}" + shift 1 + ;; + + -P|--coach-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + coach_port="${2}" + shift 1 + ;; + + -t|--teamname) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + teamname="${2}" + shift 1 + ;; + + -n|--number) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + number="${2}" + shift 1 + ;; + + -u|--unum) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + unum="${2}" + shift 1 + ;; + + -C|--without-coach) + usecoach="false" + ;; + + -f|--formation) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + config_dir="${2}" + shift 1 + ;; + + --team-graphic) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + team_graphic="--use_team_graphic on --team_graphic_file ${2}" + shift 1 + ;; + + --offline-logging) + offline_logging="--offline_logging" + ;; + + --offline-client-mode) + offline_mode="on" + ;; + + --debug) + debugopt="${debugopt} --debug" + coachdebug="${coachdebug} --debug" + ;; + + --debug_*) + debug_opt="${debug_opt} ${1}" + ;; + + --debug-start-time) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_opt="${debug_opt} --debug_start_time ${2}" + shift 1 + ;; + + --debug-end-time) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_opt="${debug_opt} --debug_end_time ${2}" + shift 1 + ;; + + --debug-server-connect) + debugopt="${debugopt} --debug_server_connect" + ;; + + --debug-server-host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_host="${2}" + shift 1 + ;; + + --debug-server-port) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debug_server_port="${2}" + shift 1 + ;; + + --debug-server-logging) + debugopt="${debugopt} --debug_server_logging" + ;; + + --log-dir) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --log_dir ${2}" + shift 1 + ;; + + --debug-log-ext) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + debugopt="${debugopt} --debug_log_ext ${2}" + shift 1 + ;; + + --fullstate) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + fullstate_type="${2}" + shift 1 + + case "${fullstate_type}" in + ignore) + fullstateopt="--use_fullstate false --debug_fullstate false" + ;; + + reference) + fullstateopt="--use_fullstate false --debug_fullstate true" + ;; + + override) + fullstateopt="--use_fullstate true --debug_fullstate true" + ;; + + *) + usage + exit 1 + ;; + esac + ;; + + *) + echo 1>&2 + echo "invalid option \"${1}\"." 1>&2 + echo 1>&2 + usage + exit 1 + ;; + esac + + shift 1 +done + +if [ X"${offline_logging}" != X'' ]; then + if [ X"${offline_mode}" != X'' ]; then + echo "'--offline-logging' and '--offline-mode' cannot be used simultaneously." + exit 1 + fi +fi + +if [ X"${coach_port}" = X'' ]; then + coach_port=`expr ${port} + 2` +fi + +if [ X"${debug_server_host}" = X'' ]; then + debug_server_host="${host}" +fi + +if [ X"${debug_server_port}" = X'' ]; then + debug_server_port=`expr ${port} + 32` +fi + +opt="--player-config ${player_conf} --config_dir ${config_dir}" +opt="${opt} -h ${host} -p ${port} -t ${teamname}" +opt="${opt} ${fullstateopt}" +opt="${opt} --debug_server_host ${debug_server_host}" +opt="${opt} --debug_server_port ${debug_server_port}" +opt="${opt} ${offline_logging}" +opt="${opt} ${debugopt}" +opt="${opt} --g-ip ${g_ip}" +opt="${opt} --g-port ${g_port}" +if [ "${same_g_port}" = "true" ]; then + opt="${opt} --diff-g-port" +fi +if [ "${gp20}" = "true" ]; then + opt="${opt} --gp20" +fi + +ping -c 1 $host + +if [ $number -gt 0 ]; then + offline_number="" + if [ X"${offline_mode}" != X'' ]; then + offline_number="--offline_client_number 1" + if [ $unum -eq 0 ]; then + $player ${opt} -g ${offline_number} & + $sleepprog $goaliesleep + elif [ $unum -eq 1 ]; then + $player ${opt} -g ${offline_number} & + $sleepprog $goaliesleep + fi + else + $player ${opt} -g & + $sleepprog $goaliesleep + fi +fi + +i=2 +while [ $i -le ${number} ] ; do + offline_number="" + if [ X"${offline_mode}" != X'' ]; then + offline_number="--offline_client_number ${i}" + if [ $unum -eq 0 ]; then + $player ${opt} ${offline_number} & + $sleepprog $sleeptime + elif [ $unum -eq $i ]; then + $player ${opt} ${offline_number} & + $sleepprog $sleeptime + fi + else + $player ${opt} & + $sleepprog $sleeptime + fi + + i=`expr $i + 1` +done + +if [ "${usecoach}" = "true" ]; then + coachopt="--coach-config ${coach_conf}" + coachopt="${coachopt} -h ${host} -p ${coach_port} -t ${teamname}" + coachopt="${coachopt} ${team_graphic}" + coachopt="${coachopt} --debug_server_host ${debug_server_host}" + coachopt="${coachopt} --debug_server_port ${debug_server_port}" + coachopt="${coachopt} ${offline_logging}" + coachopt="${coachopt} ${debugopt}" + coachopt="${coachopt} --g-ip ${g_ip}" + coachopt="${coachopt} --g-port ${g_port}" + if [ "${same_g_port}" = "true" ]; then + coachopt="${coachopt} --diff-g-port" + fi + if [ "${gp20}" = "true" ]; then + coachopt="${coachopt} --gp20" + fi + + if [ X"${offline_mode}" != X'' ]; then + offline_mode="--offline_client_mode" + if [ $unum -eq 0 ]; then + $coach ${coachopt} ${offline_mode} & + elif [ $unum -eq 12 ]; then + $coach ${coachopt} ${offline_mode} & + fi + else + $coach ${coachopt} & + fi +fi diff --git a/SoccerSimulationProxyBin/bin/train.sh b/SoccerSimulationProxyBin/bin/train.sh new file mode 100755 index 0000000..6e3f1b9 --- /dev/null +++ b/SoccerSimulationProxyBin/bin/train.sh @@ -0,0 +1,115 @@ +#!/bin/sh + + +LIBPATH=/home/nader/local/lib +if [ x"$LIBPATH" != x ]; then + if [ x"$LD_LIBRARY_PATH" = x ]; then + LD_LIBRARY_PATH=$LIBPATH + else + LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH + fi + export LD_LIBRARY_PATH +fi + +DIR=`dirname $0` + +player="${DIR}/sample_player" +coach="${DIR}/sample_coach" +trainer="${DIR}/helios_trainer" +teamname="HELIOS" +host="localhost" +g_port=50051 +diff_g_port="false" +gp20="false" +config="${DIR}/player.conf" +config_dir="${DIR}/formations-train" + +number=11 +usecoach="true" + +sleepprog=sleep +goaliesleep=1 +sleeptime=0 + +debugopt="--offline_logging --debug --debug_server_connect" + +usage() +{ + (echo "Usage: $0 [options]" + echo "Possible options are:" + echo " --help print this" + echo " -h, --host HOST specifies server host" + echo " --g_port GRPC PORT specifies grpc port (default: 50051)" + echo " --diff_g_port specifies different grpc port for each player (default: false)" + echo " --gp20 add 20 to GRPC Port if team run on right side (default: false)" + echo " -t, --teamname TEAMNAME specifies team name") 1>&2 +} + +while [ $# -gt 0 ] +do + case $1 in + + --help) + usage + exit 0 + ;; + + -h|--host) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + host=$2 + shift 1 + ;; + + -t|--teamname) + if [ $# -lt 2 ]; then + usage + exit 1 + fi + teamname=$2 + shift 1 + ;; + + *) + usage + exit 1 + ;; + esac + + shift 1 +done + +OPT="-h ${host} -t ${teamname}" +OPT="${OPT} --player-config ${config} --config_dir ${config_dir}" +OPT="${OPT} ${debugopt}" +opt="${opt} --g-port ${g_port}" +if [ "${same_g_port}" = "true" ]; then + OPT="${OPT} --diff-g-port" +fi +if [ "${gp20}" = "true" ]; then + OPT="${OPT} --gp20" +fi +#if [ $number -gt 0 ]; then +# $player ${OPT} -g & +# $sleepprog $goaliesleep +#fi + +#for (( i=2; i<=${number}; i=$i+1 )) ; do + $player ${OPT} -n 11 & + $sleepprog $sleeptime +#done + +#if [ "${usecoach}" = "true" ]; then +# $coach -h $host -t $teamname & +#fi +trainer_opt="-h $host -t $teamname" +trainer_opt="${trainer_opt} --g-port ${g_port}" +if [ "${same_g_port}" = "true" ]; then + trainer_opt="${trainer_opt} --diff-g-port" +fi +if [ "${gp20}" = "true" ]; then + trainer_opt="${trainer_opt} --gp20" +fi +$trainer $trainer_opt & diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f78fe07 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.8' + +services: + rcssserver: + image: sadraiiali/rcssserver:latest + container_name: rcssserver + networks: + custom_network: + ipv4_address: 10.0.10.10 + + + right_team: + build: + context: . + dockerfile: Dockerfile + environment: + - TEAM_NAME=right_team + - HOST=10.0.10.10 + container_name: right_team_all + networks: + custom_network: + ipv4_address: 10.0.10.2 + + left_team: + build: + context: . + dockerfile: Dockerfile + environment: + - TEAM_NAME=left_team + - HOST=10.0.10.10 + container_name: left_team_all + networks: + custom_network: + ipv4_address: 10.0.10.3 + + + +networks: + custom_network: + driver: bridge + ipam: + config: + - subnet: 10.0.10.0/24 \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..5e91ec1 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/env bash + +export LD_LIBRARY_PATH=/app/bin/lib/:$LD_LIBRARY_PATH + + +cd /app/bin && /app/bin/start.sh \ + -t $TEAM_NAME \ + --host $HOST \ + --port $PORT & + +cd /app/code && python3 /app/code/grpc-server.py + diff --git a/grpc-server.py b/grpc-server.py index 6cbabd4..5c3d108 100644 --- a/grpc-server.py +++ b/grpc-server.py @@ -4,6 +4,8 @@ from concurrent import futures import grpc from src.SamplePlayerAgent import SamplePlayerAgent +from src.SampleCoachAgent import SampleCoachAgent +from src.SampleTrainerAgent import SampleTrainerAgent from threading import RLock lock = RLock() @@ -11,29 +13,47 @@ class Game(pb2_grpc.GameServicer): def __init__(self): - self.agent = SamplePlayerAgent() + self.player_agent = SamplePlayerAgent() + self.coach_agent = SampleCoachAgent() + self.trainer_agent = SampleTrainerAgent() - def GetActions(self, request:pb2.State, context): - # with lock: - actions = self.agent.get_actions(request.world_model) + def GetPlayerActions(self, request:pb2.State, context): + actions = self.player_agent.get_actions(request.world_model) + return actions + + def GetCoachActions(self, request:pb2.State, context): + actions = self.coach_agent.get_actions(request.world_model) + return actions + + def GetTrainerActions(self, request:pb2.State, context): + actions = self.trainer_agent.get_actions(request.world_model) return actions def SendServerParams(self, request: pb2.ServerParam, context): - self.agent.set_params(request) + self.player_agent.set_params(request) + self.coach_agent.set_params(request) + self.trainer_agent.set_params(request) return pb2.Empty() def SendPlayerParams(self, request:pb2.PlayerParam, context): - self.agent.set_params(request) + self.player_agent.set_params(request) + self.coach_agent.set_params(request) + self.trainer_agent.set_params(request) return pb2.Empty() def SendPlayerType(self, request: pb2.PlayerType, context): - self.agent.set_params(request) + self.player_agent.set_params(request) + self.coach_agent.set_params(request) + self.trainer_agent.set_params(request) return pb2.Empty() def SendInitMessage(self, request, context): - self.agent.set_debug_mode(request.debug_mode) + self.player_agent.set_debug_mode(request.debug_mode) print("Debug mode: ", request.debug_mode) return pb2.Empty() + + def GetInitMessage(self, request, context): + return pb2.InitMessageFromServer() def serve(): diff --git a/protos/service.proto b/protos/service.proto index 6aeebcf..6f7fdeb 100644 --- a/protos/service.proto +++ b/protos/service.proto @@ -244,12 +244,21 @@ message WorldModel { } message State { - WorldModel world_model = 1; - WorldModel full_world_model = 2; + AgentType agent_type = 1; + WorldModel world_model = 2; + WorldModel full_world_model = 3; + +} + +enum AgentType { + PlayerT = 0; + CoachT = 1; + TrainerT = 2; } message InitMessage { - bool debug_mode = 1; + AgentType agent_type = 1; + bool debug_mode = 2; } message Dash { @@ -748,7 +757,7 @@ message HeliosPenalty {} message HeliosCommunicaion {} -message Action { +message PlayerAction { oneof action { Dash dash = 1; Turn turn = 2; @@ -817,12 +826,75 @@ message Action { } } -message Actions { - repeated Action actions = 1; +message PlayerActions { + repeated PlayerAction actions = 1; +} + +message ChangePlayerType { + int32 uniform_number = 1; + int32 type = 2; +} + +message DoHeliosSubstitute {} + +message DoHeliosSayPlayerTypes {} + +message CoachAction { + oneof action { + ChangePlayerType change_player_types = 1; + DoHeliosSubstitute do_helios_substitute = 2; + DoHeliosSayPlayerTypes do_helios_say_player_types = 3; + } +} + +message CoachActions { + repeated CoachAction actions = 1; +} + +message DoKickOff {} + +message DoMoveBall { + Vector2D position = 1; + Vector2D velocity = 2; +} + +message DoMovePlayer { + bool our_side = 1; + int32 uniform_number = 2; + Vector2D position = 3; + float body_direction = 4; +} + +message DoRecover {} + +message DoChangeMode { + GameModeType game_mode_type = 1; + Side side = 2; //some of the game mode need to know the side +} + +message DoChangePlayerType { + bool our_side = 1; + int32 uniform_number = 2; + int32 type = 3; +} + +message TrainerAction { + oneof action { + DoKickOff do_kick_off = 1; + DoMoveBall do_move_ball = 2; + DoMovePlayer do_move_player = 3; + DoRecover do_recover = 4; + DoChangeMode do_change_mode = 5; + DoChangePlayerType do_change_player_type = 6; + } +} + +message TrainerActions { + repeated TrainerAction actions = 1; } message ServerParam { - float goal_width = 1; + AgentType agent_type = 1; float inertia_moment = 2; float player_size = 3; float player_decay = 4; @@ -1043,43 +1115,46 @@ message ServerParam { float their_penalty_area_line_x = 219; float penalty_area_half_width = 220; float penalty_area_length = 221; + float goal_width = 222; } message PlayerParam { - int32 player_types = 1; - int32 subs_max = 2; - int32 pt_max = 3; - bool allow_mult_default_type = 4; - float player_speed_max_delta_min = 5; - float player_speed_max_delta_max = 6; - float stamina_inc_max_delta_factor = 7; - float player_decay_delta_min = 8; - float player_decay_delta_max = 9; - float inertia_moment_delta_factor = 10; - float dash_power_rate_delta_min = 11; - float dash_power_rate_delta_max = 12; - float player_size_delta_factor = 13; - float kickable_margin_delta_min = 14; - float kickable_margin_delta_max = 15; - float kick_rand_delta_factor = 16; - float extra_stamina_delta_min = 17; - float extra_stamina_delta_max = 18; - float effort_max_delta_factor = 19; - float effort_min_delta_factor = 20; - int32 random_seed = 21; - float new_dash_power_rate_delta_min = 22; - float new_dash_power_rate_delta_max = 23; - float new_stamina_inc_max_delta_factor = 24; - float kick_power_rate_delta_min = 25; - float kick_power_rate_delta_max = 26; - float foul_detect_probability_delta_factor = 27; - float catchable_area_l_stretch_min = 28; - float catchable_area_l_stretch_max = 29; + AgentType agent_type = 1; + int32 player_types = 2; + int32 subs_max = 3; + int32 pt_max = 4; + bool allow_mult_default_type = 5; + float player_speed_max_delta_min = 6; + float player_speed_max_delta_max = 7; + float stamina_inc_max_delta_factor = 8; + float player_decay_delta_min = 9; + float player_decay_delta_max = 10; + float inertia_moment_delta_factor = 11; + float dash_power_rate_delta_min = 12; + float dash_power_rate_delta_max = 13; + float player_size_delta_factor = 14; + float kickable_margin_delta_min = 15; + float kickable_margin_delta_max = 16; + float kick_rand_delta_factor = 17; + float extra_stamina_delta_min = 18; + float extra_stamina_delta_max = 19; + float effort_max_delta_factor = 20; + float effort_min_delta_factor = 21; + int32 random_seed = 22; + float new_dash_power_rate_delta_min = 23; + float new_dash_power_rate_delta_max = 24; + float new_stamina_inc_max_delta_factor = 25; + float kick_power_rate_delta_min = 26; + float kick_power_rate_delta_max = 27; + float foul_detect_probability_delta_factor = 28; + float catchable_area_l_stretch_min = 29; + float catchable_area_l_stretch_max = 30; + } message PlayerType { - int32 id = 1; - float player_speed_max = 2; + AgentType agent_type = 1; + int32 id = 2; float stamina_inc_max = 3; float player_decay = 4; float inertia_moment = 5; @@ -1111,15 +1186,22 @@ message PlayerType { float player_speed_max2 = 31; float real_speed_max2 = 32; int32 cycles_to_reach_max_speed = 33; + float player_speed_max = 34; } message Empty { } +message InitMessageFromServer { +} + service Game { - rpc GetActions(State) returns (Actions) {} + rpc GetPlayerActions(State) returns (PlayerActions) {} + rpc GetCoachActions(State) returns (CoachActions) {} + rpc GetTrainerActions(State) returns (TrainerActions) {} rpc SendInitMessage(InitMessage) returns (Empty) {} rpc SendServerParams(ServerParam) returns (Empty) {} rpc SendPlayerParams(PlayerParam) returns (Empty) {} - rpc SendPlayerType(PlayerType) returns (Empty) {} + rpc SendPlayerType(PlayerType) returns (Empty) {} //should be PlayerTypes + rpc GetInitMessage(Empty) returns (InitMessageFromServer) {} } \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1d13c87 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +grpcio==1.60.0 +grpcio-tools==1.60.0 +numpy==1.26.3 +protobuf==4.25.2 +pyrusgeom==0.1.2 +scipy==1.11.4 diff --git a/service_pb2.py b/service_pb2.py index 9fc0537..04d5569 100644 --- a/service_pb2.py +++ b/service_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: service.proto -# Protobuf Python Version: 4.25.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -14,29 +13,31 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x06protos\"=\n\x08Vector2D\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0c\n\x04\x64ist\x18\x03 \x01(\x02\x12\r\n\x05\x61ngle\x18\x04 \x01(\x02\"\x83\x04\n\x04\x42\x61ll\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12+\n\x11relative_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x06 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_velocity\x18\x07 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x08 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\t \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\n \x01(\x05\x12\x11\n\tvel_count\x18\x0b \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\x0c \x01(\x05\x12\x17\n\x0fheard_vel_count\x18\r \x01(\x05\x12\x12\n\nlost_count\x18\x0e \x01(\x05\x12\x13\n\x0bghost_count\x18\x0f \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x10 \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\x11 \x01(\x02\"\xa1\x06\n\x06Player\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x0c \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\r \x01(\x02\x12\n\n\x02id\x18\x0e \x01(\x05\x12\x1a\n\x04side\x18\x0f \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x10 \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x11 \x01(\x05\x12\x11\n\tis_goalie\x18\x12 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x14 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x15 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x16 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x17 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x18 \x01(\x05\x12\x12\n\nis_kicking\x18\x19 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x1a \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x1b \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1c \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1d \x01(\x08\x12\x0f\n\x07type_id\x18\x1e \x01(\x05\"\xc0\x07\n\x04Self\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\n\n\x02id\x18\x0c \x01(\x05\x12\x1a\n\x04side\x18\r \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x0e \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x0f \x01(\x05\x12\x11\n\tis_goalie\x18\x10 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x11 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x12 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x14 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x15 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x16 \x01(\x05\x12\x12\n\nis_kicking\x18\x17 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x18 \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x19 \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1a \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1b \x01(\x08\x12\x1f\n\x17relative_neck_direction\x18\x1c \x01(\x02\x12\x0f\n\x07stamina\x18\x1d \x01(\x02\x12\x13\n\x0bis_kickable\x18\x1e \x01(\x08\x12\x19\n\x11\x63\x61tch_probability\x18\x1f \x01(\x02\x12\x1a\n\x12tackle_probability\x18 \x01(\x02\x12\x18\n\x10\x66oul_probability\x18! \x01(\x02\x12%\n\nview_width\x18\" \x01(\x0e\x32\x11.protos.ViewWidth\x12\x0f\n\x07type_id\x18# \x01(\x05\x12\x11\n\tkick_rate\x18$ \x01(\x02\"\x91\x02\n\rInterceptInfo\x12\x30\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32\x1b.protos.InterceptActionType\x12\x12\n\nturn_steps\x18\x02 \x01(\x05\x12\x12\n\nturn_angle\x18\x03 \x01(\x02\x12\x12\n\ndash_steps\x18\x04 \x01(\x05\x12\x12\n\ndash_power\x18\x05 \x01(\x02\x12\x10\n\x08\x64\x61sh_dir\x18\x06 \x01(\x02\x12-\n\x13\x66inal_self_position\x18\x07 \x01(\x0b\x32\x10.protos.Vector2D\x12\x17\n\x0f\x66inal_ball_dist\x18\x08 \x01(\x02\x12\x15\n\rfinal_stamina\x18\t \x01(\x02\x12\r\n\x05value\x18\n \x01(\x02\"\xde\x02\n\x0eInterceptTable\x12\x18\n\x10self_reach_steps\x18\x01 \x01(\x05\x12\"\n\x1a\x66irst_teammate_reach_steps\x18\x02 \x01(\x05\x12#\n\x1bsecond_teammate_reach_steps\x18\x03 \x01(\x05\x12\"\n\x1a\x66irst_opponent_reach_steps\x18\x04 \x01(\x05\x12#\n\x1bsecond_opponent_reach_steps\x18\x05 \x01(\x05\x12\x19\n\x11\x66irst_teammate_id\x18\x06 \x01(\x05\x12\x1a\n\x12second_teammate_id\x18\x07 \x01(\x05\x12\x19\n\x11\x66irst_opponent_id\x18\x08 \x01(\x05\x12\x1a\n\x12second_opponent_id\x18\t \x01(\x05\x12\x32\n\x13self_intercept_info\x18\n \x03(\x0b\x32\x15.protos.InterceptInfo\"\x8e\n\n\nWorldModel\x12/\n\x0fintercept_table\x18\x01 \x01(\x0b\x32\x16.protos.InterceptTable\x12\x15\n\rour_team_name\x18\x02 \x01(\t\x12\x17\n\x0ftheir_team_name\x18\x03 \x01(\t\x12\x1e\n\x08our_side\x18\x04 \x01(\x0e\x32\x0c.protos.Side\x12 \n\x18last_set_play_start_time\x18\x05 \x01(\x05\x12\x1a\n\x04self\x18\x06 \x01(\x0b\x32\x0c.protos.Self\x12\x1a\n\x04\x62\x61ll\x18\x07 \x01(\x0b\x32\x0c.protos.Ball\x12!\n\tteammates\x18\x08 \x03(\x0b\x32\x0e.protos.Player\x12!\n\topponents\x18\t \x03(\x0b\x32\x0e.protos.Player\x12 \n\x08unknowns\x18\n \x03(\x0b\x32\x0e.protos.Player\x12@\n\x10our_players_dict\x18\x0b \x03(\x0b\x32&.protos.WorldModel.OurPlayersDictEntry\x12\x44\n\x12their_players_dict\x18\x0c \x03(\x0b\x32(.protos.WorldModel.TheirPlayersDictEntry\x12!\n\x19our_goalie_uniform_number\x18\r \x01(\x05\x12#\n\x1btheir_goalie_uniform_number\x18\x0e \x01(\x05\x12\x16\n\x0eoffside_line_x\x18\x0f \x01(\x02\x12\x1b\n\x13ofside_line_x_count\x18\x10 \x01(\x05\x12\x1c\n\x14kickable_teammate_id\x18\x11 \x01(\x05\x12\x1c\n\x14kickable_opponent_id\x18\x12 \x01(\x05\x12$\n\x0elast_kick_side\x18\x13 \x01(\x0e\x32\x0c.protos.Side\x12\"\n\x1alast_kicker_uniform_number\x18\x14 \x01(\x05\x12\r\n\x05\x63ycle\x18\x15 \x01(\x05\x12,\n\x0egame_mode_type\x18\x16 \x01(\x0e\x32\x14.protos.GameModeType\x12\x17\n\x0fleft_team_score\x18\x17 \x01(\x05\x12\x18\n\x10right_team_score\x18\x18 \x01(\x05\x12\x17\n\x0fis_our_set_play\x18\x19 \x01(\x08\x12\x19\n\x11is_their_set_play\x18\x1a \x01(\x08\x12\x14\n\x0cstoped_cycle\x18\x1b \x01(\x05\x12\x16\n\x0eour_team_score\x18\x1c \x01(\x05\x12\x18\n\x10their_team_score\x18\x1d \x01(\x05\x12\x1c\n\x14is_penalty_kick_mode\x18\x1e \x01(\x08\x12J\n\x15helios_home_positions\x18\x1f \x03(\x0b\x32+.protos.WorldModel.HeliosHomePositionsEntry\x1a\x45\n\x13OurPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aG\n\x15TheirPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aL\n\x18HeliosHomePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D:\x02\x38\x01\"^\n\x05State\x12\'\n\x0bworld_model\x18\x01 \x01(\x0b\x32\x12.protos.WorldModel\x12,\n\x10\x66ull_world_model\x18\x02 \x01(\x0b\x32\x12.protos.WorldModel\"!\n\x0bInitMessage\x12\x12\n\ndebug_mode\x18\x01 \x01(\x08\"1\n\x04\x44\x61sh\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\"\"\n\x04Turn\x12\x1a\n\x12relative_direction\x18\x01 \x01(\x02\"1\n\x04Kick\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\",\n\x06Tackle\x12\x14\n\x0cpower_or_dir\x18\x01 \x01(\x02\x12\x0c\n\x04\x66oul\x18\x02 \x01(\x08\"\x07\n\x05\x43\x61tch\"\x1c\n\x04Move\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x1a\n\x08TurnNeck\x12\x0e\n\x06moment\x18\x01 \x01(\x02\"3\n\nChangeView\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"_\n\x0b\x42\x61llMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"\xaa\x01\n\x0bPassMessage\x12\x1f\n\x17receiver_uniform_number\x18\x01 \x01(\x05\x12(\n\x0ereceiver_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\"F\n\x10InterceptMessage\x12\x0b\n\x03our\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\"x\n\rGoalieMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12)\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\"\xcb\x01\n\x16GoalieAndPlayerMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12)\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\x12\x1d\n\x15player_uniform_number\x18\x04 \x01(\x05\x12)\n\x0fplayer_position\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\",\n\x12OffsideLineMessage\x12\x16\n\x0eoffside_line_x\x18\x01 \x01(\x02\",\n\x12\x44\x65\x66\x65nseLineMessage\x12\x16\n\x0e\x64\x65\x66\x65nse_line_x\x18\x01 \x01(\x02\"\x14\n\x12WaitRequestMessage\"#\n\x0eSetplayMessage\x12\x11\n\twait_step\x18\x01 \x01(\x05\"<\n\x12PassRequestMessage\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"!\n\x0eStaminaMessage\x12\x0f\n\x07stamina\x18\x01 \x01(\x02\"#\n\x0fRecoveryMessage\x12\x10\n\x08recovery\x18\x01 \x01(\x02\"2\n\x16StaminaCapacityMessage\x12\x18\n\x10stamina_capacity\x18\x01 \x01(\x02\"M\n\x0e\x44ribbleMessage\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0bqueue_count\x18\x02 \x01(\x05\"\xaf\x01\n\x11\x42\x61llGoalieMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12)\n\x0fgoalie_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x04 \x01(\x02\"N\n\x10OnePlayerMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"\xa4\x01\n\x10TwoPlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12(\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12)\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\"\xee\x01\n\x12ThreePlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12(\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12)\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1c\n\x14third_uniform_number\x18\x05 \x01(\x05\x12(\n\x0ethird_position\x18\x06 \x01(\x0b\x32\x10.protos.Vector2D\"i\n\x0bSelfMessage\x12\'\n\rself_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1b\n\x13self_body_direction\x18\x02 \x01(\x02\x12\x14\n\x0cself_stamina\x18\x03 \x01(\x02\"e\n\x0fTeammateMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"e\n\x0fOpponentMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"\xc0\x01\n\x11\x42\x61llPlayerMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12)\n\x0fplayer_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x05 \x01(\x02\"\xd0\t\n\x03Say\x12+\n\x0c\x62\x61ll_message\x18\x01 \x01(\x0b\x32\x13.protos.BallMessageH\x00\x12+\n\x0cpass_message\x18\x02 \x01(\x0b\x32\x13.protos.PassMessageH\x00\x12\x35\n\x11intercept_message\x18\x03 \x01(\x0b\x32\x18.protos.InterceptMessageH\x00\x12/\n\x0egoalie_message\x18\x04 \x01(\x0b\x32\x15.protos.GoalieMessageH\x00\x12\x43\n\x19goalie_and_player_message\x18\x05 \x01(\x0b\x32\x1e.protos.GoalieAndPlayerMessageH\x00\x12:\n\x14offside_line_message\x18\x06 \x01(\x0b\x32\x1a.protos.OffsideLineMessageH\x00\x12:\n\x14\x64\x65\x66\x65nse_line_message\x18\x07 \x01(\x0b\x32\x1a.protos.DefenseLineMessageH\x00\x12:\n\x14wait_request_message\x18\x08 \x01(\x0b\x32\x1a.protos.WaitRequestMessageH\x00\x12\x31\n\x0fsetplay_message\x18\t \x01(\x0b\x32\x16.protos.SetplayMessageH\x00\x12:\n\x14pass_request_message\x18\n \x01(\x0b\x32\x1a.protos.PassRequestMessageH\x00\x12\x31\n\x0fstamina_message\x18\x0b \x01(\x0b\x32\x16.protos.StaminaMessageH\x00\x12\x33\n\x10recovery_message\x18\x0c \x01(\x0b\x32\x17.protos.RecoveryMessageH\x00\x12\x42\n\x18stamina_capacity_message\x18\r \x01(\x0b\x32\x1e.protos.StaminaCapacityMessageH\x00\x12\x31\n\x0f\x64ribble_message\x18\x0e \x01(\x0b\x32\x16.protos.DribbleMessageH\x00\x12\x38\n\x13\x62\x61ll_goalie_message\x18\x0f \x01(\x0b\x32\x19.protos.BallGoalieMessageH\x00\x12\x36\n\x12one_player_message\x18\x10 \x01(\x0b\x32\x18.protos.OnePlayerMessageH\x00\x12\x36\n\x12two_player_message\x18\x11 \x01(\x0b\x32\x18.protos.TwoPlayerMessageH\x00\x12:\n\x14three_player_message\x18\x12 \x01(\x0b\x32\x1a.protos.ThreePlayerMessageH\x00\x12+\n\x0cself_message\x18\x13 \x01(\x0b\x32\x13.protos.SelfMessageH\x00\x12\x33\n\x10teammate_message\x18\x14 \x01(\x0b\x32\x17.protos.TeammateMessageH\x00\x12\x33\n\x10opponent_message\x18\x15 \x01(\x0b\x32\x17.protos.OpponentMessageH\x00\x12\x38\n\x13\x62\x61ll_player_message\x18\x16 \x01(\x0b\x32\x19.protos.BallPlayerMessageH\x00\x42\t\n\x07message\"\x1f\n\x07PointTo\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x0b\n\tPointToOf\"7\n\x0b\x41ttentionTo\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x0c\n\x04unum\x18\x02 \x01(\x05\"\x0f\n\rAttentionToOf\">\n\x07\x41\x64\x64Text\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0f\n\x07message\x18\x02 \x01(\t\"^\n\x08\x41\x64\x64Point\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x1f\n\x05point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x03 \x01(\t\"|\n\x07\x41\x64\x64Line\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x1f\n\x05start\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\x96\x01\n\x06\x41\x64\x64\x41rc\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x04 \x01(\x02\x12\x12\n\nspan_angel\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\"~\n\tAddCircle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\x0c\n\x04\x66ill\x18\x05 \x01(\x08\"\xb4\x01\n\x0b\x41\x64\x64Triangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06point1\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12 \n\x06point2\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12 \n\x06point3\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12\x0c\n\x04\x66ill\x18\x06 \x01(\x08\"\x89\x01\n\x0c\x41\x64\x64Rectangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0c\n\x04left\x18\x02 \x01(\x02\x12\x0b\n\x03top\x18\x03 \x01(\x02\x12\x0e\n\x06length\x18\x04 \x01(\x02\x12\r\n\x05width\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\x12\x0c\n\x04\x66ill\x18\x07 \x01(\x08\"\xbf\x01\n\tAddSector\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x12\n\nmin_radius\x18\x03 \x01(\x02\x12\x12\n\nmax_radius\x18\x04 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x05 \x01(\x02\x12\x12\n\nspan_angel\x18\x06 \x01(\x02\x12\r\n\x05\x63olor\x18\x07 \x01(\t\x12\x0c\n\x04\x66ill\x18\x08 \x01(\x08\"t\n\nAddMessage\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\xf9\x02\n\x03Log\x12#\n\x08\x61\x64\x64_text\x18\x01 \x01(\x0b\x32\x0f.protos.AddTextH\x00\x12%\n\tadd_point\x18\x02 \x01(\x0b\x32\x10.protos.AddPointH\x00\x12#\n\x08\x61\x64\x64_line\x18\x03 \x01(\x0b\x32\x0f.protos.AddLineH\x00\x12!\n\x07\x61\x64\x64_arc\x18\x04 \x01(\x0b\x32\x0e.protos.AddArcH\x00\x12\'\n\nadd_circle\x18\x05 \x01(\x0b\x32\x11.protos.AddCircleH\x00\x12+\n\x0c\x61\x64\x64_triangle\x18\x06 \x01(\x0b\x32\x13.protos.AddTriangleH\x00\x12-\n\radd_rectangle\x18\x07 \x01(\x0b\x32\x14.protos.AddRectangleH\x00\x12\'\n\nadd_sector\x18\x08 \x01(\x0b\x32\x11.protos.AddSectorH\x00\x12)\n\x0b\x61\x64\x64_message\x18\t \x01(\x0b\x32\x12.protos.AddMessageH\x00\x42\x05\n\x03log\"\x1e\n\x0b\x44\x65\x62ugClient\x12\x0f\n\x07message\x18\x01 \x01(\t\"l\n\x0e\x42ody_GoToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\x7f\n\x0e\x42ody_SmartKick\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x1d\n\x15\x66irst_speed_threshold\x18\x03 \x01(\x02\x12\x11\n\tmax_steps\x18\x04 \x01(\x05\"4\n\x11\x42hv_BeforeKickOff\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\x14\n\x12\x42hv_BodyNeckToBall\"6\n\x13\x42hv_BodyNeckToPoint\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\x0f\n\rBhv_Emergency\"s\n\x15\x42hv_GoToPointLookBall\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\'\n\x12\x42hv_NeckBodyToBall\x12\x11\n\tangle_buf\x18\x01 \x01(\x02\"I\n\x13\x42hv_NeckBodyToPoint\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tangle_buf\x18\x02 \x01(\x02\"\x0f\n\rBhv_ScanField\"\x12\n\x10\x42ody_AdvanceBall\"\x10\n\x0e\x42ody_ClearBall\"\x89\x01\n\x0c\x42ody_Dribble\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x12\n\ndash_power\x18\x03 \x01(\x02\x12\x12\n\ndash_count\x18\x04 \x01(\x05\x12\r\n\x05\x64odge\x18\x05 \x01(\x08\"Q\n\x13\x42ody_GoToPointDodge\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x12\n\ndash_power\x18\x02 \x01(\x02\"z\n\rBody_HoldBall\x12\x0f\n\x07\x64o_turn\x18\x01 \x01(\x08\x12+\n\x11turn_target_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12+\n\x11kick_target_point\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\"M\n\x0e\x42ody_Intercept\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\x12$\n\nface_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"c\n\x10\x42ody_KickOneStep\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x12\n\nforce_mode\x18\x03 \x01(\x08\"\x0f\n\rBody_StopBall\"&\n\rBody_StopDash\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\"h\n\x12\x42ody_TackleToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x17\n\x0fmin_probability\x18\x02 \x01(\x02\x12\x11\n\tmin_speed\x18\x03 \x01(\x02\"!\n\x10\x42ody_TurnToAngle\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\" \n\x0f\x42ody_TurnToBall\x12\r\n\x05\x63ycle\x18\x01 \x01(\x05\"I\n\x10\x42ody_TurnToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63ycle\x18\x02 \x01(\x05\";\n\x11\x46ocus_MoveToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\r\n\x0b\x46ocus_Reset\"\x10\n\x0eNeck_ScanField\"\x12\n\x10Neck_ScanPlayers\"g\n\x18Neck_TurnToBallAndPlayer\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"0\n\x15Neck_TurnToBallOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x11\n\x0fNeck_TurnToBall\"2\n\x17Neck_TurnToGoalieOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x1c\n\x1aNeck_TurnToLowConfTeammate\"f\n\x17Neck_TurnToPlayerOrScan\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\":\n\x10Neck_TurnToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"$\n\x13Neck_TurnToRelative\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\"9\n\x10View_ChangeWidth\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"\r\n\x0bView_Normal\"\x0c\n\nView_Synch\"\x0b\n\tView_Wide\"\x0e\n\x0cHeliosGoalie\"\x12\n\x10HeliosGoalieMove\"\x12\n\x10HeliosGoalieKick\"\r\n\x0bHeliosShoot\"\xd0\x01\n\x11HeliosChainAction\x12\x13\n\x0b\x64irect_pass\x18\x01 \x01(\x08\x12\x11\n\tlead_pass\x18\x02 \x01(\x08\x12\x14\n\x0cthrough_pass\x18\x03 \x01(\x08\x12\x15\n\rshort_dribble\x18\x04 \x01(\x08\x12\x14\n\x0clong_dribble\x18\x05 \x01(\x08\x12\r\n\x05\x63ross\x18\x06 \x01(\x08\x12\x13\n\x0bsimple_pass\x18\x07 \x01(\x08\x12\x16\n\x0esimple_dribble\x18\x08 \x01(\x08\x12\x14\n\x0csimple_shoot\x18\t \x01(\x08\"\x16\n\x14HeliosBasicOffensive\"\x11\n\x0fHeliosBasicMove\"\x0f\n\rHeliosSetPlay\"\x0f\n\rHeliosPenalty\"\x14\n\x12HeliosCommunicaion\"\xdd\x19\n\x06\x41\x63tion\x12\x1c\n\x04\x64\x61sh\x18\x01 \x01(\x0b\x32\x0c.protos.DashH\x00\x12\x1c\n\x04turn\x18\x02 \x01(\x0b\x32\x0c.protos.TurnH\x00\x12\x1c\n\x04kick\x18\x03 \x01(\x0b\x32\x0c.protos.KickH\x00\x12 \n\x06tackle\x18\x04 \x01(\x0b\x32\x0e.protos.TackleH\x00\x12\x1e\n\x05\x63\x61tch\x18\x05 \x01(\x0b\x32\r.protos.CatchH\x00\x12\x1c\n\x04move\x18\x06 \x01(\x0b\x32\x0c.protos.MoveH\x00\x12%\n\tturn_neck\x18\x07 \x01(\x0b\x32\x10.protos.TurnNeckH\x00\x12)\n\x0b\x63hange_view\x18\x08 \x01(\x0b\x32\x12.protos.ChangeViewH\x00\x12\x1a\n\x03say\x18\t \x01(\x0b\x32\x0b.protos.SayH\x00\x12#\n\x08point_to\x18\n \x01(\x0b\x32\x0f.protos.PointToH\x00\x12(\n\x0bpoint_to_of\x18\x0b \x01(\x0b\x32\x11.protos.PointToOfH\x00\x12+\n\x0c\x61ttention_to\x18\x0c \x01(\x0b\x32\x13.protos.AttentionToH\x00\x12\x30\n\x0f\x61ttention_to_of\x18\r \x01(\x0b\x32\x15.protos.AttentionToOfH\x00\x12\x1a\n\x03log\x18\x0e \x01(\x0b\x32\x0b.protos.LogH\x00\x12+\n\x0c\x64\x65\x62ug_client\x18\x0f \x01(\x0b\x32\x13.protos.DebugClientH\x00\x12\x32\n\x10\x62ody_go_to_point\x18\x10 \x01(\x0b\x32\x16.protos.Body_GoToPointH\x00\x12\x31\n\x0f\x62ody_smart_kick\x18\x11 \x01(\x0b\x32\x16.protos.Body_SmartKickH\x00\x12\x38\n\x13\x62hv_before_kick_off\x18\x12 \x01(\x0b\x32\x19.protos.Bhv_BeforeKickOffH\x00\x12;\n\x15\x62hv_body_neck_to_ball\x18\x13 \x01(\x0b\x32\x1a.protos.Bhv_BodyNeckToBallH\x00\x12=\n\x16\x62hv_body_neck_to_point\x18\x14 \x01(\x0b\x32\x1b.protos.Bhv_BodyNeckToPointH\x00\x12.\n\rbhv_emergency\x18\x15 \x01(\x0b\x32\x15.protos.Bhv_EmergencyH\x00\x12\x42\n\x19\x62hv_go_to_point_look_ball\x18\x16 \x01(\x0b\x32\x1d.protos.Bhv_GoToPointLookBallH\x00\x12;\n\x15\x62hv_neck_body_to_ball\x18\x17 \x01(\x0b\x32\x1a.protos.Bhv_NeckBodyToBallH\x00\x12=\n\x16\x62hv_neck_body_to_point\x18\x18 \x01(\x0b\x32\x1b.protos.Bhv_NeckBodyToPointH\x00\x12/\n\x0e\x62hv_scan_field\x18\x19 \x01(\x0b\x32\x15.protos.Bhv_ScanFieldH\x00\x12\x35\n\x11\x62ody_advance_ball\x18\x1a \x01(\x0b\x32\x18.protos.Body_AdvanceBallH\x00\x12\x31\n\x0f\x62ody_clear_ball\x18\x1b \x01(\x0b\x32\x16.protos.Body_ClearBallH\x00\x12,\n\x0c\x62ody_dribble\x18\x1c \x01(\x0b\x32\x14.protos.Body_DribbleH\x00\x12=\n\x16\x62ody_go_to_point_dodge\x18\x1d \x01(\x0b\x32\x1b.protos.Body_GoToPointDodgeH\x00\x12/\n\x0e\x62ody_hold_ball\x18\x1e \x01(\x0b\x32\x15.protos.Body_HoldBallH\x00\x12\x30\n\x0e\x62ody_intercept\x18\x1f \x01(\x0b\x32\x16.protos.Body_InterceptH\x00\x12\x36\n\x12\x62ody_kick_one_step\x18 \x01(\x0b\x32\x18.protos.Body_KickOneStepH\x00\x12/\n\x0e\x62ody_stop_ball\x18! \x01(\x0b\x32\x15.protos.Body_StopBallH\x00\x12/\n\x0e\x62ody_stop_dash\x18\" \x01(\x0b\x32\x15.protos.Body_StopDashH\x00\x12:\n\x14\x62ody_tackle_to_point\x18# \x01(\x0b\x32\x1a.protos.Body_TackleToPointH\x00\x12\x36\n\x12\x62ody_turn_to_angle\x18$ \x01(\x0b\x32\x18.protos.Body_TurnToAngleH\x00\x12\x34\n\x11\x62ody_turn_to_ball\x18% \x01(\x0b\x32\x17.protos.Body_TurnToBallH\x00\x12\x36\n\x12\x62ody_turn_to_point\x18& \x01(\x0b\x32\x18.protos.Body_TurnToPointH\x00\x12\x38\n\x13\x66ocus_move_to_point\x18\' \x01(\x0b\x32\x19.protos.Focus_MoveToPointH\x00\x12*\n\x0b\x66ocus_reset\x18( \x01(\x0b\x32\x13.protos.Focus_ResetH\x00\x12\x31\n\x0fneck_scan_field\x18) \x01(\x0b\x32\x16.protos.Neck_ScanFieldH\x00\x12\x35\n\x11neck_scan_players\x18* \x01(\x0b\x32\x18.protos.Neck_ScanPlayersH\x00\x12H\n\x1cneck_turn_to_ball_and_player\x18+ \x01(\x0b\x32 .protos.Neck_TurnToBallAndPlayerH\x00\x12\x42\n\x19neck_turn_to_ball_or_scan\x18, \x01(\x0b\x32\x1d.protos.Neck_TurnToBallOrScanH\x00\x12\x34\n\x11neck_turn_to_ball\x18- \x01(\x0b\x32\x17.protos.Neck_TurnToBallH\x00\x12\x46\n\x1bneck_turn_to_goalie_or_scan\x18. \x01(\x0b\x32\x1f.protos.Neck_TurnToGoalieOrScanH\x00\x12L\n\x1eneck_turn_to_low_conf_teammate\x18/ \x01(\x0b\x32\".protos.Neck_TurnToLowConfTeammateH\x00\x12\x46\n\x1bneck_turn_to_player_or_scan\x18\x30 \x01(\x0b\x32\x1f.protos.Neck_TurnToPlayerOrScanH\x00\x12\x36\n\x12neck_turn_to_point\x18\x31 \x01(\x0b\x32\x18.protos.Neck_TurnToPointH\x00\x12<\n\x15neck_turn_to_relative\x18\x32 \x01(\x0b\x32\x1b.protos.Neck_TurnToRelativeH\x00\x12\x35\n\x11view_change_width\x18\x33 \x01(\x0b\x32\x18.protos.View_ChangeWidthH\x00\x12*\n\x0bview_normal\x18\x34 \x01(\x0b\x32\x13.protos.View_NormalH\x00\x12(\n\nview_synch\x18\x35 \x01(\x0b\x32\x12.protos.View_SynchH\x00\x12&\n\tview_wide\x18\x36 \x01(\x0b\x32\x11.protos.View_WideH\x00\x12-\n\rhelios_goalie\x18\x37 \x01(\x0b\x32\x14.protos.HeliosGoalieH\x00\x12\x36\n\x12helios_goalie_move\x18\x38 \x01(\x0b\x32\x18.protos.HeliosGoalieMoveH\x00\x12\x36\n\x12helios_goalie_kick\x18\x39 \x01(\x0b\x32\x18.protos.HeliosGoalieKickH\x00\x12+\n\x0chelios_shoot\x18: \x01(\x0b\x32\x13.protos.HeliosShootH\x00\x12\x38\n\x13helios_chain_action\x18; \x01(\x0b\x32\x19.protos.HeliosChainActionH\x00\x12>\n\x16helios_basic_offensive\x18< \x01(\x0b\x32\x1c.protos.HeliosBasicOffensiveH\x00\x12\x34\n\x11helios_basic_move\x18= \x01(\x0b\x32\x17.protos.HeliosBasicMoveH\x00\x12\x30\n\x0fhelios_set_play\x18> \x01(\x0b\x32\x15.protos.HeliosSetPlayH\x00\x12/\n\x0ehelios_penalty\x18? \x01(\x0b\x32\x15.protos.HeliosPenaltyH\x00\x12:\n\x14helios_communication\x18@ \x01(\x0b\x32\x1a.protos.HeliosCommunicaionH\x00\x42\x08\n\x06\x61\x63tion\"*\n\x07\x41\x63tions\x12\x1f\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x0e.protos.Action\"\xa7,\n\x0bServerParam\x12\x12\n\ngoal_width\x18\x01 \x01(\x02\x12\x16\n\x0einertia_moment\x18\x02 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x13\n\x0bplayer_rand\x18\x05 \x01(\x02\x12\x15\n\rplayer_weight\x18\x06 \x01(\x02\x12\x18\n\x10player_speed_max\x18\x07 \x01(\x02\x12\x18\n\x10player_accel_max\x18\x08 \x01(\x02\x12\x13\n\x0bstamina_max\x18\t \x01(\x02\x12\x17\n\x0fstamina_inc_max\x18\n \x01(\x02\x12\x14\n\x0crecover_init\x18\x0b \x01(\x02\x12\x17\n\x0frecover_dec_thr\x18\x0c \x01(\x02\x12\x13\n\x0brecover_min\x18\r \x01(\x02\x12\x13\n\x0brecover_dec\x18\x0e \x01(\x02\x12\x13\n\x0b\x65\x66\x66ort_init\x18\x0f \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_dec_thr\x18\x10 \x01(\x02\x12\x12\n\neffort_min\x18\x11 \x01(\x02\x12\x12\n\neffort_dec\x18\x12 \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_inc_thr\x18\x13 \x01(\x02\x12\x12\n\neffort_inc\x18\x14 \x01(\x02\x12\x11\n\tkick_rand\x18\x15 \x01(\x02\x12\x1b\n\x13team_actuator_noise\x18\x16 \x01(\x08\x12\x1c\n\x14player_rand_factor_l\x18\x17 \x01(\x02\x12\x1c\n\x14player_rand_factor_r\x18\x18 \x01(\x02\x12\x1a\n\x12kick_rand_factor_l\x18\x19 \x01(\x02\x12\x1a\n\x12kick_rand_factor_r\x18\x1a \x01(\x02\x12\x11\n\tball_size\x18\x1b \x01(\x02\x12\x12\n\nball_decay\x18\x1c \x01(\x02\x12\x11\n\tball_rand\x18\x1d \x01(\x02\x12\x13\n\x0b\x62\x61ll_weight\x18\x1e \x01(\x02\x12\x16\n\x0e\x62\x61ll_speed_max\x18\x1f \x01(\x02\x12\x16\n\x0e\x62\x61ll_accel_max\x18 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18! \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\" \x01(\x02\x12\x17\n\x0fkickable_margin\x18# \x01(\x02\x12\x16\n\x0e\x63ontrol_radius\x18$ \x01(\x02\x12\x1c\n\x14\x63ontrol_radius_width\x18% \x01(\x02\x12\x11\n\tmax_power\x18& \x01(\x02\x12\x11\n\tmin_power\x18\' \x01(\x02\x12\x12\n\nmax_moment\x18( \x01(\x02\x12\x12\n\nmin_moment\x18) \x01(\x02\x12\x17\n\x0fmax_neck_moment\x18* \x01(\x02\x12\x17\n\x0fmin_neck_moment\x18+ \x01(\x02\x12\x16\n\x0emax_neck_angle\x18, \x01(\x02\x12\x16\n\x0emin_neck_angle\x18- \x01(\x02\x12\x15\n\rvisible_angle\x18. \x01(\x02\x12\x18\n\x10visible_distance\x18/ \x01(\x02\x12\x10\n\x08wind_dir\x18\x30 \x01(\x02\x12\x12\n\nwind_force\x18\x31 \x01(\x02\x12\x12\n\nwind_angle\x18\x32 \x01(\x02\x12\x11\n\twind_rand\x18\x33 \x01(\x02\x12\x15\n\rkickable_area\x18\x34 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_l\x18\x35 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_w\x18\x36 \x01(\x02\x12\x19\n\x11\x63\x61tch_probability\x18\x37 \x01(\x02\x12\x18\n\x10goalie_max_moves\x18\x38 \x01(\x05\x12\x1a\n\x12\x63orner_kick_margin\x18\x39 \x01(\x02\x12 \n\x18offside_active_area_size\x18: \x01(\x02\x12\x11\n\twind_none\x18; \x01(\x08\x12\x17\n\x0fuse_wind_random\x18< \x01(\x08\x12\x1b\n\x13\x63oach_say_count_max\x18= \x01(\x05\x12\x1a\n\x12\x63oach_say_msg_size\x18> \x01(\x05\x12\x16\n\x0e\x63lang_win_size\x18? \x01(\x05\x12\x18\n\x10\x63lang_define_win\x18@ \x01(\x05\x12\x16\n\x0e\x63lang_meta_win\x18\x41 \x01(\x05\x12\x18\n\x10\x63lang_advice_win\x18\x42 \x01(\x05\x12\x16\n\x0e\x63lang_info_win\x18\x43 \x01(\x05\x12\x18\n\x10\x63lang_mess_delay\x18\x44 \x01(\x05\x12\x1c\n\x14\x63lang_mess_per_cycle\x18\x45 \x01(\x05\x12\x11\n\thalf_time\x18\x46 \x01(\x05\x12\x16\n\x0esimulator_step\x18G \x01(\x05\x12\x11\n\tsend_step\x18H \x01(\x05\x12\x11\n\trecv_step\x18I \x01(\x05\x12\x17\n\x0fsense_body_step\x18J \x01(\x05\x12\x10\n\x08lcm_step\x18K \x01(\x05\x12\x1b\n\x13player_say_msg_size\x18L \x01(\x05\x12\x17\n\x0fplayer_hear_max\x18M \x01(\x05\x12\x17\n\x0fplayer_hear_inc\x18N \x01(\x05\x12\x19\n\x11player_hear_decay\x18O \x01(\x05\x12\x17\n\x0f\x63\x61tch_ban_cycle\x18P \x01(\x05\x12\x18\n\x10slow_down_factor\x18Q \x01(\x05\x12\x13\n\x0buse_offside\x18R \x01(\x08\x12\x17\n\x0fkickoff_offside\x18S \x01(\x08\x12\x1b\n\x13offside_kick_margin\x18T \x01(\x02\x12\x16\n\x0e\x61udio_cut_dist\x18U \x01(\x02\x12\x1a\n\x12\x64ist_quantize_step\x18V \x01(\x02\x12#\n\x1blandmark_dist_quantize_step\x18W \x01(\x02\x12\x19\n\x11\x64ir_quantize_step\x18X \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_l\x18Y \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_r\x18Z \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_l\x18[ \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_r\x18\\ \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_l\x18] \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_r\x18^ \x01(\x02\x12\x12\n\ncoach_mode\x18_ \x01(\x08\x12\x1f\n\x17\x63oach_with_referee_mode\x18` \x01(\x08\x12\x1a\n\x12use_old_coach_hear\x18\x61 \x01(\x08\x12%\n\x1dslowness_on_top_for_left_team\x18\x62 \x01(\x02\x12&\n\x1eslowness_on_top_for_right_team\x18\x63 \x01(\x02\x12\x14\n\x0cstart_goal_l\x18\x64 \x01(\x05\x12\x14\n\x0cstart_goal_r\x18\x65 \x01(\x05\x12\x13\n\x0b\x66ullstate_l\x18\x66 \x01(\x08\x12\x13\n\x0b\x66ullstate_r\x18g \x01(\x08\x12\x16\n\x0e\x64rop_ball_time\x18h \x01(\x05\x12\x12\n\nsynch_mode\x18i \x01(\x08\x12\x14\n\x0csynch_offset\x18j \x01(\x05\x12\x19\n\x11synch_micro_sleep\x18k \x01(\x05\x12\x14\n\x0cpoint_to_ban\x18l \x01(\x05\x12\x19\n\x11point_to_duration\x18m \x01(\x05\x12\x13\n\x0bplayer_port\x18n \x01(\x05\x12\x14\n\x0ctrainer_port\x18o \x01(\x05\x12\x19\n\x11online_coach_port\x18p \x01(\x05\x12\x14\n\x0cverbose_mode\x18q \x01(\x08\x12\x1a\n\x12\x63oach_send_vi_step\x18r \x01(\x05\x12\x13\n\x0breplay_file\x18s \x01(\t\x12\x15\n\rlandmark_file\x18t \x01(\t\x12\x12\n\nsend_comms\x18u \x01(\x08\x12\x14\n\x0ctext_logging\x18v \x01(\x08\x12\x14\n\x0cgame_logging\x18w \x01(\x08\x12\x18\n\x10game_log_version\x18x \x01(\x05\x12\x14\n\x0ctext_log_dir\x18y \x01(\t\x12\x14\n\x0cgame_log_dir\x18z \x01(\t\x12\x1b\n\x13text_log_fixed_name\x18{ \x01(\t\x12\x1b\n\x13game_log_fixed_name\x18| \x01(\t\x12\x1a\n\x12use_text_log_fixed\x18} \x01(\x08\x12\x1a\n\x12use_game_log_fixed\x18~ \x01(\x08\x12\x1a\n\x12use_text_log_dated\x18\x7f \x01(\x08\x12\x1b\n\x12use_game_log_dated\x18\x80\x01 \x01(\x08\x12\x18\n\x0flog_date_format\x18\x81\x01 \x01(\t\x12\x12\n\tlog_times\x18\x82\x01 \x01(\x08\x12\x17\n\x0erecord_message\x18\x83\x01 \x01(\x08\x12\x1d\n\x14text_log_compression\x18\x84\x01 \x01(\x05\x12\x1d\n\x14game_log_compression\x18\x85\x01 \x01(\x05\x12\x14\n\x0buse_profile\x18\x86\x01 \x01(\x08\x12\x14\n\x0btackle_dist\x18\x87\x01 \x01(\x02\x12\x19\n\x10tackle_back_dist\x18\x88\x01 \x01(\x02\x12\x15\n\x0ctackle_width\x18\x89\x01 \x01(\x02\x12\x18\n\x0ftackle_exponent\x18\x8a\x01 \x01(\x02\x12\x16\n\rtackle_cycles\x18\x8b\x01 \x01(\x05\x12\x1a\n\x11tackle_power_rate\x18\x8c\x01 \x01(\x02\x12\x1d\n\x14\x66reeform_wait_period\x18\x8d\x01 \x01(\x05\x12\x1d\n\x14\x66reeform_send_period\x18\x8e\x01 \x01(\x05\x12\x19\n\x10\x66ree_kick_faults\x18\x8f\x01 \x01(\x08\x12\x14\n\x0b\x62\x61\x63k_passes\x18\x90\x01 \x01(\x08\x12\x1a\n\x11proper_goal_kicks\x18\x91\x01 \x01(\x08\x12\x19\n\x10stopped_ball_vel\x18\x92\x01 \x01(\x02\x12\x17\n\x0emax_goal_kicks\x18\x93\x01 \x01(\x05\x12\x16\n\rclang_del_win\x18\x94\x01 \x01(\x05\x12\x17\n\x0e\x63lang_rule_win\x18\x95\x01 \x01(\x05\x12\x12\n\tauto_mode\x18\x96\x01 \x01(\x08\x12\x16\n\rkick_off_wait\x18\x97\x01 \x01(\x05\x12\x15\n\x0c\x63onnect_wait\x18\x98\x01 \x01(\x05\x12\x17\n\x0egame_over_wait\x18\x99\x01 \x01(\x05\x12\x15\n\x0cteam_l_start\x18\x9a\x01 \x01(\t\x12\x15\n\x0cteam_r_start\x18\x9b\x01 \x01(\t\x12\x16\n\rkeepaway_mode\x18\x9c\x01 \x01(\x08\x12\x18\n\x0fkeepaway_length\x18\x9d\x01 \x01(\x02\x12\x17\n\x0ekeepaway_width\x18\x9e\x01 \x01(\x02\x12\x19\n\x10keepaway_logging\x18\x9f\x01 \x01(\x08\x12\x19\n\x10keepaway_log_dir\x18\xa0\x01 \x01(\t\x12 \n\x17keepaway_log_fixed_name\x18\xa1\x01 \x01(\t\x12\x1b\n\x12keepaway_log_fixed\x18\xa2\x01 \x01(\x08\x12\x1b\n\x12keepaway_log_dated\x18\xa3\x01 \x01(\x08\x12\x17\n\x0ekeepaway_start\x18\xa4\x01 \x01(\x05\x12\x18\n\x0fnr_normal_halfs\x18\xa5\x01 \x01(\x05\x12\x17\n\x0enr_extra_halfs\x18\xa6\x01 \x01(\x05\x12\x1b\n\x12penalty_shoot_outs\x18\xa7\x01 \x01(\x08\x12\x1e\n\x15pen_before_setup_wait\x18\xa8\x01 \x01(\x05\x12\x17\n\x0epen_setup_wait\x18\xa9\x01 \x01(\x05\x12\x17\n\x0epen_ready_wait\x18\xaa\x01 \x01(\x05\x12\x17\n\x0epen_taken_wait\x18\xab\x01 \x01(\x05\x12\x15\n\x0cpen_nr_kicks\x18\xac\x01 \x01(\x05\x12\x1c\n\x13pen_max_extra_kicks\x18\xad\x01 \x01(\x05\x12\x13\n\npen_dist_x\x18\xae\x01 \x01(\x02\x12\x1a\n\x11pen_random_winner\x18\xaf\x01 \x01(\x08\x12\x1d\n\x14pen_allow_mult_kicks\x18\xb0\x01 \x01(\x08\x12\x1e\n\x15pen_max_goalie_dist_x\x18\xb1\x01 \x01(\x02\x12 \n\x17pen_coach_moves_players\x18\xb2\x01 \x01(\x08\x12\x13\n\nmodule_dir\x18\xb3\x01 \x01(\t\x12\x18\n\x0f\x62\x61ll_stuck_area\x18\xb4\x01 \x01(\x02\x12\x17\n\x0e\x63oach_msg_file\x18\xb5\x01 \x01(\t\x12\x19\n\x10max_tackle_power\x18\xb6\x01 \x01(\x02\x12\x1e\n\x15max_back_tackle_power\x18\xb7\x01 \x01(\x02\x12\x1d\n\x14player_speed_max_min\x18\xb8\x01 \x01(\x02\x12\x16\n\rextra_stamina\x18\xb9\x01 \x01(\x02\x12\x19\n\x10synch_see_offset\x18\xba\x01 \x01(\x05\x12\x18\n\x0f\x65xtra_half_time\x18\xbb\x01 \x01(\x05\x12\x19\n\x10stamina_capacity\x18\xbc\x01 \x01(\x02\x12\x17\n\x0emax_dash_angle\x18\xbd\x01 \x01(\x02\x12\x17\n\x0emin_dash_angle\x18\xbe\x01 \x01(\x02\x12\x18\n\x0f\x64\x61sh_angle_step\x18\xbf\x01 \x01(\x02\x12\x17\n\x0eside_dash_rate\x18\xc0\x01 \x01(\x02\x12\x17\n\x0e\x62\x61\x63k_dash_rate\x18\xc1\x01 \x01(\x02\x12\x17\n\x0emax_dash_power\x18\xc2\x01 \x01(\x02\x12\x17\n\x0emin_dash_power\x18\xc3\x01 \x01(\x02\x12\x1b\n\x12tackle_rand_factor\x18\xc4\x01 \x01(\x02\x12 \n\x17\x66oul_detect_probability\x18\xc5\x01 \x01(\x02\x12\x16\n\rfoul_exponent\x18\xc6\x01 \x01(\x02\x12\x14\n\x0b\x66oul_cycles\x18\xc7\x01 \x01(\x05\x12\x14\n\x0bgolden_goal\x18\xc8\x01 \x01(\x08\x12\x1d\n\x14red_card_probability\x18\xc9\x01 \x01(\x02\x12!\n\x18illegal_defense_duration\x18\xca\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_number\x18\xcb\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_dist_x\x18\xcc\x01 \x01(\x02\x12\x1e\n\x15illegal_defense_width\x18\xcd\x01 \x01(\x02\x12\x19\n\x10\x66ixed_teamname_l\x18\xce\x01 \x01(\t\x12\x19\n\x10\x66ixed_teamname_r\x18\xcf\x01 \x01(\t\x12\x18\n\x0fmax_catch_angle\x18\xd0\x01 \x01(\x02\x12\x18\n\x0fmin_catch_angle\x18\xd1\x01 \x01(\x02\x12\x14\n\x0brandom_seed\x18\xd2\x01 \x01(\x05\x12\x1f\n\x16long_kick_power_factor\x18\xd3\x01 \x01(\x02\x12\x18\n\x0flong_kick_delay\x18\xd4\x01 \x01(\x05\x12\x15\n\x0cmax_monitors\x18\xd5\x01 \x01(\x05\x12\x17\n\x0e\x63\x61tchable_area\x18\xd6\x01 \x01(\x02\x12\x17\n\x0ereal_speed_max\x18\xd7\x01 \x01(\x02\x12\x1a\n\x11pitch_half_length\x18\xd8\x01 \x01(\x02\x12\x19\n\x10pitch_half_width\x18\xd9\x01 \x01(\x02\x12 \n\x17our_penalty_area_line_x\x18\xda\x01 \x01(\x02\x12\"\n\x19their_penalty_area_line_x\x18\xdb\x01 \x01(\x02\x12 \n\x17penalty_area_half_width\x18\xdc\x01 \x01(\x02\x12\x1c\n\x13penalty_area_length\x18\xdd\x01 \x01(\x02\"\xd8\x07\n\x0bPlayerParam\x12\x14\n\x0cplayer_types\x18\x01 \x01(\x05\x12\x10\n\x08subs_max\x18\x02 \x01(\x05\x12\x0e\n\x06pt_max\x18\x03 \x01(\x05\x12\x1f\n\x17\x61llow_mult_default_type\x18\x04 \x01(\x08\x12\"\n\x1aplayer_speed_max_delta_min\x18\x05 \x01(\x02\x12\"\n\x1aplayer_speed_max_delta_max\x18\x06 \x01(\x02\x12$\n\x1cstamina_inc_max_delta_factor\x18\x07 \x01(\x02\x12\x1e\n\x16player_decay_delta_min\x18\x08 \x01(\x02\x12\x1e\n\x16player_decay_delta_max\x18\t \x01(\x02\x12#\n\x1binertia_moment_delta_factor\x18\n \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_min\x18\x0b \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_max\x18\x0c \x01(\x02\x12 \n\x18player_size_delta_factor\x18\r \x01(\x02\x12!\n\x19kickable_margin_delta_min\x18\x0e \x01(\x02\x12!\n\x19kickable_margin_delta_max\x18\x0f \x01(\x02\x12\x1e\n\x16kick_rand_delta_factor\x18\x10 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_min\x18\x11 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_max\x18\x12 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_max_delta_factor\x18\x13 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_min_delta_factor\x18\x14 \x01(\x02\x12\x13\n\x0brandom_seed\x18\x15 \x01(\x05\x12%\n\x1dnew_dash_power_rate_delta_min\x18\x16 \x01(\x02\x12%\n\x1dnew_dash_power_rate_delta_max\x18\x17 \x01(\x02\x12(\n new_stamina_inc_max_delta_factor\x18\x18 \x01(\x02\x12!\n\x19kick_power_rate_delta_min\x18\x19 \x01(\x02\x12!\n\x19kick_power_rate_delta_max\x18\x1a \x01(\x02\x12,\n$foul_detect_probability_delta_factor\x18\x1b \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_min\x18\x1c \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_max\x18\x1d \x01(\x02\"\x8a\x07\n\nPlayerType\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x18\n\x10player_speed_max\x18\x02 \x01(\x02\x12\x17\n\x0fstamina_inc_max\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x16\n\x0einertia_moment\x18\x05 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18\x06 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x07 \x01(\x02\x12\x17\n\x0fkickable_margin\x18\x08 \x01(\x02\x12\x11\n\tkick_rand\x18\t \x01(\x02\x12\x15\n\rextra_stamina\x18\n \x01(\x02\x12\x12\n\neffort_max\x18\x0b \x01(\x02\x12\x12\n\neffort_min\x18\x0c \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\r \x01(\x02\x12\x1f\n\x17\x66oul_detect_probability\x18\x0e \x01(\x02\x12 \n\x18\x63\x61tchable_area_l_stretch\x18\x0f \x01(\x02\x12\x17\n\x0funum_far_length\x18\x10 \x01(\x02\x12\x1b\n\x13unum_too_far_length\x18\x11 \x01(\x02\x12\x17\n\x0fteam_far_length\x18\x12 \x01(\x02\x12\x1b\n\x13team_too_far_length\x18\x13 \x01(\x02\x12%\n\x1dplayer_max_observation_length\x18\x14 \x01(\x02\x12\x1b\n\x13\x62\x61ll_vel_far_length\x18\x15 \x01(\x02\x12\x1f\n\x17\x62\x61ll_vel_too_far_length\x18\x16 \x01(\x02\x12#\n\x1b\x62\x61ll_max_observation_length\x18\x17 \x01(\x02\x12\x1b\n\x13\x66lag_chg_far_length\x18\x18 \x01(\x02\x12\x1f\n\x17\x66lag_chg_too_far_length\x18\x19 \x01(\x02\x12#\n\x1b\x66lag_max_observation_length\x18\x1a \x01(\x02\x12\x15\n\rkickable_area\x18\x1b \x01(\x02\x12\x1f\n\x17reliable_catchable_dist\x18\x1c \x01(\x02\x12\x1a\n\x12max_catchable_dist\x18\x1d \x01(\x02\x12\x16\n\x0ereal_speed_max\x18\x1e \x01(\x02\x12\x19\n\x11player_speed_max2\x18\x1f \x01(\x02\x12\x17\n\x0freal_speed_max2\x18 \x01(\x02\x12!\n\x19\x63ycles_to_reach_max_speed\x18! \x01(\x05\"\x07\n\x05\x45mpty*-\n\tViewWidth\x12\n\n\x06NARROW\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x08\n\x04WIDE\x10\x02*(\n\x04Side\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\t\n\x05RIGHT\x10\x02*\xad\x02\n\x0bLoggerLevel\x12\x08\n\x04None\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\n\n\x06SENSOR\x10\x02\x12\t\n\x05WORLD\x10\x04\x12\n\n\x06\x41\x43TION\x10\x08\x12\r\n\tINTERCEPT\x10\x10\x12\x08\n\x04KICK\x10 \x12\x08\n\x04HOLD\x10@\x12\x0c\n\x07\x44RIBBLE\x10\x80\x01\x12\t\n\x04PASS\x10\x80\x02\x12\n\n\x05\x43ROSS\x10\x80\x04\x12\n\n\x05SHOOT\x10\x80\x08\x12\n\n\x05\x43LEAR\x10\x80\x10\x12\n\n\x05\x42LOCK\x10\x80 \x12\t\n\x04MARK\x10\x80@\x12\x11\n\x0bPOSITIONING\x10\x80\x80\x01\x12\n\n\x04ROLE\x10\x80\x80\x02\x12\n\n\x04TEAM\x10\x80\x80\x04\x12\x13\n\rCOMMUNICATION\x10\x80\x80\x08\x12\x0e\n\x08\x41NALYZER\x10\x80\x80\x10\x12\x12\n\x0c\x41\x43TION_CHAIN\x10\x80\x80 \x12\n\n\x04PLAN\x10\x80\x80@*v\n\x13InterceptActionType\x12!\n\x1dUNKNOWN_Intercept_Action_Type\x10\x00\x12\r\n\tOMNI_DASH\x10\x01\x12\x15\n\x11TURN_FORWARD_DASH\x10\x02\x12\x16\n\x12TURN_BACKWARD_DASH\x10\x03*\xbb\x04\n\x0cGameModeType\x12\x11\n\rBeforeKickOff\x10\x00\x12\x0c\n\x08TimeOver\x10\x01\x12\n\n\x06PlayOn\x10\x02\x12\x0c\n\x08KickOff_\x10\x03\x12\x0b\n\x07KickIn_\x10\x04\x12\r\n\tFreeKick_\x10\x05\x12\x0f\n\x0b\x43ornerKick_\x10\x06\x12\r\n\tGoalKick_\x10\x07\x12\x0e\n\nAfterGoal_\x10\x08\x12\x0c\n\x08OffSide_\x10\t\x12\x10\n\x0cPenaltyKick_\x10\n\x12\x11\n\rFirstHalfOver\x10\x0b\x12\t\n\x05Pause\x10\x0c\x12\t\n\x05Human\x10\r\x12\x0f\n\x0b\x46oulCharge_\x10\x0e\x12\r\n\tFoulPush_\x10\x0f\x12\x19\n\x15\x46oulMultipleAttacker_\x10\x10\x12\x10\n\x0c\x46oulBallOut_\x10\x11\x12\r\n\tBackPass_\x10\x12\x12\x12\n\x0e\x46reeKickFault_\x10\x13\x12\x0f\n\x0b\x43\x61tchFault_\x10\x14\x12\x10\n\x0cIndFreeKick_\x10\x15\x12\x11\n\rPenaltySetup_\x10\x16\x12\x11\n\rPenaltyReady_\x10\x17\x12\x11\n\rPenaltyTaken_\x10\x18\x12\x10\n\x0cPenaltyMiss_\x10\x19\x12\x11\n\rPenaltyScore_\x10\x1a\x12\x13\n\x0fIllegalDefense_\x10\x1b\x12\x13\n\x0fPenaltyOnfield_\x10\x1c\x12\x10\n\x0cPenaltyFoul_\x10\x1d\x12\x10\n\x0cGoalieCatch_\x10\x1e\x12\x0e\n\nExtendHalf\x10\x1f\x12\x0c\n\x08MODE_MAX\x10 2\x9a\x02\n\x04Game\x12.\n\nGetActions\x12\r.protos.State\x1a\x0f.protos.Actions\"\x00\x12\x37\n\x0fSendInitMessage\x12\x13.protos.InitMessage\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendServerParams\x12\x13.protos.ServerParam\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendPlayerParams\x12\x13.protos.PlayerParam\x1a\r.protos.Empty\"\x00\x12\x35\n\x0eSendPlayerType\x12\x12.protos.PlayerType\x1a\r.protos.Empty\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x06protos\"=\n\x08Vector2D\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0c\n\x04\x64ist\x18\x03 \x01(\x02\x12\r\n\x05\x61ngle\x18\x04 \x01(\x02\"\x83\x04\n\x04\x42\x61ll\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12+\n\x11relative_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x06 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_velocity\x18\x07 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x08 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\t \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\n \x01(\x05\x12\x11\n\tvel_count\x18\x0b \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\x0c \x01(\x05\x12\x17\n\x0fheard_vel_count\x18\r \x01(\x05\x12\x12\n\nlost_count\x18\x0e \x01(\x05\x12\x13\n\x0bghost_count\x18\x0f \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x10 \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\x11 \x01(\x02\"\xa1\x06\n\x06Player\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x0c \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\r \x01(\x02\x12\n\n\x02id\x18\x0e \x01(\x05\x12\x1a\n\x04side\x18\x0f \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x10 \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x11 \x01(\x05\x12\x11\n\tis_goalie\x18\x12 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x14 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x15 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x16 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x17 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x18 \x01(\x05\x12\x12\n\nis_kicking\x18\x19 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x1a \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x1b \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1c \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1d \x01(\x08\x12\x0f\n\x07type_id\x18\x1e \x01(\x05\"\xc0\x07\n\x04Self\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12(\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\n\n\x02id\x18\x0c \x01(\x05\x12\x1a\n\x04side\x18\r \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x0e \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x0f \x01(\x05\x12\x11\n\tis_goalie\x18\x10 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x11 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x12 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x14 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x15 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x16 \x01(\x05\x12\x12\n\nis_kicking\x18\x17 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x18 \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x19 \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1a \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1b \x01(\x08\x12\x1f\n\x17relative_neck_direction\x18\x1c \x01(\x02\x12\x0f\n\x07stamina\x18\x1d \x01(\x02\x12\x13\n\x0bis_kickable\x18\x1e \x01(\x08\x12\x19\n\x11\x63\x61tch_probability\x18\x1f \x01(\x02\x12\x1a\n\x12tackle_probability\x18 \x01(\x02\x12\x18\n\x10\x66oul_probability\x18! \x01(\x02\x12%\n\nview_width\x18\" \x01(\x0e\x32\x11.protos.ViewWidth\x12\x0f\n\x07type_id\x18# \x01(\x05\x12\x11\n\tkick_rate\x18$ \x01(\x02\"\x91\x02\n\rInterceptInfo\x12\x30\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32\x1b.protos.InterceptActionType\x12\x12\n\nturn_steps\x18\x02 \x01(\x05\x12\x12\n\nturn_angle\x18\x03 \x01(\x02\x12\x12\n\ndash_steps\x18\x04 \x01(\x05\x12\x12\n\ndash_power\x18\x05 \x01(\x02\x12\x10\n\x08\x64\x61sh_dir\x18\x06 \x01(\x02\x12-\n\x13\x66inal_self_position\x18\x07 \x01(\x0b\x32\x10.protos.Vector2D\x12\x17\n\x0f\x66inal_ball_dist\x18\x08 \x01(\x02\x12\x15\n\rfinal_stamina\x18\t \x01(\x02\x12\r\n\x05value\x18\n \x01(\x02\"\xde\x02\n\x0eInterceptTable\x12\x18\n\x10self_reach_steps\x18\x01 \x01(\x05\x12\"\n\x1a\x66irst_teammate_reach_steps\x18\x02 \x01(\x05\x12#\n\x1bsecond_teammate_reach_steps\x18\x03 \x01(\x05\x12\"\n\x1a\x66irst_opponent_reach_steps\x18\x04 \x01(\x05\x12#\n\x1bsecond_opponent_reach_steps\x18\x05 \x01(\x05\x12\x19\n\x11\x66irst_teammate_id\x18\x06 \x01(\x05\x12\x1a\n\x12second_teammate_id\x18\x07 \x01(\x05\x12\x19\n\x11\x66irst_opponent_id\x18\x08 \x01(\x05\x12\x1a\n\x12second_opponent_id\x18\t \x01(\x05\x12\x32\n\x13self_intercept_info\x18\n \x03(\x0b\x32\x15.protos.InterceptInfo\"\x8e\n\n\nWorldModel\x12/\n\x0fintercept_table\x18\x01 \x01(\x0b\x32\x16.protos.InterceptTable\x12\x15\n\rour_team_name\x18\x02 \x01(\t\x12\x17\n\x0ftheir_team_name\x18\x03 \x01(\t\x12\x1e\n\x08our_side\x18\x04 \x01(\x0e\x32\x0c.protos.Side\x12 \n\x18last_set_play_start_time\x18\x05 \x01(\x05\x12\x1a\n\x04self\x18\x06 \x01(\x0b\x32\x0c.protos.Self\x12\x1a\n\x04\x62\x61ll\x18\x07 \x01(\x0b\x32\x0c.protos.Ball\x12!\n\tteammates\x18\x08 \x03(\x0b\x32\x0e.protos.Player\x12!\n\topponents\x18\t \x03(\x0b\x32\x0e.protos.Player\x12 \n\x08unknowns\x18\n \x03(\x0b\x32\x0e.protos.Player\x12@\n\x10our_players_dict\x18\x0b \x03(\x0b\x32&.protos.WorldModel.OurPlayersDictEntry\x12\x44\n\x12their_players_dict\x18\x0c \x03(\x0b\x32(.protos.WorldModel.TheirPlayersDictEntry\x12!\n\x19our_goalie_uniform_number\x18\r \x01(\x05\x12#\n\x1btheir_goalie_uniform_number\x18\x0e \x01(\x05\x12\x16\n\x0eoffside_line_x\x18\x0f \x01(\x02\x12\x1b\n\x13ofside_line_x_count\x18\x10 \x01(\x05\x12\x1c\n\x14kickable_teammate_id\x18\x11 \x01(\x05\x12\x1c\n\x14kickable_opponent_id\x18\x12 \x01(\x05\x12$\n\x0elast_kick_side\x18\x13 \x01(\x0e\x32\x0c.protos.Side\x12\"\n\x1alast_kicker_uniform_number\x18\x14 \x01(\x05\x12\r\n\x05\x63ycle\x18\x15 \x01(\x05\x12,\n\x0egame_mode_type\x18\x16 \x01(\x0e\x32\x14.protos.GameModeType\x12\x17\n\x0fleft_team_score\x18\x17 \x01(\x05\x12\x18\n\x10right_team_score\x18\x18 \x01(\x05\x12\x17\n\x0fis_our_set_play\x18\x19 \x01(\x08\x12\x19\n\x11is_their_set_play\x18\x1a \x01(\x08\x12\x14\n\x0cstoped_cycle\x18\x1b \x01(\x05\x12\x16\n\x0eour_team_score\x18\x1c \x01(\x05\x12\x18\n\x10their_team_score\x18\x1d \x01(\x05\x12\x1c\n\x14is_penalty_kick_mode\x18\x1e \x01(\x08\x12J\n\x15helios_home_positions\x18\x1f \x03(\x0b\x32+.protos.WorldModel.HeliosHomePositionsEntry\x1a\x45\n\x13OurPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aG\n\x15TheirPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aL\n\x18HeliosHomePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D:\x02\x38\x01\"\x85\x01\n\x05State\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\'\n\x0bworld_model\x18\x02 \x01(\x0b\x32\x12.protos.WorldModel\x12,\n\x10\x66ull_world_model\x18\x03 \x01(\x0b\x32\x12.protos.WorldModel\"H\n\x0bInitMessage\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\x12\n\ndebug_mode\x18\x02 \x01(\x08\"1\n\x04\x44\x61sh\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\"\"\n\x04Turn\x12\x1a\n\x12relative_direction\x18\x01 \x01(\x02\"1\n\x04Kick\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\",\n\x06Tackle\x12\x14\n\x0cpower_or_dir\x18\x01 \x01(\x02\x12\x0c\n\x04\x66oul\x18\x02 \x01(\x08\"\x07\n\x05\x43\x61tch\"\x1c\n\x04Move\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x1a\n\x08TurnNeck\x12\x0e\n\x06moment\x18\x01 \x01(\x02\"3\n\nChangeView\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"_\n\x0b\x42\x61llMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"\xaa\x01\n\x0bPassMessage\x12\x1f\n\x17receiver_uniform_number\x18\x01 \x01(\x05\x12(\n\x0ereceiver_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\"F\n\x10InterceptMessage\x12\x0b\n\x03our\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\"x\n\rGoalieMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12)\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\"\xcb\x01\n\x16GoalieAndPlayerMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12)\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\x12\x1d\n\x15player_uniform_number\x18\x04 \x01(\x05\x12)\n\x0fplayer_position\x18\x05 \x01(\x0b\x32\x10.protos.Vector2D\",\n\x12OffsideLineMessage\x12\x16\n\x0eoffside_line_x\x18\x01 \x01(\x02\",\n\x12\x44\x65\x66\x65nseLineMessage\x12\x16\n\x0e\x64\x65\x66\x65nse_line_x\x18\x01 \x01(\x02\"\x14\n\x12WaitRequestMessage\"#\n\x0eSetplayMessage\x12\x11\n\twait_step\x18\x01 \x01(\x05\"<\n\x12PassRequestMessage\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"!\n\x0eStaminaMessage\x12\x0f\n\x07stamina\x18\x01 \x01(\x02\"#\n\x0fRecoveryMessage\x12\x10\n\x08recovery\x18\x01 \x01(\x02\"2\n\x16StaminaCapacityMessage\x12\x18\n\x10stamina_capacity\x18\x01 \x01(\x02\"M\n\x0e\x44ribbleMessage\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0bqueue_count\x18\x02 \x01(\x05\"\xaf\x01\n\x11\x42\x61llGoalieMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12)\n\x0fgoalie_position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15goalie_body_direction\x18\x04 \x01(\x02\"N\n\x10OnePlayerMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"\xa4\x01\n\x10TwoPlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12(\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12)\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\"\xee\x01\n\x12ThreePlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12(\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12)\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1c\n\x14third_uniform_number\x18\x05 \x01(\x05\x12(\n\x0ethird_position\x18\x06 \x01(\x0b\x32\x10.protos.Vector2D\"i\n\x0bSelfMessage\x12\'\n\rself_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1b\n\x13self_body_direction\x18\x02 \x01(\x02\x12\x14\n\x0cself_stamina\x18\x03 \x01(\x02\"e\n\x0fTeammateMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"e\n\x0fOpponentMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"\xc0\x01\n\x11\x42\x61llPlayerMessage\x12\'\n\rball_position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\'\n\rball_velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12)\n\x0fplayer_position\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x05 \x01(\x02\"\xd0\t\n\x03Say\x12+\n\x0c\x62\x61ll_message\x18\x01 \x01(\x0b\x32\x13.protos.BallMessageH\x00\x12+\n\x0cpass_message\x18\x02 \x01(\x0b\x32\x13.protos.PassMessageH\x00\x12\x35\n\x11intercept_message\x18\x03 \x01(\x0b\x32\x18.protos.InterceptMessageH\x00\x12/\n\x0egoalie_message\x18\x04 \x01(\x0b\x32\x15.protos.GoalieMessageH\x00\x12\x43\n\x19goalie_and_player_message\x18\x05 \x01(\x0b\x32\x1e.protos.GoalieAndPlayerMessageH\x00\x12:\n\x14offside_line_message\x18\x06 \x01(\x0b\x32\x1a.protos.OffsideLineMessageH\x00\x12:\n\x14\x64\x65\x66\x65nse_line_message\x18\x07 \x01(\x0b\x32\x1a.protos.DefenseLineMessageH\x00\x12:\n\x14wait_request_message\x18\x08 \x01(\x0b\x32\x1a.protos.WaitRequestMessageH\x00\x12\x31\n\x0fsetplay_message\x18\t \x01(\x0b\x32\x16.protos.SetplayMessageH\x00\x12:\n\x14pass_request_message\x18\n \x01(\x0b\x32\x1a.protos.PassRequestMessageH\x00\x12\x31\n\x0fstamina_message\x18\x0b \x01(\x0b\x32\x16.protos.StaminaMessageH\x00\x12\x33\n\x10recovery_message\x18\x0c \x01(\x0b\x32\x17.protos.RecoveryMessageH\x00\x12\x42\n\x18stamina_capacity_message\x18\r \x01(\x0b\x32\x1e.protos.StaminaCapacityMessageH\x00\x12\x31\n\x0f\x64ribble_message\x18\x0e \x01(\x0b\x32\x16.protos.DribbleMessageH\x00\x12\x38\n\x13\x62\x61ll_goalie_message\x18\x0f \x01(\x0b\x32\x19.protos.BallGoalieMessageH\x00\x12\x36\n\x12one_player_message\x18\x10 \x01(\x0b\x32\x18.protos.OnePlayerMessageH\x00\x12\x36\n\x12two_player_message\x18\x11 \x01(\x0b\x32\x18.protos.TwoPlayerMessageH\x00\x12:\n\x14three_player_message\x18\x12 \x01(\x0b\x32\x1a.protos.ThreePlayerMessageH\x00\x12+\n\x0cself_message\x18\x13 \x01(\x0b\x32\x13.protos.SelfMessageH\x00\x12\x33\n\x10teammate_message\x18\x14 \x01(\x0b\x32\x17.protos.TeammateMessageH\x00\x12\x33\n\x10opponent_message\x18\x15 \x01(\x0b\x32\x17.protos.OpponentMessageH\x00\x12\x38\n\x13\x62\x61ll_player_message\x18\x16 \x01(\x0b\x32\x19.protos.BallPlayerMessageH\x00\x42\t\n\x07message\"\x1f\n\x07PointTo\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x0b\n\tPointToOf\"7\n\x0b\x41ttentionTo\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x0c\n\x04unum\x18\x02 \x01(\x05\"\x0f\n\rAttentionToOf\">\n\x07\x41\x64\x64Text\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0f\n\x07message\x18\x02 \x01(\t\"^\n\x08\x41\x64\x64Point\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x1f\n\x05point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x03 \x01(\t\"|\n\x07\x41\x64\x64Line\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x1f\n\x05start\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1d\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\x96\x01\n\x06\x41\x64\x64\x41rc\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x04 \x01(\x02\x12\x12\n\nspan_angel\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\"~\n\tAddCircle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\x0c\n\x04\x66ill\x18\x05 \x01(\x08\"\xb4\x01\n\x0b\x41\x64\x64Triangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06point1\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12 \n\x06point2\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12 \n\x06point3\x18\x04 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12\x0c\n\x04\x66ill\x18\x06 \x01(\x08\"\x89\x01\n\x0c\x41\x64\x64Rectangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0c\n\x04left\x18\x02 \x01(\x02\x12\x0b\n\x03top\x18\x03 \x01(\x02\x12\x0e\n\x06length\x18\x04 \x01(\x02\x12\r\n\x05width\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\x12\x0c\n\x04\x66ill\x18\x07 \x01(\x08\"\xbf\x01\n\tAddSector\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12 \n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x12\n\nmin_radius\x18\x03 \x01(\x02\x12\x12\n\nmax_radius\x18\x04 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x05 \x01(\x02\x12\x12\n\nspan_angel\x18\x06 \x01(\x02\x12\r\n\x05\x63olor\x18\x07 \x01(\t\x12\x0c\n\x04\x66ill\x18\x08 \x01(\x08\"t\n\nAddMessage\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x08position\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\xf9\x02\n\x03Log\x12#\n\x08\x61\x64\x64_text\x18\x01 \x01(\x0b\x32\x0f.protos.AddTextH\x00\x12%\n\tadd_point\x18\x02 \x01(\x0b\x32\x10.protos.AddPointH\x00\x12#\n\x08\x61\x64\x64_line\x18\x03 \x01(\x0b\x32\x0f.protos.AddLineH\x00\x12!\n\x07\x61\x64\x64_arc\x18\x04 \x01(\x0b\x32\x0e.protos.AddArcH\x00\x12\'\n\nadd_circle\x18\x05 \x01(\x0b\x32\x11.protos.AddCircleH\x00\x12+\n\x0c\x61\x64\x64_triangle\x18\x06 \x01(\x0b\x32\x13.protos.AddTriangleH\x00\x12-\n\radd_rectangle\x18\x07 \x01(\x0b\x32\x14.protos.AddRectangleH\x00\x12\'\n\nadd_sector\x18\x08 \x01(\x0b\x32\x11.protos.AddSectorH\x00\x12)\n\x0b\x61\x64\x64_message\x18\t \x01(\x0b\x32\x12.protos.AddMessageH\x00\x42\x05\n\x03log\"\x1e\n\x0b\x44\x65\x62ugClient\x12\x0f\n\x07message\x18\x01 \x01(\t\"l\n\x0e\x42ody_GoToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\x7f\n\x0e\x42ody_SmartKick\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x1d\n\x15\x66irst_speed_threshold\x18\x03 \x01(\x02\x12\x11\n\tmax_steps\x18\x04 \x01(\x05\"4\n\x11\x42hv_BeforeKickOff\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\x14\n\x12\x42hv_BodyNeckToBall\"6\n\x13\x42hv_BodyNeckToPoint\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\x0f\n\rBhv_Emergency\"s\n\x15\x42hv_GoToPointLookBall\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\'\n\x12\x42hv_NeckBodyToBall\x12\x11\n\tangle_buf\x18\x01 \x01(\x02\"I\n\x13\x42hv_NeckBodyToPoint\x12\x1f\n\x05point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x11\n\tangle_buf\x18\x02 \x01(\x02\"\x0f\n\rBhv_ScanField\"\x12\n\x10\x42ody_AdvanceBall\"\x10\n\x0e\x42ody_ClearBall\"\x89\x01\n\x0c\x42ody_Dribble\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x12\n\ndash_power\x18\x03 \x01(\x02\x12\x12\n\ndash_count\x18\x04 \x01(\x05\x12\r\n\x05\x64odge\x18\x05 \x01(\x08\"Q\n\x13\x42ody_GoToPointDodge\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x12\n\ndash_power\x18\x02 \x01(\x02\"z\n\rBody_HoldBall\x12\x0f\n\x07\x64o_turn\x18\x01 \x01(\x08\x12+\n\x11turn_target_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\x12+\n\x11kick_target_point\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\"M\n\x0e\x42ody_Intercept\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\x12$\n\nface_point\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"c\n\x10\x42ody_KickOneStep\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x12\n\nforce_mode\x18\x03 \x01(\x08\"\x0f\n\rBody_StopBall\"&\n\rBody_StopDash\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\"h\n\x12\x42ody_TackleToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\x17\n\x0fmin_probability\x18\x02 \x01(\x02\x12\x11\n\tmin_speed\x18\x03 \x01(\x02\"!\n\x10\x42ody_TurnToAngle\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\" \n\x0f\x42ody_TurnToBall\x12\r\n\x05\x63ycle\x18\x01 \x01(\x05\"I\n\x10\x42ody_TurnToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\r\n\x05\x63ycle\x18\x02 \x01(\x05\";\n\x11\x46ocus_MoveToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"\r\n\x0b\x46ocus_Reset\"\x10\n\x0eNeck_ScanField\"\x12\n\x10Neck_ScanPlayers\"g\n\x18Neck_TurnToBallAndPlayer\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"0\n\x15Neck_TurnToBallOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x11\n\x0fNeck_TurnToBall\"2\n\x17Neck_TurnToGoalieOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x1c\n\x1aNeck_TurnToLowConfTeammate\"f\n\x17Neck_TurnToPlayerOrScan\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\":\n\x10Neck_TurnToPoint\x12&\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\"$\n\x13Neck_TurnToRelative\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\"9\n\x10View_ChangeWidth\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"\r\n\x0bView_Normal\"\x0c\n\nView_Synch\"\x0b\n\tView_Wide\"\x0e\n\x0cHeliosGoalie\"\x12\n\x10HeliosGoalieMove\"\x12\n\x10HeliosGoalieKick\"\r\n\x0bHeliosShoot\"\xd0\x01\n\x11HeliosChainAction\x12\x13\n\x0b\x64irect_pass\x18\x01 \x01(\x08\x12\x11\n\tlead_pass\x18\x02 \x01(\x08\x12\x14\n\x0cthrough_pass\x18\x03 \x01(\x08\x12\x15\n\rshort_dribble\x18\x04 \x01(\x08\x12\x14\n\x0clong_dribble\x18\x05 \x01(\x08\x12\r\n\x05\x63ross\x18\x06 \x01(\x08\x12\x13\n\x0bsimple_pass\x18\x07 \x01(\x08\x12\x16\n\x0esimple_dribble\x18\x08 \x01(\x08\x12\x14\n\x0csimple_shoot\x18\t \x01(\x08\"\x16\n\x14HeliosBasicOffensive\"\x11\n\x0fHeliosBasicMove\"\x0f\n\rHeliosSetPlay\"\x0f\n\rHeliosPenalty\"\x14\n\x12HeliosCommunicaion\"\xe3\x19\n\x0cPlayerAction\x12\x1c\n\x04\x64\x61sh\x18\x01 \x01(\x0b\x32\x0c.protos.DashH\x00\x12\x1c\n\x04turn\x18\x02 \x01(\x0b\x32\x0c.protos.TurnH\x00\x12\x1c\n\x04kick\x18\x03 \x01(\x0b\x32\x0c.protos.KickH\x00\x12 \n\x06tackle\x18\x04 \x01(\x0b\x32\x0e.protos.TackleH\x00\x12\x1e\n\x05\x63\x61tch\x18\x05 \x01(\x0b\x32\r.protos.CatchH\x00\x12\x1c\n\x04move\x18\x06 \x01(\x0b\x32\x0c.protos.MoveH\x00\x12%\n\tturn_neck\x18\x07 \x01(\x0b\x32\x10.protos.TurnNeckH\x00\x12)\n\x0b\x63hange_view\x18\x08 \x01(\x0b\x32\x12.protos.ChangeViewH\x00\x12\x1a\n\x03say\x18\t \x01(\x0b\x32\x0b.protos.SayH\x00\x12#\n\x08point_to\x18\n \x01(\x0b\x32\x0f.protos.PointToH\x00\x12(\n\x0bpoint_to_of\x18\x0b \x01(\x0b\x32\x11.protos.PointToOfH\x00\x12+\n\x0c\x61ttention_to\x18\x0c \x01(\x0b\x32\x13.protos.AttentionToH\x00\x12\x30\n\x0f\x61ttention_to_of\x18\r \x01(\x0b\x32\x15.protos.AttentionToOfH\x00\x12\x1a\n\x03log\x18\x0e \x01(\x0b\x32\x0b.protos.LogH\x00\x12+\n\x0c\x64\x65\x62ug_client\x18\x0f \x01(\x0b\x32\x13.protos.DebugClientH\x00\x12\x32\n\x10\x62ody_go_to_point\x18\x10 \x01(\x0b\x32\x16.protos.Body_GoToPointH\x00\x12\x31\n\x0f\x62ody_smart_kick\x18\x11 \x01(\x0b\x32\x16.protos.Body_SmartKickH\x00\x12\x38\n\x13\x62hv_before_kick_off\x18\x12 \x01(\x0b\x32\x19.protos.Bhv_BeforeKickOffH\x00\x12;\n\x15\x62hv_body_neck_to_ball\x18\x13 \x01(\x0b\x32\x1a.protos.Bhv_BodyNeckToBallH\x00\x12=\n\x16\x62hv_body_neck_to_point\x18\x14 \x01(\x0b\x32\x1b.protos.Bhv_BodyNeckToPointH\x00\x12.\n\rbhv_emergency\x18\x15 \x01(\x0b\x32\x15.protos.Bhv_EmergencyH\x00\x12\x42\n\x19\x62hv_go_to_point_look_ball\x18\x16 \x01(\x0b\x32\x1d.protos.Bhv_GoToPointLookBallH\x00\x12;\n\x15\x62hv_neck_body_to_ball\x18\x17 \x01(\x0b\x32\x1a.protos.Bhv_NeckBodyToBallH\x00\x12=\n\x16\x62hv_neck_body_to_point\x18\x18 \x01(\x0b\x32\x1b.protos.Bhv_NeckBodyToPointH\x00\x12/\n\x0e\x62hv_scan_field\x18\x19 \x01(\x0b\x32\x15.protos.Bhv_ScanFieldH\x00\x12\x35\n\x11\x62ody_advance_ball\x18\x1a \x01(\x0b\x32\x18.protos.Body_AdvanceBallH\x00\x12\x31\n\x0f\x62ody_clear_ball\x18\x1b \x01(\x0b\x32\x16.protos.Body_ClearBallH\x00\x12,\n\x0c\x62ody_dribble\x18\x1c \x01(\x0b\x32\x14.protos.Body_DribbleH\x00\x12=\n\x16\x62ody_go_to_point_dodge\x18\x1d \x01(\x0b\x32\x1b.protos.Body_GoToPointDodgeH\x00\x12/\n\x0e\x62ody_hold_ball\x18\x1e \x01(\x0b\x32\x15.protos.Body_HoldBallH\x00\x12\x30\n\x0e\x62ody_intercept\x18\x1f \x01(\x0b\x32\x16.protos.Body_InterceptH\x00\x12\x36\n\x12\x62ody_kick_one_step\x18 \x01(\x0b\x32\x18.protos.Body_KickOneStepH\x00\x12/\n\x0e\x62ody_stop_ball\x18! \x01(\x0b\x32\x15.protos.Body_StopBallH\x00\x12/\n\x0e\x62ody_stop_dash\x18\" \x01(\x0b\x32\x15.protos.Body_StopDashH\x00\x12:\n\x14\x62ody_tackle_to_point\x18# \x01(\x0b\x32\x1a.protos.Body_TackleToPointH\x00\x12\x36\n\x12\x62ody_turn_to_angle\x18$ \x01(\x0b\x32\x18.protos.Body_TurnToAngleH\x00\x12\x34\n\x11\x62ody_turn_to_ball\x18% \x01(\x0b\x32\x17.protos.Body_TurnToBallH\x00\x12\x36\n\x12\x62ody_turn_to_point\x18& \x01(\x0b\x32\x18.protos.Body_TurnToPointH\x00\x12\x38\n\x13\x66ocus_move_to_point\x18\' \x01(\x0b\x32\x19.protos.Focus_MoveToPointH\x00\x12*\n\x0b\x66ocus_reset\x18( \x01(\x0b\x32\x13.protos.Focus_ResetH\x00\x12\x31\n\x0fneck_scan_field\x18) \x01(\x0b\x32\x16.protos.Neck_ScanFieldH\x00\x12\x35\n\x11neck_scan_players\x18* \x01(\x0b\x32\x18.protos.Neck_ScanPlayersH\x00\x12H\n\x1cneck_turn_to_ball_and_player\x18+ \x01(\x0b\x32 .protos.Neck_TurnToBallAndPlayerH\x00\x12\x42\n\x19neck_turn_to_ball_or_scan\x18, \x01(\x0b\x32\x1d.protos.Neck_TurnToBallOrScanH\x00\x12\x34\n\x11neck_turn_to_ball\x18- \x01(\x0b\x32\x17.protos.Neck_TurnToBallH\x00\x12\x46\n\x1bneck_turn_to_goalie_or_scan\x18. \x01(\x0b\x32\x1f.protos.Neck_TurnToGoalieOrScanH\x00\x12L\n\x1eneck_turn_to_low_conf_teammate\x18/ \x01(\x0b\x32\".protos.Neck_TurnToLowConfTeammateH\x00\x12\x46\n\x1bneck_turn_to_player_or_scan\x18\x30 \x01(\x0b\x32\x1f.protos.Neck_TurnToPlayerOrScanH\x00\x12\x36\n\x12neck_turn_to_point\x18\x31 \x01(\x0b\x32\x18.protos.Neck_TurnToPointH\x00\x12<\n\x15neck_turn_to_relative\x18\x32 \x01(\x0b\x32\x1b.protos.Neck_TurnToRelativeH\x00\x12\x35\n\x11view_change_width\x18\x33 \x01(\x0b\x32\x18.protos.View_ChangeWidthH\x00\x12*\n\x0bview_normal\x18\x34 \x01(\x0b\x32\x13.protos.View_NormalH\x00\x12(\n\nview_synch\x18\x35 \x01(\x0b\x32\x12.protos.View_SynchH\x00\x12&\n\tview_wide\x18\x36 \x01(\x0b\x32\x11.protos.View_WideH\x00\x12-\n\rhelios_goalie\x18\x37 \x01(\x0b\x32\x14.protos.HeliosGoalieH\x00\x12\x36\n\x12helios_goalie_move\x18\x38 \x01(\x0b\x32\x18.protos.HeliosGoalieMoveH\x00\x12\x36\n\x12helios_goalie_kick\x18\x39 \x01(\x0b\x32\x18.protos.HeliosGoalieKickH\x00\x12+\n\x0chelios_shoot\x18: \x01(\x0b\x32\x13.protos.HeliosShootH\x00\x12\x38\n\x13helios_chain_action\x18; \x01(\x0b\x32\x19.protos.HeliosChainActionH\x00\x12>\n\x16helios_basic_offensive\x18< \x01(\x0b\x32\x1c.protos.HeliosBasicOffensiveH\x00\x12\x34\n\x11helios_basic_move\x18= \x01(\x0b\x32\x17.protos.HeliosBasicMoveH\x00\x12\x30\n\x0fhelios_set_play\x18> \x01(\x0b\x32\x15.protos.HeliosSetPlayH\x00\x12/\n\x0ehelios_penalty\x18? \x01(\x0b\x32\x15.protos.HeliosPenaltyH\x00\x12:\n\x14helios_communication\x18@ \x01(\x0b\x32\x1a.protos.HeliosCommunicaionH\x00\x42\x08\n\x06\x61\x63tion\"6\n\rPlayerActions\x12%\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x14.protos.PlayerAction\"8\n\x10\x43hangePlayerType\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\"\x14\n\x12\x44oHeliosSubstitute\"\x18\n\x16\x44oHeliosSayPlayerTypes\"\xd2\x01\n\x0b\x43oachAction\x12\x37\n\x13\x63hange_player_types\x18\x01 \x01(\x0b\x32\x18.protos.ChangePlayerTypeH\x00\x12:\n\x14\x64o_helios_substitute\x18\x02 \x01(\x0b\x32\x1a.protos.DoHeliosSubstituteH\x00\x12\x44\n\x1a\x64o_helios_say_player_types\x18\x03 \x01(\x0b\x32\x1e.protos.DoHeliosSayPlayerTypesH\x00\x42\x08\n\x06\x61\x63tion\"4\n\x0c\x43oachActions\x12$\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x13.protos.CoachAction\"\x0b\n\tDoKickOff\"T\n\nDoMoveBall\x12\"\n\x08position\x18\x01 \x01(\x0b\x32\x10.protos.Vector2D\x12\"\n\x08velocity\x18\x02 \x01(\x0b\x32\x10.protos.Vector2D\"t\n\x0c\x44oMovePlayer\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\"\n\x08position\x18\x03 \x01(\x0b\x32\x10.protos.Vector2D\x12\x16\n\x0e\x62ody_direction\x18\x04 \x01(\x02\"\x0b\n\tDoRecover\"X\n\x0c\x44oChangeMode\x12,\n\x0egame_mode_type\x18\x01 \x01(\x0e\x32\x14.protos.GameModeType\x12\x1a\n\x04side\x18\x02 \x01(\x0e\x32\x0c.protos.Side\"L\n\x12\x44oChangePlayerType\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\"\xb5\x02\n\rTrainerAction\x12(\n\x0b\x64o_kick_off\x18\x01 \x01(\x0b\x32\x11.protos.DoKickOffH\x00\x12*\n\x0c\x64o_move_ball\x18\x02 \x01(\x0b\x32\x12.protos.DoMoveBallH\x00\x12.\n\x0e\x64o_move_player\x18\x03 \x01(\x0b\x32\x14.protos.DoMovePlayerH\x00\x12\'\n\ndo_recover\x18\x04 \x01(\x0b\x32\x11.protos.DoRecoverH\x00\x12.\n\x0e\x64o_change_mode\x18\x05 \x01(\x0b\x32\x14.protos.DoChangeModeH\x00\x12;\n\x15\x64o_change_player_type\x18\x06 \x01(\x0b\x32\x1a.protos.DoChangePlayerTypeH\x00\x42\x08\n\x06\x61\x63tion\"8\n\x0eTrainerActions\x12&\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x15.protos.TrainerAction\"\xcf,\n\x0bServerParam\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\x16\n\x0einertia_moment\x18\x02 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x13\n\x0bplayer_rand\x18\x05 \x01(\x02\x12\x15\n\rplayer_weight\x18\x06 \x01(\x02\x12\x18\n\x10player_speed_max\x18\x07 \x01(\x02\x12\x18\n\x10player_accel_max\x18\x08 \x01(\x02\x12\x13\n\x0bstamina_max\x18\t \x01(\x02\x12\x17\n\x0fstamina_inc_max\x18\n \x01(\x02\x12\x14\n\x0crecover_init\x18\x0b \x01(\x02\x12\x17\n\x0frecover_dec_thr\x18\x0c \x01(\x02\x12\x13\n\x0brecover_min\x18\r \x01(\x02\x12\x13\n\x0brecover_dec\x18\x0e \x01(\x02\x12\x13\n\x0b\x65\x66\x66ort_init\x18\x0f \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_dec_thr\x18\x10 \x01(\x02\x12\x12\n\neffort_min\x18\x11 \x01(\x02\x12\x12\n\neffort_dec\x18\x12 \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_inc_thr\x18\x13 \x01(\x02\x12\x12\n\neffort_inc\x18\x14 \x01(\x02\x12\x11\n\tkick_rand\x18\x15 \x01(\x02\x12\x1b\n\x13team_actuator_noise\x18\x16 \x01(\x08\x12\x1c\n\x14player_rand_factor_l\x18\x17 \x01(\x02\x12\x1c\n\x14player_rand_factor_r\x18\x18 \x01(\x02\x12\x1a\n\x12kick_rand_factor_l\x18\x19 \x01(\x02\x12\x1a\n\x12kick_rand_factor_r\x18\x1a \x01(\x02\x12\x11\n\tball_size\x18\x1b \x01(\x02\x12\x12\n\nball_decay\x18\x1c \x01(\x02\x12\x11\n\tball_rand\x18\x1d \x01(\x02\x12\x13\n\x0b\x62\x61ll_weight\x18\x1e \x01(\x02\x12\x16\n\x0e\x62\x61ll_speed_max\x18\x1f \x01(\x02\x12\x16\n\x0e\x62\x61ll_accel_max\x18 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18! \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\" \x01(\x02\x12\x17\n\x0fkickable_margin\x18# \x01(\x02\x12\x16\n\x0e\x63ontrol_radius\x18$ \x01(\x02\x12\x1c\n\x14\x63ontrol_radius_width\x18% \x01(\x02\x12\x11\n\tmax_power\x18& \x01(\x02\x12\x11\n\tmin_power\x18\' \x01(\x02\x12\x12\n\nmax_moment\x18( \x01(\x02\x12\x12\n\nmin_moment\x18) \x01(\x02\x12\x17\n\x0fmax_neck_moment\x18* \x01(\x02\x12\x17\n\x0fmin_neck_moment\x18+ \x01(\x02\x12\x16\n\x0emax_neck_angle\x18, \x01(\x02\x12\x16\n\x0emin_neck_angle\x18- \x01(\x02\x12\x15\n\rvisible_angle\x18. \x01(\x02\x12\x18\n\x10visible_distance\x18/ \x01(\x02\x12\x10\n\x08wind_dir\x18\x30 \x01(\x02\x12\x12\n\nwind_force\x18\x31 \x01(\x02\x12\x12\n\nwind_angle\x18\x32 \x01(\x02\x12\x11\n\twind_rand\x18\x33 \x01(\x02\x12\x15\n\rkickable_area\x18\x34 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_l\x18\x35 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_w\x18\x36 \x01(\x02\x12\x19\n\x11\x63\x61tch_probability\x18\x37 \x01(\x02\x12\x18\n\x10goalie_max_moves\x18\x38 \x01(\x05\x12\x1a\n\x12\x63orner_kick_margin\x18\x39 \x01(\x02\x12 \n\x18offside_active_area_size\x18: \x01(\x02\x12\x11\n\twind_none\x18; \x01(\x08\x12\x17\n\x0fuse_wind_random\x18< \x01(\x08\x12\x1b\n\x13\x63oach_say_count_max\x18= \x01(\x05\x12\x1a\n\x12\x63oach_say_msg_size\x18> \x01(\x05\x12\x16\n\x0e\x63lang_win_size\x18? \x01(\x05\x12\x18\n\x10\x63lang_define_win\x18@ \x01(\x05\x12\x16\n\x0e\x63lang_meta_win\x18\x41 \x01(\x05\x12\x18\n\x10\x63lang_advice_win\x18\x42 \x01(\x05\x12\x16\n\x0e\x63lang_info_win\x18\x43 \x01(\x05\x12\x18\n\x10\x63lang_mess_delay\x18\x44 \x01(\x05\x12\x1c\n\x14\x63lang_mess_per_cycle\x18\x45 \x01(\x05\x12\x11\n\thalf_time\x18\x46 \x01(\x05\x12\x16\n\x0esimulator_step\x18G \x01(\x05\x12\x11\n\tsend_step\x18H \x01(\x05\x12\x11\n\trecv_step\x18I \x01(\x05\x12\x17\n\x0fsense_body_step\x18J \x01(\x05\x12\x10\n\x08lcm_step\x18K \x01(\x05\x12\x1b\n\x13player_say_msg_size\x18L \x01(\x05\x12\x17\n\x0fplayer_hear_max\x18M \x01(\x05\x12\x17\n\x0fplayer_hear_inc\x18N \x01(\x05\x12\x19\n\x11player_hear_decay\x18O \x01(\x05\x12\x17\n\x0f\x63\x61tch_ban_cycle\x18P \x01(\x05\x12\x18\n\x10slow_down_factor\x18Q \x01(\x05\x12\x13\n\x0buse_offside\x18R \x01(\x08\x12\x17\n\x0fkickoff_offside\x18S \x01(\x08\x12\x1b\n\x13offside_kick_margin\x18T \x01(\x02\x12\x16\n\x0e\x61udio_cut_dist\x18U \x01(\x02\x12\x1a\n\x12\x64ist_quantize_step\x18V \x01(\x02\x12#\n\x1blandmark_dist_quantize_step\x18W \x01(\x02\x12\x19\n\x11\x64ir_quantize_step\x18X \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_l\x18Y \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_r\x18Z \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_l\x18[ \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_r\x18\\ \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_l\x18] \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_r\x18^ \x01(\x02\x12\x12\n\ncoach_mode\x18_ \x01(\x08\x12\x1f\n\x17\x63oach_with_referee_mode\x18` \x01(\x08\x12\x1a\n\x12use_old_coach_hear\x18\x61 \x01(\x08\x12%\n\x1dslowness_on_top_for_left_team\x18\x62 \x01(\x02\x12&\n\x1eslowness_on_top_for_right_team\x18\x63 \x01(\x02\x12\x14\n\x0cstart_goal_l\x18\x64 \x01(\x05\x12\x14\n\x0cstart_goal_r\x18\x65 \x01(\x05\x12\x13\n\x0b\x66ullstate_l\x18\x66 \x01(\x08\x12\x13\n\x0b\x66ullstate_r\x18g \x01(\x08\x12\x16\n\x0e\x64rop_ball_time\x18h \x01(\x05\x12\x12\n\nsynch_mode\x18i \x01(\x08\x12\x14\n\x0csynch_offset\x18j \x01(\x05\x12\x19\n\x11synch_micro_sleep\x18k \x01(\x05\x12\x14\n\x0cpoint_to_ban\x18l \x01(\x05\x12\x19\n\x11point_to_duration\x18m \x01(\x05\x12\x13\n\x0bplayer_port\x18n \x01(\x05\x12\x14\n\x0ctrainer_port\x18o \x01(\x05\x12\x19\n\x11online_coach_port\x18p \x01(\x05\x12\x14\n\x0cverbose_mode\x18q \x01(\x08\x12\x1a\n\x12\x63oach_send_vi_step\x18r \x01(\x05\x12\x13\n\x0breplay_file\x18s \x01(\t\x12\x15\n\rlandmark_file\x18t \x01(\t\x12\x12\n\nsend_comms\x18u \x01(\x08\x12\x14\n\x0ctext_logging\x18v \x01(\x08\x12\x14\n\x0cgame_logging\x18w \x01(\x08\x12\x18\n\x10game_log_version\x18x \x01(\x05\x12\x14\n\x0ctext_log_dir\x18y \x01(\t\x12\x14\n\x0cgame_log_dir\x18z \x01(\t\x12\x1b\n\x13text_log_fixed_name\x18{ \x01(\t\x12\x1b\n\x13game_log_fixed_name\x18| \x01(\t\x12\x1a\n\x12use_text_log_fixed\x18} \x01(\x08\x12\x1a\n\x12use_game_log_fixed\x18~ \x01(\x08\x12\x1a\n\x12use_text_log_dated\x18\x7f \x01(\x08\x12\x1b\n\x12use_game_log_dated\x18\x80\x01 \x01(\x08\x12\x18\n\x0flog_date_format\x18\x81\x01 \x01(\t\x12\x12\n\tlog_times\x18\x82\x01 \x01(\x08\x12\x17\n\x0erecord_message\x18\x83\x01 \x01(\x08\x12\x1d\n\x14text_log_compression\x18\x84\x01 \x01(\x05\x12\x1d\n\x14game_log_compression\x18\x85\x01 \x01(\x05\x12\x14\n\x0buse_profile\x18\x86\x01 \x01(\x08\x12\x14\n\x0btackle_dist\x18\x87\x01 \x01(\x02\x12\x19\n\x10tackle_back_dist\x18\x88\x01 \x01(\x02\x12\x15\n\x0ctackle_width\x18\x89\x01 \x01(\x02\x12\x18\n\x0ftackle_exponent\x18\x8a\x01 \x01(\x02\x12\x16\n\rtackle_cycles\x18\x8b\x01 \x01(\x05\x12\x1a\n\x11tackle_power_rate\x18\x8c\x01 \x01(\x02\x12\x1d\n\x14\x66reeform_wait_period\x18\x8d\x01 \x01(\x05\x12\x1d\n\x14\x66reeform_send_period\x18\x8e\x01 \x01(\x05\x12\x19\n\x10\x66ree_kick_faults\x18\x8f\x01 \x01(\x08\x12\x14\n\x0b\x62\x61\x63k_passes\x18\x90\x01 \x01(\x08\x12\x1a\n\x11proper_goal_kicks\x18\x91\x01 \x01(\x08\x12\x19\n\x10stopped_ball_vel\x18\x92\x01 \x01(\x02\x12\x17\n\x0emax_goal_kicks\x18\x93\x01 \x01(\x05\x12\x16\n\rclang_del_win\x18\x94\x01 \x01(\x05\x12\x17\n\x0e\x63lang_rule_win\x18\x95\x01 \x01(\x05\x12\x12\n\tauto_mode\x18\x96\x01 \x01(\x08\x12\x16\n\rkick_off_wait\x18\x97\x01 \x01(\x05\x12\x15\n\x0c\x63onnect_wait\x18\x98\x01 \x01(\x05\x12\x17\n\x0egame_over_wait\x18\x99\x01 \x01(\x05\x12\x15\n\x0cteam_l_start\x18\x9a\x01 \x01(\t\x12\x15\n\x0cteam_r_start\x18\x9b\x01 \x01(\t\x12\x16\n\rkeepaway_mode\x18\x9c\x01 \x01(\x08\x12\x18\n\x0fkeepaway_length\x18\x9d\x01 \x01(\x02\x12\x17\n\x0ekeepaway_width\x18\x9e\x01 \x01(\x02\x12\x19\n\x10keepaway_logging\x18\x9f\x01 \x01(\x08\x12\x19\n\x10keepaway_log_dir\x18\xa0\x01 \x01(\t\x12 \n\x17keepaway_log_fixed_name\x18\xa1\x01 \x01(\t\x12\x1b\n\x12keepaway_log_fixed\x18\xa2\x01 \x01(\x08\x12\x1b\n\x12keepaway_log_dated\x18\xa3\x01 \x01(\x08\x12\x17\n\x0ekeepaway_start\x18\xa4\x01 \x01(\x05\x12\x18\n\x0fnr_normal_halfs\x18\xa5\x01 \x01(\x05\x12\x17\n\x0enr_extra_halfs\x18\xa6\x01 \x01(\x05\x12\x1b\n\x12penalty_shoot_outs\x18\xa7\x01 \x01(\x08\x12\x1e\n\x15pen_before_setup_wait\x18\xa8\x01 \x01(\x05\x12\x17\n\x0epen_setup_wait\x18\xa9\x01 \x01(\x05\x12\x17\n\x0epen_ready_wait\x18\xaa\x01 \x01(\x05\x12\x17\n\x0epen_taken_wait\x18\xab\x01 \x01(\x05\x12\x15\n\x0cpen_nr_kicks\x18\xac\x01 \x01(\x05\x12\x1c\n\x13pen_max_extra_kicks\x18\xad\x01 \x01(\x05\x12\x13\n\npen_dist_x\x18\xae\x01 \x01(\x02\x12\x1a\n\x11pen_random_winner\x18\xaf\x01 \x01(\x08\x12\x1d\n\x14pen_allow_mult_kicks\x18\xb0\x01 \x01(\x08\x12\x1e\n\x15pen_max_goalie_dist_x\x18\xb1\x01 \x01(\x02\x12 \n\x17pen_coach_moves_players\x18\xb2\x01 \x01(\x08\x12\x13\n\nmodule_dir\x18\xb3\x01 \x01(\t\x12\x18\n\x0f\x62\x61ll_stuck_area\x18\xb4\x01 \x01(\x02\x12\x17\n\x0e\x63oach_msg_file\x18\xb5\x01 \x01(\t\x12\x19\n\x10max_tackle_power\x18\xb6\x01 \x01(\x02\x12\x1e\n\x15max_back_tackle_power\x18\xb7\x01 \x01(\x02\x12\x1d\n\x14player_speed_max_min\x18\xb8\x01 \x01(\x02\x12\x16\n\rextra_stamina\x18\xb9\x01 \x01(\x02\x12\x19\n\x10synch_see_offset\x18\xba\x01 \x01(\x05\x12\x18\n\x0f\x65xtra_half_time\x18\xbb\x01 \x01(\x05\x12\x19\n\x10stamina_capacity\x18\xbc\x01 \x01(\x02\x12\x17\n\x0emax_dash_angle\x18\xbd\x01 \x01(\x02\x12\x17\n\x0emin_dash_angle\x18\xbe\x01 \x01(\x02\x12\x18\n\x0f\x64\x61sh_angle_step\x18\xbf\x01 \x01(\x02\x12\x17\n\x0eside_dash_rate\x18\xc0\x01 \x01(\x02\x12\x17\n\x0e\x62\x61\x63k_dash_rate\x18\xc1\x01 \x01(\x02\x12\x17\n\x0emax_dash_power\x18\xc2\x01 \x01(\x02\x12\x17\n\x0emin_dash_power\x18\xc3\x01 \x01(\x02\x12\x1b\n\x12tackle_rand_factor\x18\xc4\x01 \x01(\x02\x12 \n\x17\x66oul_detect_probability\x18\xc5\x01 \x01(\x02\x12\x16\n\rfoul_exponent\x18\xc6\x01 \x01(\x02\x12\x14\n\x0b\x66oul_cycles\x18\xc7\x01 \x01(\x05\x12\x14\n\x0bgolden_goal\x18\xc8\x01 \x01(\x08\x12\x1d\n\x14red_card_probability\x18\xc9\x01 \x01(\x02\x12!\n\x18illegal_defense_duration\x18\xca\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_number\x18\xcb\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_dist_x\x18\xcc\x01 \x01(\x02\x12\x1e\n\x15illegal_defense_width\x18\xcd\x01 \x01(\x02\x12\x19\n\x10\x66ixed_teamname_l\x18\xce\x01 \x01(\t\x12\x19\n\x10\x66ixed_teamname_r\x18\xcf\x01 \x01(\t\x12\x18\n\x0fmax_catch_angle\x18\xd0\x01 \x01(\x02\x12\x18\n\x0fmin_catch_angle\x18\xd1\x01 \x01(\x02\x12\x14\n\x0brandom_seed\x18\xd2\x01 \x01(\x05\x12\x1f\n\x16long_kick_power_factor\x18\xd3\x01 \x01(\x02\x12\x18\n\x0flong_kick_delay\x18\xd4\x01 \x01(\x05\x12\x15\n\x0cmax_monitors\x18\xd5\x01 \x01(\x05\x12\x17\n\x0e\x63\x61tchable_area\x18\xd6\x01 \x01(\x02\x12\x17\n\x0ereal_speed_max\x18\xd7\x01 \x01(\x02\x12\x1a\n\x11pitch_half_length\x18\xd8\x01 \x01(\x02\x12\x19\n\x10pitch_half_width\x18\xd9\x01 \x01(\x02\x12 \n\x17our_penalty_area_line_x\x18\xda\x01 \x01(\x02\x12\"\n\x19their_penalty_area_line_x\x18\xdb\x01 \x01(\x02\x12 \n\x17penalty_area_half_width\x18\xdc\x01 \x01(\x02\x12\x1c\n\x13penalty_area_length\x18\xdd\x01 \x01(\x02\x12\x13\n\ngoal_width\x18\xde\x01 \x01(\x02\"\xff\x07\n\x0bPlayerParam\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\x14\n\x0cplayer_types\x18\x02 \x01(\x05\x12\x10\n\x08subs_max\x18\x03 \x01(\x05\x12\x0e\n\x06pt_max\x18\x04 \x01(\x05\x12\x1f\n\x17\x61llow_mult_default_type\x18\x05 \x01(\x08\x12\"\n\x1aplayer_speed_max_delta_min\x18\x06 \x01(\x02\x12\"\n\x1aplayer_speed_max_delta_max\x18\x07 \x01(\x02\x12$\n\x1cstamina_inc_max_delta_factor\x18\x08 \x01(\x02\x12\x1e\n\x16player_decay_delta_min\x18\t \x01(\x02\x12\x1e\n\x16player_decay_delta_max\x18\n \x01(\x02\x12#\n\x1binertia_moment_delta_factor\x18\x0b \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_min\x18\x0c \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_max\x18\r \x01(\x02\x12 \n\x18player_size_delta_factor\x18\x0e \x01(\x02\x12!\n\x19kickable_margin_delta_min\x18\x0f \x01(\x02\x12!\n\x19kickable_margin_delta_max\x18\x10 \x01(\x02\x12\x1e\n\x16kick_rand_delta_factor\x18\x11 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_min\x18\x12 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_max\x18\x13 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_max_delta_factor\x18\x14 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_min_delta_factor\x18\x15 \x01(\x02\x12\x13\n\x0brandom_seed\x18\x16 \x01(\x05\x12%\n\x1dnew_dash_power_rate_delta_min\x18\x17 \x01(\x02\x12%\n\x1dnew_dash_power_rate_delta_max\x18\x18 \x01(\x02\x12(\n new_stamina_inc_max_delta_factor\x18\x19 \x01(\x02\x12!\n\x19kick_power_rate_delta_min\x18\x1a \x01(\x02\x12!\n\x19kick_power_rate_delta_max\x18\x1b \x01(\x02\x12,\n$foul_detect_probability_delta_factor\x18\x1c \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_min\x18\x1d \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_max\x18\x1e \x01(\x02\"\xb1\x07\n\nPlayerType\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x17\n\x0fstamina_inc_max\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x16\n\x0einertia_moment\x18\x05 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18\x06 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x07 \x01(\x02\x12\x17\n\x0fkickable_margin\x18\x08 \x01(\x02\x12\x11\n\tkick_rand\x18\t \x01(\x02\x12\x15\n\rextra_stamina\x18\n \x01(\x02\x12\x12\n\neffort_max\x18\x0b \x01(\x02\x12\x12\n\neffort_min\x18\x0c \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\r \x01(\x02\x12\x1f\n\x17\x66oul_detect_probability\x18\x0e \x01(\x02\x12 \n\x18\x63\x61tchable_area_l_stretch\x18\x0f \x01(\x02\x12\x17\n\x0funum_far_length\x18\x10 \x01(\x02\x12\x1b\n\x13unum_too_far_length\x18\x11 \x01(\x02\x12\x17\n\x0fteam_far_length\x18\x12 \x01(\x02\x12\x1b\n\x13team_too_far_length\x18\x13 \x01(\x02\x12%\n\x1dplayer_max_observation_length\x18\x14 \x01(\x02\x12\x1b\n\x13\x62\x61ll_vel_far_length\x18\x15 \x01(\x02\x12\x1f\n\x17\x62\x61ll_vel_too_far_length\x18\x16 \x01(\x02\x12#\n\x1b\x62\x61ll_max_observation_length\x18\x17 \x01(\x02\x12\x1b\n\x13\x66lag_chg_far_length\x18\x18 \x01(\x02\x12\x1f\n\x17\x66lag_chg_too_far_length\x18\x19 \x01(\x02\x12#\n\x1b\x66lag_max_observation_length\x18\x1a \x01(\x02\x12\x15\n\rkickable_area\x18\x1b \x01(\x02\x12\x1f\n\x17reliable_catchable_dist\x18\x1c \x01(\x02\x12\x1a\n\x12max_catchable_dist\x18\x1d \x01(\x02\x12\x16\n\x0ereal_speed_max\x18\x1e \x01(\x02\x12\x19\n\x11player_speed_max2\x18\x1f \x01(\x02\x12\x17\n\x0freal_speed_max2\x18 \x01(\x02\x12!\n\x19\x63ycles_to_reach_max_speed\x18! \x01(\x05\x12\x18\n\x10player_speed_max\x18\" \x01(\x02\"\x07\n\x05\x45mpty\"\x17\n\x15InitMessageFromServer*-\n\tViewWidth\x12\n\n\x06NARROW\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x08\n\x04WIDE\x10\x02*(\n\x04Side\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\t\n\x05RIGHT\x10\x02*\xad\x02\n\x0bLoggerLevel\x12\x08\n\x04None\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\n\n\x06SENSOR\x10\x02\x12\t\n\x05WORLD\x10\x04\x12\n\n\x06\x41\x43TION\x10\x08\x12\r\n\tINTERCEPT\x10\x10\x12\x08\n\x04KICK\x10 \x12\x08\n\x04HOLD\x10@\x12\x0c\n\x07\x44RIBBLE\x10\x80\x01\x12\t\n\x04PASS\x10\x80\x02\x12\n\n\x05\x43ROSS\x10\x80\x04\x12\n\n\x05SHOOT\x10\x80\x08\x12\n\n\x05\x43LEAR\x10\x80\x10\x12\n\n\x05\x42LOCK\x10\x80 \x12\t\n\x04MARK\x10\x80@\x12\x11\n\x0bPOSITIONING\x10\x80\x80\x01\x12\n\n\x04ROLE\x10\x80\x80\x02\x12\n\n\x04TEAM\x10\x80\x80\x04\x12\x13\n\rCOMMUNICATION\x10\x80\x80\x08\x12\x0e\n\x08\x41NALYZER\x10\x80\x80\x10\x12\x12\n\x0c\x41\x43TION_CHAIN\x10\x80\x80 \x12\n\n\x04PLAN\x10\x80\x80@*v\n\x13InterceptActionType\x12!\n\x1dUNKNOWN_Intercept_Action_Type\x10\x00\x12\r\n\tOMNI_DASH\x10\x01\x12\x15\n\x11TURN_FORWARD_DASH\x10\x02\x12\x16\n\x12TURN_BACKWARD_DASH\x10\x03*\xbb\x04\n\x0cGameModeType\x12\x11\n\rBeforeKickOff\x10\x00\x12\x0c\n\x08TimeOver\x10\x01\x12\n\n\x06PlayOn\x10\x02\x12\x0c\n\x08KickOff_\x10\x03\x12\x0b\n\x07KickIn_\x10\x04\x12\r\n\tFreeKick_\x10\x05\x12\x0f\n\x0b\x43ornerKick_\x10\x06\x12\r\n\tGoalKick_\x10\x07\x12\x0e\n\nAfterGoal_\x10\x08\x12\x0c\n\x08OffSide_\x10\t\x12\x10\n\x0cPenaltyKick_\x10\n\x12\x11\n\rFirstHalfOver\x10\x0b\x12\t\n\x05Pause\x10\x0c\x12\t\n\x05Human\x10\r\x12\x0f\n\x0b\x46oulCharge_\x10\x0e\x12\r\n\tFoulPush_\x10\x0f\x12\x19\n\x15\x46oulMultipleAttacker_\x10\x10\x12\x10\n\x0c\x46oulBallOut_\x10\x11\x12\r\n\tBackPass_\x10\x12\x12\x12\n\x0e\x46reeKickFault_\x10\x13\x12\x0f\n\x0b\x43\x61tchFault_\x10\x14\x12\x10\n\x0cIndFreeKick_\x10\x15\x12\x11\n\rPenaltySetup_\x10\x16\x12\x11\n\rPenaltyReady_\x10\x17\x12\x11\n\rPenaltyTaken_\x10\x18\x12\x10\n\x0cPenaltyMiss_\x10\x19\x12\x11\n\rPenaltyScore_\x10\x1a\x12\x13\n\x0fIllegalDefense_\x10\x1b\x12\x13\n\x0fPenaltyOnfield_\x10\x1c\x12\x10\n\x0cPenaltyFoul_\x10\x1d\x12\x10\n\x0cGoalieCatch_\x10\x1e\x12\x0e\n\nExtendHalf\x10\x1f\x12\x0c\n\x08MODE_MAX\x10 *2\n\tAgentType\x12\x0b\n\x07PlayerT\x10\x00\x12\n\n\x06\x43oachT\x10\x01\x12\x0c\n\x08TrainerT\x10\x02\x32\xe0\x03\n\x04Game\x12:\n\x10GetPlayerActions\x12\r.protos.State\x1a\x15.protos.PlayerActions\"\x00\x12\x38\n\x0fGetCoachActions\x12\r.protos.State\x1a\x14.protos.CoachActions\"\x00\x12<\n\x11GetTrainerActions\x12\r.protos.State\x1a\x16.protos.TrainerActions\"\x00\x12\x37\n\x0fSendInitMessage\x12\x13.protos.InitMessage\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendServerParams\x12\x13.protos.ServerParam\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendPlayerParams\x12\x13.protos.PlayerParam\x1a\r.protos.Empty\"\x00\x12\x35\n\x0eSendPlayerType\x12\x12.protos.PlayerType\x1a\r.protos.Empty\"\x00\x12@\n\x0eGetInitMessage\x12\r.protos.Empty\x1a\x1d.protos.InitMessageFromServer\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._options = None - _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._serialized_options = b'8\001' - _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._options = None - _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_options = b'8\001' - _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._options = None - _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_options = b'8\001' - _globals['_VIEWWIDTH']._serialized_start=23446 - _globals['_VIEWWIDTH']._serialized_end=23491 - _globals['_SIDE']._serialized_start=23493 - _globals['_SIDE']._serialized_end=23533 - _globals['_LOGGERLEVEL']._serialized_start=23536 - _globals['_LOGGERLEVEL']._serialized_end=23837 - _globals['_INTERCEPTACTIONTYPE']._serialized_start=23839 - _globals['_INTERCEPTACTIONTYPE']._serialized_end=23957 - _globals['_GAMEMODETYPE']._serialized_start=23960 - _globals['_GAMEMODETYPE']._serialized_end=24531 + _WORLDMODEL_OURPLAYERSDICTENTRY._options = None + _WORLDMODEL_OURPLAYERSDICTENTRY._serialized_options = b'8\001' + _WORLDMODEL_THEIRPLAYERSDICTENTRY._options = None + _WORLDMODEL_THEIRPLAYERSDICTENTRY._serialized_options = b'8\001' + _WORLDMODEL_HELIOSHOMEPOSITIONSENTRY._options = None + _WORLDMODEL_HELIOSHOMEPOSITIONSENTRY._serialized_options = b'8\001' + _globals['_VIEWWIDTH']._serialized_start=24827 + _globals['_VIEWWIDTH']._serialized_end=24872 + _globals['_SIDE']._serialized_start=24874 + _globals['_SIDE']._serialized_end=24914 + _globals['_LOGGERLEVEL']._serialized_start=24917 + _globals['_LOGGERLEVEL']._serialized_end=25218 + _globals['_INTERCEPTACTIONTYPE']._serialized_start=25220 + _globals['_INTERCEPTACTIONTYPE']._serialized_end=25338 + _globals['_GAMEMODETYPE']._serialized_start=25341 + _globals['_GAMEMODETYPE']._serialized_end=25912 + _globals['_AGENTTYPE']._serialized_start=25914 + _globals['_AGENTTYPE']._serialized_end=25964 _globals['_VECTOR2D']._serialized_start=25 _globals['_VECTOR2D']._serialized_end=86 _globals['_BALL']._serialized_start=89 @@ -57,212 +58,240 @@ _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_end=4219 _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_start=4221 _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_end=4297 - _globals['_STATE']._serialized_start=4299 - _globals['_STATE']._serialized_end=4393 - _globals['_INITMESSAGE']._serialized_start=4395 - _globals['_INITMESSAGE']._serialized_end=4428 - _globals['_DASH']._serialized_start=4430 - _globals['_DASH']._serialized_end=4479 - _globals['_TURN']._serialized_start=4481 - _globals['_TURN']._serialized_end=4515 - _globals['_KICK']._serialized_start=4517 - _globals['_KICK']._serialized_end=4566 - _globals['_TACKLE']._serialized_start=4568 - _globals['_TACKLE']._serialized_end=4612 - _globals['_CATCH']._serialized_start=4614 - _globals['_CATCH']._serialized_end=4621 - _globals['_MOVE']._serialized_start=4623 - _globals['_MOVE']._serialized_end=4651 - _globals['_TURNNECK']._serialized_start=4653 - _globals['_TURNNECK']._serialized_end=4679 - _globals['_CHANGEVIEW']._serialized_start=4681 - _globals['_CHANGEVIEW']._serialized_end=4732 - _globals['_BALLMESSAGE']._serialized_start=4734 - _globals['_BALLMESSAGE']._serialized_end=4829 - _globals['_PASSMESSAGE']._serialized_start=4832 - _globals['_PASSMESSAGE']._serialized_end=5002 - _globals['_INTERCEPTMESSAGE']._serialized_start=5004 - _globals['_INTERCEPTMESSAGE']._serialized_end=5074 - _globals['_GOALIEMESSAGE']._serialized_start=5076 - _globals['_GOALIEMESSAGE']._serialized_end=5196 - _globals['_GOALIEANDPLAYERMESSAGE']._serialized_start=5199 - _globals['_GOALIEANDPLAYERMESSAGE']._serialized_end=5402 - _globals['_OFFSIDELINEMESSAGE']._serialized_start=5404 - _globals['_OFFSIDELINEMESSAGE']._serialized_end=5448 - _globals['_DEFENSELINEMESSAGE']._serialized_start=5450 - _globals['_DEFENSELINEMESSAGE']._serialized_end=5494 - _globals['_WAITREQUESTMESSAGE']._serialized_start=5496 - _globals['_WAITREQUESTMESSAGE']._serialized_end=5516 - _globals['_SETPLAYMESSAGE']._serialized_start=5518 - _globals['_SETPLAYMESSAGE']._serialized_end=5553 - _globals['_PASSREQUESTMESSAGE']._serialized_start=5555 - _globals['_PASSREQUESTMESSAGE']._serialized_end=5615 - _globals['_STAMINAMESSAGE']._serialized_start=5617 - _globals['_STAMINAMESSAGE']._serialized_end=5650 - _globals['_RECOVERYMESSAGE']._serialized_start=5652 - _globals['_RECOVERYMESSAGE']._serialized_end=5687 - _globals['_STAMINACAPACITYMESSAGE']._serialized_start=5689 - _globals['_STAMINACAPACITYMESSAGE']._serialized_end=5739 - _globals['_DRIBBLEMESSAGE']._serialized_start=5741 - _globals['_DRIBBLEMESSAGE']._serialized_end=5818 - _globals['_BALLGOALIEMESSAGE']._serialized_start=5821 - _globals['_BALLGOALIEMESSAGE']._serialized_end=5996 - _globals['_ONEPLAYERMESSAGE']._serialized_start=5998 - _globals['_ONEPLAYERMESSAGE']._serialized_end=6076 - _globals['_TWOPLAYERMESSAGE']._serialized_start=6079 - _globals['_TWOPLAYERMESSAGE']._serialized_end=6243 - _globals['_THREEPLAYERMESSAGE']._serialized_start=6246 - _globals['_THREEPLAYERMESSAGE']._serialized_end=6484 - _globals['_SELFMESSAGE']._serialized_start=6486 - _globals['_SELFMESSAGE']._serialized_end=6591 - _globals['_TEAMMATEMESSAGE']._serialized_start=6593 - _globals['_TEAMMATEMESSAGE']._serialized_end=6694 - _globals['_OPPONENTMESSAGE']._serialized_start=6696 - _globals['_OPPONENTMESSAGE']._serialized_end=6797 - _globals['_BALLPLAYERMESSAGE']._serialized_start=6800 - _globals['_BALLPLAYERMESSAGE']._serialized_end=6992 - _globals['_SAY']._serialized_start=6995 - _globals['_SAY']._serialized_end=8227 - _globals['_POINTTO']._serialized_start=8229 - _globals['_POINTTO']._serialized_end=8260 - _globals['_POINTTOOF']._serialized_start=8262 - _globals['_POINTTOOF']._serialized_end=8273 - _globals['_ATTENTIONTO']._serialized_start=8275 - _globals['_ATTENTIONTO']._serialized_end=8330 - _globals['_ATTENTIONTOOF']._serialized_start=8332 - _globals['_ATTENTIONTOOF']._serialized_end=8347 - _globals['_ADDTEXT']._serialized_start=8349 - _globals['_ADDTEXT']._serialized_end=8411 - _globals['_ADDPOINT']._serialized_start=8413 - _globals['_ADDPOINT']._serialized_end=8507 - _globals['_ADDLINE']._serialized_start=8509 - _globals['_ADDLINE']._serialized_end=8633 - _globals['_ADDARC']._serialized_start=8636 - _globals['_ADDARC']._serialized_end=8786 - _globals['_ADDCIRCLE']._serialized_start=8788 - _globals['_ADDCIRCLE']._serialized_end=8914 - _globals['_ADDTRIANGLE']._serialized_start=8917 - _globals['_ADDTRIANGLE']._serialized_end=9097 - _globals['_ADDRECTANGLE']._serialized_start=9100 - _globals['_ADDRECTANGLE']._serialized_end=9237 - _globals['_ADDSECTOR']._serialized_start=9240 - _globals['_ADDSECTOR']._serialized_end=9431 - _globals['_ADDMESSAGE']._serialized_start=9433 - _globals['_ADDMESSAGE']._serialized_end=9549 - _globals['_LOG']._serialized_start=9552 - _globals['_LOG']._serialized_end=9929 - _globals['_DEBUGCLIENT']._serialized_start=9931 - _globals['_DEBUGCLIENT']._serialized_end=9961 - _globals['_BODY_GOTOPOINT']._serialized_start=9963 - _globals['_BODY_GOTOPOINT']._serialized_end=10071 - _globals['_BODY_SMARTKICK']._serialized_start=10073 - _globals['_BODY_SMARTKICK']._serialized_end=10200 - _globals['_BHV_BEFOREKICKOFF']._serialized_start=10202 - _globals['_BHV_BEFOREKICKOFF']._serialized_end=10254 - _globals['_BHV_BODYNECKTOBALL']._serialized_start=10256 - _globals['_BHV_BODYNECKTOBALL']._serialized_end=10276 - _globals['_BHV_BODYNECKTOPOINT']._serialized_start=10278 - _globals['_BHV_BODYNECKTOPOINT']._serialized_end=10332 - _globals['_BHV_EMERGENCY']._serialized_start=10334 - _globals['_BHV_EMERGENCY']._serialized_end=10349 - _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_start=10351 - _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_end=10466 - _globals['_BHV_NECKBODYTOBALL']._serialized_start=10468 - _globals['_BHV_NECKBODYTOBALL']._serialized_end=10507 - _globals['_BHV_NECKBODYTOPOINT']._serialized_start=10509 - _globals['_BHV_NECKBODYTOPOINT']._serialized_end=10582 - _globals['_BHV_SCANFIELD']._serialized_start=10584 - _globals['_BHV_SCANFIELD']._serialized_end=10599 - _globals['_BODY_ADVANCEBALL']._serialized_start=10601 - _globals['_BODY_ADVANCEBALL']._serialized_end=10619 - _globals['_BODY_CLEARBALL']._serialized_start=10621 - _globals['_BODY_CLEARBALL']._serialized_end=10637 - _globals['_BODY_DRIBBLE']._serialized_start=10640 - _globals['_BODY_DRIBBLE']._serialized_end=10777 - _globals['_BODY_GOTOPOINTDODGE']._serialized_start=10779 - _globals['_BODY_GOTOPOINTDODGE']._serialized_end=10860 - _globals['_BODY_HOLDBALL']._serialized_start=10862 - _globals['_BODY_HOLDBALL']._serialized_end=10984 - _globals['_BODY_INTERCEPT']._serialized_start=10986 - _globals['_BODY_INTERCEPT']._serialized_end=11063 - _globals['_BODY_KICKONESTEP']._serialized_start=11065 - _globals['_BODY_KICKONESTEP']._serialized_end=11164 - _globals['_BODY_STOPBALL']._serialized_start=11166 - _globals['_BODY_STOPBALL']._serialized_end=11181 - _globals['_BODY_STOPDASH']._serialized_start=11183 - _globals['_BODY_STOPDASH']._serialized_end=11221 - _globals['_BODY_TACKLETOPOINT']._serialized_start=11223 - _globals['_BODY_TACKLETOPOINT']._serialized_end=11327 - _globals['_BODY_TURNTOANGLE']._serialized_start=11329 - _globals['_BODY_TURNTOANGLE']._serialized_end=11362 - _globals['_BODY_TURNTOBALL']._serialized_start=11364 - _globals['_BODY_TURNTOBALL']._serialized_end=11396 - _globals['_BODY_TURNTOPOINT']._serialized_start=11398 - _globals['_BODY_TURNTOPOINT']._serialized_end=11471 - _globals['_FOCUS_MOVETOPOINT']._serialized_start=11473 - _globals['_FOCUS_MOVETOPOINT']._serialized_end=11532 - _globals['_FOCUS_RESET']._serialized_start=11534 - _globals['_FOCUS_RESET']._serialized_end=11547 - _globals['_NECK_SCANFIELD']._serialized_start=11549 - _globals['_NECK_SCANFIELD']._serialized_end=11565 - _globals['_NECK_SCANPLAYERS']._serialized_start=11567 - _globals['_NECK_SCANPLAYERS']._serialized_end=11585 - _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_start=11587 - _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_end=11690 - _globals['_NECK_TURNTOBALLORSCAN']._serialized_start=11692 - _globals['_NECK_TURNTOBALLORSCAN']._serialized_end=11740 - _globals['_NECK_TURNTOBALL']._serialized_start=11742 - _globals['_NECK_TURNTOBALL']._serialized_end=11759 - _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_start=11761 - _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_end=11811 - _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_start=11813 - _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_end=11841 - _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_start=11843 - _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_end=11945 - _globals['_NECK_TURNTOPOINT']._serialized_start=11947 - _globals['_NECK_TURNTOPOINT']._serialized_end=12005 - _globals['_NECK_TURNTORELATIVE']._serialized_start=12007 - _globals['_NECK_TURNTORELATIVE']._serialized_end=12043 - _globals['_VIEW_CHANGEWIDTH']._serialized_start=12045 - _globals['_VIEW_CHANGEWIDTH']._serialized_end=12102 - _globals['_VIEW_NORMAL']._serialized_start=12104 - _globals['_VIEW_NORMAL']._serialized_end=12117 - _globals['_VIEW_SYNCH']._serialized_start=12119 - _globals['_VIEW_SYNCH']._serialized_end=12131 - _globals['_VIEW_WIDE']._serialized_start=12133 - _globals['_VIEW_WIDE']._serialized_end=12144 - _globals['_HELIOSGOALIE']._serialized_start=12146 - _globals['_HELIOSGOALIE']._serialized_end=12160 - _globals['_HELIOSGOALIEMOVE']._serialized_start=12162 - _globals['_HELIOSGOALIEMOVE']._serialized_end=12180 - _globals['_HELIOSGOALIEKICK']._serialized_start=12182 - _globals['_HELIOSGOALIEKICK']._serialized_end=12200 - _globals['_HELIOSSHOOT']._serialized_start=12202 - _globals['_HELIOSSHOOT']._serialized_end=12215 - _globals['_HELIOSCHAINACTION']._serialized_start=12218 - _globals['_HELIOSCHAINACTION']._serialized_end=12426 - _globals['_HELIOSBASICOFFENSIVE']._serialized_start=12428 - _globals['_HELIOSBASICOFFENSIVE']._serialized_end=12450 - _globals['_HELIOSBASICMOVE']._serialized_start=12452 - _globals['_HELIOSBASICMOVE']._serialized_end=12469 - _globals['_HELIOSSETPLAY']._serialized_start=12471 - _globals['_HELIOSSETPLAY']._serialized_end=12486 - _globals['_HELIOSPENALTY']._serialized_start=12488 - _globals['_HELIOSPENALTY']._serialized_end=12503 - _globals['_HELIOSCOMMUNICAION']._serialized_start=12505 - _globals['_HELIOSCOMMUNICAION']._serialized_end=12525 - _globals['_ACTION']._serialized_start=12528 - _globals['_ACTION']._serialized_end=15821 - _globals['_ACTIONS']._serialized_start=15823 - _globals['_ACTIONS']._serialized_end=15865 - _globals['_SERVERPARAM']._serialized_start=15868 - _globals['_SERVERPARAM']._serialized_end=21539 - _globals['_PLAYERPARAM']._serialized_start=21542 - _globals['_PLAYERPARAM']._serialized_end=22526 - _globals['_PLAYERTYPE']._serialized_start=22529 - _globals['_PLAYERTYPE']._serialized_end=23435 - _globals['_EMPTY']._serialized_start=23437 - _globals['_EMPTY']._serialized_end=23444 - _globals['_GAME']._serialized_start=24534 - _globals['_GAME']._serialized_end=24816 + _globals['_STATE']._serialized_start=4300 + _globals['_STATE']._serialized_end=4433 + _globals['_INITMESSAGE']._serialized_start=4435 + _globals['_INITMESSAGE']._serialized_end=4507 + _globals['_DASH']._serialized_start=4509 + _globals['_DASH']._serialized_end=4558 + _globals['_TURN']._serialized_start=4560 + _globals['_TURN']._serialized_end=4594 + _globals['_KICK']._serialized_start=4596 + _globals['_KICK']._serialized_end=4645 + _globals['_TACKLE']._serialized_start=4647 + _globals['_TACKLE']._serialized_end=4691 + _globals['_CATCH']._serialized_start=4693 + _globals['_CATCH']._serialized_end=4700 + _globals['_MOVE']._serialized_start=4702 + _globals['_MOVE']._serialized_end=4730 + _globals['_TURNNECK']._serialized_start=4732 + _globals['_TURNNECK']._serialized_end=4758 + _globals['_CHANGEVIEW']._serialized_start=4760 + _globals['_CHANGEVIEW']._serialized_end=4811 + _globals['_BALLMESSAGE']._serialized_start=4813 + _globals['_BALLMESSAGE']._serialized_end=4908 + _globals['_PASSMESSAGE']._serialized_start=4911 + _globals['_PASSMESSAGE']._serialized_end=5081 + _globals['_INTERCEPTMESSAGE']._serialized_start=5083 + _globals['_INTERCEPTMESSAGE']._serialized_end=5153 + _globals['_GOALIEMESSAGE']._serialized_start=5155 + _globals['_GOALIEMESSAGE']._serialized_end=5275 + _globals['_GOALIEANDPLAYERMESSAGE']._serialized_start=5278 + _globals['_GOALIEANDPLAYERMESSAGE']._serialized_end=5481 + _globals['_OFFSIDELINEMESSAGE']._serialized_start=5483 + _globals['_OFFSIDELINEMESSAGE']._serialized_end=5527 + _globals['_DEFENSELINEMESSAGE']._serialized_start=5529 + _globals['_DEFENSELINEMESSAGE']._serialized_end=5573 + _globals['_WAITREQUESTMESSAGE']._serialized_start=5575 + _globals['_WAITREQUESTMESSAGE']._serialized_end=5595 + _globals['_SETPLAYMESSAGE']._serialized_start=5597 + _globals['_SETPLAYMESSAGE']._serialized_end=5632 + _globals['_PASSREQUESTMESSAGE']._serialized_start=5634 + _globals['_PASSREQUESTMESSAGE']._serialized_end=5694 + _globals['_STAMINAMESSAGE']._serialized_start=5696 + _globals['_STAMINAMESSAGE']._serialized_end=5729 + _globals['_RECOVERYMESSAGE']._serialized_start=5731 + _globals['_RECOVERYMESSAGE']._serialized_end=5766 + _globals['_STAMINACAPACITYMESSAGE']._serialized_start=5768 + _globals['_STAMINACAPACITYMESSAGE']._serialized_end=5818 + _globals['_DRIBBLEMESSAGE']._serialized_start=5820 + _globals['_DRIBBLEMESSAGE']._serialized_end=5897 + _globals['_BALLGOALIEMESSAGE']._serialized_start=5900 + _globals['_BALLGOALIEMESSAGE']._serialized_end=6075 + _globals['_ONEPLAYERMESSAGE']._serialized_start=6077 + _globals['_ONEPLAYERMESSAGE']._serialized_end=6155 + _globals['_TWOPLAYERMESSAGE']._serialized_start=6158 + _globals['_TWOPLAYERMESSAGE']._serialized_end=6322 + _globals['_THREEPLAYERMESSAGE']._serialized_start=6325 + _globals['_THREEPLAYERMESSAGE']._serialized_end=6563 + _globals['_SELFMESSAGE']._serialized_start=6565 + _globals['_SELFMESSAGE']._serialized_end=6670 + _globals['_TEAMMATEMESSAGE']._serialized_start=6672 + _globals['_TEAMMATEMESSAGE']._serialized_end=6773 + _globals['_OPPONENTMESSAGE']._serialized_start=6775 + _globals['_OPPONENTMESSAGE']._serialized_end=6876 + _globals['_BALLPLAYERMESSAGE']._serialized_start=6879 + _globals['_BALLPLAYERMESSAGE']._serialized_end=7071 + _globals['_SAY']._serialized_start=7074 + _globals['_SAY']._serialized_end=8306 + _globals['_POINTTO']._serialized_start=8308 + _globals['_POINTTO']._serialized_end=8339 + _globals['_POINTTOOF']._serialized_start=8341 + _globals['_POINTTOOF']._serialized_end=8352 + _globals['_ATTENTIONTO']._serialized_start=8354 + _globals['_ATTENTIONTO']._serialized_end=8409 + _globals['_ATTENTIONTOOF']._serialized_start=8411 + _globals['_ATTENTIONTOOF']._serialized_end=8426 + _globals['_ADDTEXT']._serialized_start=8428 + _globals['_ADDTEXT']._serialized_end=8490 + _globals['_ADDPOINT']._serialized_start=8492 + _globals['_ADDPOINT']._serialized_end=8586 + _globals['_ADDLINE']._serialized_start=8588 + _globals['_ADDLINE']._serialized_end=8712 + _globals['_ADDARC']._serialized_start=8715 + _globals['_ADDARC']._serialized_end=8865 + _globals['_ADDCIRCLE']._serialized_start=8867 + _globals['_ADDCIRCLE']._serialized_end=8993 + _globals['_ADDTRIANGLE']._serialized_start=8996 + _globals['_ADDTRIANGLE']._serialized_end=9176 + _globals['_ADDRECTANGLE']._serialized_start=9179 + _globals['_ADDRECTANGLE']._serialized_end=9316 + _globals['_ADDSECTOR']._serialized_start=9319 + _globals['_ADDSECTOR']._serialized_end=9510 + _globals['_ADDMESSAGE']._serialized_start=9512 + _globals['_ADDMESSAGE']._serialized_end=9628 + _globals['_LOG']._serialized_start=9631 + _globals['_LOG']._serialized_end=10008 + _globals['_DEBUGCLIENT']._serialized_start=10010 + _globals['_DEBUGCLIENT']._serialized_end=10040 + _globals['_BODY_GOTOPOINT']._serialized_start=10042 + _globals['_BODY_GOTOPOINT']._serialized_end=10150 + _globals['_BODY_SMARTKICK']._serialized_start=10152 + _globals['_BODY_SMARTKICK']._serialized_end=10279 + _globals['_BHV_BEFOREKICKOFF']._serialized_start=10281 + _globals['_BHV_BEFOREKICKOFF']._serialized_end=10333 + _globals['_BHV_BODYNECKTOBALL']._serialized_start=10335 + _globals['_BHV_BODYNECKTOBALL']._serialized_end=10355 + _globals['_BHV_BODYNECKTOPOINT']._serialized_start=10357 + _globals['_BHV_BODYNECKTOPOINT']._serialized_end=10411 + _globals['_BHV_EMERGENCY']._serialized_start=10413 + _globals['_BHV_EMERGENCY']._serialized_end=10428 + _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_start=10430 + _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_end=10545 + _globals['_BHV_NECKBODYTOBALL']._serialized_start=10547 + _globals['_BHV_NECKBODYTOBALL']._serialized_end=10586 + _globals['_BHV_NECKBODYTOPOINT']._serialized_start=10588 + _globals['_BHV_NECKBODYTOPOINT']._serialized_end=10661 + _globals['_BHV_SCANFIELD']._serialized_start=10663 + _globals['_BHV_SCANFIELD']._serialized_end=10678 + _globals['_BODY_ADVANCEBALL']._serialized_start=10680 + _globals['_BODY_ADVANCEBALL']._serialized_end=10698 + _globals['_BODY_CLEARBALL']._serialized_start=10700 + _globals['_BODY_CLEARBALL']._serialized_end=10716 + _globals['_BODY_DRIBBLE']._serialized_start=10719 + _globals['_BODY_DRIBBLE']._serialized_end=10856 + _globals['_BODY_GOTOPOINTDODGE']._serialized_start=10858 + _globals['_BODY_GOTOPOINTDODGE']._serialized_end=10939 + _globals['_BODY_HOLDBALL']._serialized_start=10941 + _globals['_BODY_HOLDBALL']._serialized_end=11063 + _globals['_BODY_INTERCEPT']._serialized_start=11065 + _globals['_BODY_INTERCEPT']._serialized_end=11142 + _globals['_BODY_KICKONESTEP']._serialized_start=11144 + _globals['_BODY_KICKONESTEP']._serialized_end=11243 + _globals['_BODY_STOPBALL']._serialized_start=11245 + _globals['_BODY_STOPBALL']._serialized_end=11260 + _globals['_BODY_STOPDASH']._serialized_start=11262 + _globals['_BODY_STOPDASH']._serialized_end=11300 + _globals['_BODY_TACKLETOPOINT']._serialized_start=11302 + _globals['_BODY_TACKLETOPOINT']._serialized_end=11406 + _globals['_BODY_TURNTOANGLE']._serialized_start=11408 + _globals['_BODY_TURNTOANGLE']._serialized_end=11441 + _globals['_BODY_TURNTOBALL']._serialized_start=11443 + _globals['_BODY_TURNTOBALL']._serialized_end=11475 + _globals['_BODY_TURNTOPOINT']._serialized_start=11477 + _globals['_BODY_TURNTOPOINT']._serialized_end=11550 + _globals['_FOCUS_MOVETOPOINT']._serialized_start=11552 + _globals['_FOCUS_MOVETOPOINT']._serialized_end=11611 + _globals['_FOCUS_RESET']._serialized_start=11613 + _globals['_FOCUS_RESET']._serialized_end=11626 + _globals['_NECK_SCANFIELD']._serialized_start=11628 + _globals['_NECK_SCANFIELD']._serialized_end=11644 + _globals['_NECK_SCANPLAYERS']._serialized_start=11646 + _globals['_NECK_SCANPLAYERS']._serialized_end=11664 + _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_start=11666 + _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_end=11769 + _globals['_NECK_TURNTOBALLORSCAN']._serialized_start=11771 + _globals['_NECK_TURNTOBALLORSCAN']._serialized_end=11819 + _globals['_NECK_TURNTOBALL']._serialized_start=11821 + _globals['_NECK_TURNTOBALL']._serialized_end=11838 + _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_start=11840 + _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_end=11890 + _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_start=11892 + _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_end=11920 + _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_start=11922 + _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_end=12024 + _globals['_NECK_TURNTOPOINT']._serialized_start=12026 + _globals['_NECK_TURNTOPOINT']._serialized_end=12084 + _globals['_NECK_TURNTORELATIVE']._serialized_start=12086 + _globals['_NECK_TURNTORELATIVE']._serialized_end=12122 + _globals['_VIEW_CHANGEWIDTH']._serialized_start=12124 + _globals['_VIEW_CHANGEWIDTH']._serialized_end=12181 + _globals['_VIEW_NORMAL']._serialized_start=12183 + _globals['_VIEW_NORMAL']._serialized_end=12196 + _globals['_VIEW_SYNCH']._serialized_start=12198 + _globals['_VIEW_SYNCH']._serialized_end=12210 + _globals['_VIEW_WIDE']._serialized_start=12212 + _globals['_VIEW_WIDE']._serialized_end=12223 + _globals['_HELIOSGOALIE']._serialized_start=12225 + _globals['_HELIOSGOALIE']._serialized_end=12239 + _globals['_HELIOSGOALIEMOVE']._serialized_start=12241 + _globals['_HELIOSGOALIEMOVE']._serialized_end=12259 + _globals['_HELIOSGOALIEKICK']._serialized_start=12261 + _globals['_HELIOSGOALIEKICK']._serialized_end=12279 + _globals['_HELIOSSHOOT']._serialized_start=12281 + _globals['_HELIOSSHOOT']._serialized_end=12294 + _globals['_HELIOSCHAINACTION']._serialized_start=12297 + _globals['_HELIOSCHAINACTION']._serialized_end=12505 + _globals['_HELIOSBASICOFFENSIVE']._serialized_start=12507 + _globals['_HELIOSBASICOFFENSIVE']._serialized_end=12529 + _globals['_HELIOSBASICMOVE']._serialized_start=12531 + _globals['_HELIOSBASICMOVE']._serialized_end=12548 + _globals['_HELIOSSETPLAY']._serialized_start=12550 + _globals['_HELIOSSETPLAY']._serialized_end=12565 + _globals['_HELIOSPENALTY']._serialized_start=12567 + _globals['_HELIOSPENALTY']._serialized_end=12582 + _globals['_HELIOSCOMMUNICAION']._serialized_start=12584 + _globals['_HELIOSCOMMUNICAION']._serialized_end=12604 + _globals['_PLAYERACTION']._serialized_start=12607 + _globals['_PLAYERACTION']._serialized_end=15906 + _globals['_PLAYERACTIONS']._serialized_start=15908 + _globals['_PLAYERACTIONS']._serialized_end=15962 + _globals['_CHANGEPLAYERTYPE']._serialized_start=15964 + _globals['_CHANGEPLAYERTYPE']._serialized_end=16020 + _globals['_DOHELIOSSUBSTITUTE']._serialized_start=16022 + _globals['_DOHELIOSSUBSTITUTE']._serialized_end=16042 + _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_start=16044 + _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_end=16068 + _globals['_COACHACTION']._serialized_start=16071 + _globals['_COACHACTION']._serialized_end=16281 + _globals['_COACHACTIONS']._serialized_start=16283 + _globals['_COACHACTIONS']._serialized_end=16335 + _globals['_DOKICKOFF']._serialized_start=16337 + _globals['_DOKICKOFF']._serialized_end=16348 + _globals['_DOMOVEBALL']._serialized_start=16350 + _globals['_DOMOVEBALL']._serialized_end=16434 + _globals['_DOMOVEPLAYER']._serialized_start=16436 + _globals['_DOMOVEPLAYER']._serialized_end=16552 + _globals['_DORECOVER']._serialized_start=16554 + _globals['_DORECOVER']._serialized_end=16565 + _globals['_DOCHANGEMODE']._serialized_start=16567 + _globals['_DOCHANGEMODE']._serialized_end=16655 + _globals['_DOCHANGEPLAYERTYPE']._serialized_start=16657 + _globals['_DOCHANGEPLAYERTYPE']._serialized_end=16733 + _globals['_TRAINERACTION']._serialized_start=16736 + _globals['_TRAINERACTION']._serialized_end=17045 + _globals['_TRAINERACTIONS']._serialized_start=17047 + _globals['_TRAINERACTIONS']._serialized_end=17103 + _globals['_SERVERPARAM']._serialized_start=17106 + _globals['_SERVERPARAM']._serialized_end=22817 + _globals['_PLAYERPARAM']._serialized_start=22820 + _globals['_PLAYERPARAM']._serialized_end=23843 + _globals['_PLAYERTYPE']._serialized_start=23846 + _globals['_PLAYERTYPE']._serialized_end=24791 + _globals['_EMPTY']._serialized_start=24793 + _globals['_EMPTY']._serialized_end=24800 + _globals['_INITMESSAGEFROMSERVER']._serialized_start=24802 + _globals['_INITMESSAGEFROMSERVER']._serialized_end=24825 + _globals['_GAME']._serialized_start=25967 + _globals['_GAME']._serialized_end=26447 # @@protoc_insertion_point(module_scope) diff --git a/service_pb2.pyi b/service_pb2.pyi index 9fa5e6b..d69b959 100644 --- a/service_pb2.pyi +++ b/service_pb2.pyi @@ -7,19 +7,19 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class ViewWidth(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () + __slots__ = [] NARROW: _ClassVar[ViewWidth] NORMAL: _ClassVar[ViewWidth] WIDE: _ClassVar[ViewWidth] class Side(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () + __slots__ = [] UNKNOWN: _ClassVar[Side] LEFT: _ClassVar[Side] RIGHT: _ClassVar[Side] class LoggerLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () + __slots__ = [] None: _ClassVar[LoggerLevel] SYSTEM: _ClassVar[LoggerLevel] SENSOR: _ClassVar[LoggerLevel] @@ -44,14 +44,14 @@ class LoggerLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): PLAN: _ClassVar[LoggerLevel] class InterceptActionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () + __slots__ = [] UNKNOWN_Intercept_Action_Type: _ClassVar[InterceptActionType] OMNI_DASH: _ClassVar[InterceptActionType] TURN_FORWARD_DASH: _ClassVar[InterceptActionType] TURN_BACKWARD_DASH: _ClassVar[InterceptActionType] class GameModeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () + __slots__ = [] BeforeKickOff: _ClassVar[GameModeType] TimeOver: _ClassVar[GameModeType] PlayOn: _ClassVar[GameModeType] @@ -85,6 +85,12 @@ class GameModeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): GoalieCatch_: _ClassVar[GameModeType] ExtendHalf: _ClassVar[GameModeType] MODE_MAX: _ClassVar[GameModeType] + +class AgentType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + PlayerT: _ClassVar[AgentType] + CoachT: _ClassVar[AgentType] + TrainerT: _ClassVar[AgentType] NARROW: ViewWidth NORMAL: ViewWidth WIDE: ViewWidth @@ -150,9 +156,12 @@ PenaltyFoul_: GameModeType GoalieCatch_: GameModeType ExtendHalf: GameModeType MODE_MAX: GameModeType +PlayerT: AgentType +CoachT: AgentType +TrainerT: AgentType class Vector2D(_message.Message): - __slots__ = ("x", "y", "dist", "angle") + __slots__ = ["x", "y", "dist", "angle"] X_FIELD_NUMBER: _ClassVar[int] Y_FIELD_NUMBER: _ClassVar[int] DIST_FIELD_NUMBER: _ClassVar[int] @@ -164,7 +173,7 @@ class Vector2D(_message.Message): def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ..., dist: _Optional[float] = ..., angle: _Optional[float] = ...) -> None: ... class Ball(_message.Message): - __slots__ = ("position", "relative_position", "seen_position", "heard_position", "velocity", "seen_velocity", "heard_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "heard_vel_count", "lost_count", "ghost_count", "dist_from_self", "angle_from_self") + __slots__ = ["position", "relative_position", "seen_position", "heard_position", "velocity", "seen_velocity", "heard_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "heard_vel_count", "lost_count", "ghost_count", "dist_from_self", "angle_from_self"] POSITION_FIELD_NUMBER: _ClassVar[int] RELATIVE_POSITION_FIELD_NUMBER: _ClassVar[int] SEEN_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -202,7 +211,7 @@ class Ball(_message.Message): def __init__(self, position: _Optional[_Union[Vector2D, _Mapping]] = ..., relative_position: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_position: _Optional[_Union[Vector2D, _Mapping]] = ..., heard_position: _Optional[_Union[Vector2D, _Mapping]] = ..., velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., heard_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., heard_vel_count: _Optional[int] = ..., lost_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., dist_from_self: _Optional[float] = ..., angle_from_self: _Optional[float] = ...) -> None: ... class Player(_message.Message): - __slots__ = ("position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "dist_from_self", "angle_from_self", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "type_id") + __slots__ = ["position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "dist_from_self", "angle_from_self", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "type_id"] POSITION_FIELD_NUMBER: _ClassVar[int] SEEN_POSITION_FIELD_NUMBER: _ClassVar[int] HEARD_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -266,7 +275,7 @@ class Player(_message.Message): def __init__(self, position: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_position: _Optional[_Union[Vector2D, _Mapping]] = ..., heard_position: _Optional[_Union[Vector2D, _Mapping]] = ..., velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., dist_from_self: _Optional[float] = ..., angle_from_self: _Optional[float] = ..., id: _Optional[int] = ..., side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., uniform_number_count: _Optional[int] = ..., is_goalie: bool = ..., body_direction: _Optional[float] = ..., body_direction_count: _Optional[int] = ..., face_direction: _Optional[float] = ..., face_direction_count: _Optional[int] = ..., point_to_direction: _Optional[float] = ..., point_to_direction_count: _Optional[int] = ..., is_kicking: bool = ..., dist_from_ball: _Optional[float] = ..., angle_from_ball: _Optional[float] = ..., ball_reach_steps: _Optional[int] = ..., is_tackling: bool = ..., type_id: _Optional[int] = ...) -> None: ... class Self(_message.Message): - __slots__ = ("position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "relative_neck_direction", "stamina", "is_kickable", "catch_probability", "tackle_probability", "foul_probability", "view_width", "type_id", "kick_rate") + __slots__ = ["position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "relative_neck_direction", "stamina", "is_kickable", "catch_probability", "tackle_probability", "foul_probability", "view_width", "type_id", "kick_rate"] POSITION_FIELD_NUMBER: _ClassVar[int] SEEN_POSITION_FIELD_NUMBER: _ClassVar[int] HEARD_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -342,7 +351,7 @@ class Self(_message.Message): def __init__(self, position: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_position: _Optional[_Union[Vector2D, _Mapping]] = ..., heard_position: _Optional[_Union[Vector2D, _Mapping]] = ..., velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., id: _Optional[int] = ..., side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., uniform_number_count: _Optional[int] = ..., is_goalie: bool = ..., body_direction: _Optional[float] = ..., body_direction_count: _Optional[int] = ..., face_direction: _Optional[float] = ..., face_direction_count: _Optional[int] = ..., point_to_direction: _Optional[float] = ..., point_to_direction_count: _Optional[int] = ..., is_kicking: bool = ..., dist_from_ball: _Optional[float] = ..., angle_from_ball: _Optional[float] = ..., ball_reach_steps: _Optional[int] = ..., is_tackling: bool = ..., relative_neck_direction: _Optional[float] = ..., stamina: _Optional[float] = ..., is_kickable: bool = ..., catch_probability: _Optional[float] = ..., tackle_probability: _Optional[float] = ..., foul_probability: _Optional[float] = ..., view_width: _Optional[_Union[ViewWidth, str]] = ..., type_id: _Optional[int] = ..., kick_rate: _Optional[float] = ...) -> None: ... class InterceptInfo(_message.Message): - __slots__ = ("action_type", "turn_steps", "turn_angle", "dash_steps", "dash_power", "dash_dir", "final_self_position", "final_ball_dist", "final_stamina", "value") + __slots__ = ["action_type", "turn_steps", "turn_angle", "dash_steps", "dash_power", "dash_dir", "final_self_position", "final_ball_dist", "final_stamina", "value"] ACTION_TYPE_FIELD_NUMBER: _ClassVar[int] TURN_STEPS_FIELD_NUMBER: _ClassVar[int] TURN_ANGLE_FIELD_NUMBER: _ClassVar[int] @@ -366,7 +375,7 @@ class InterceptInfo(_message.Message): def __init__(self, action_type: _Optional[_Union[InterceptActionType, str]] = ..., turn_steps: _Optional[int] = ..., turn_angle: _Optional[float] = ..., dash_steps: _Optional[int] = ..., dash_power: _Optional[float] = ..., dash_dir: _Optional[float] = ..., final_self_position: _Optional[_Union[Vector2D, _Mapping]] = ..., final_ball_dist: _Optional[float] = ..., final_stamina: _Optional[float] = ..., value: _Optional[float] = ...) -> None: ... class InterceptTable(_message.Message): - __slots__ = ("self_reach_steps", "first_teammate_reach_steps", "second_teammate_reach_steps", "first_opponent_reach_steps", "second_opponent_reach_steps", "first_teammate_id", "second_teammate_id", "first_opponent_id", "second_opponent_id", "self_intercept_info") + __slots__ = ["self_reach_steps", "first_teammate_reach_steps", "second_teammate_reach_steps", "first_opponent_reach_steps", "second_opponent_reach_steps", "first_teammate_id", "second_teammate_id", "first_opponent_id", "second_opponent_id", "self_intercept_info"] SELF_REACH_STEPS_FIELD_NUMBER: _ClassVar[int] FIRST_TEAMMATE_REACH_STEPS_FIELD_NUMBER: _ClassVar[int] SECOND_TEAMMATE_REACH_STEPS_FIELD_NUMBER: _ClassVar[int] @@ -390,23 +399,23 @@ class InterceptTable(_message.Message): def __init__(self, self_reach_steps: _Optional[int] = ..., first_teammate_reach_steps: _Optional[int] = ..., second_teammate_reach_steps: _Optional[int] = ..., first_opponent_reach_steps: _Optional[int] = ..., second_opponent_reach_steps: _Optional[int] = ..., first_teammate_id: _Optional[int] = ..., second_teammate_id: _Optional[int] = ..., first_opponent_id: _Optional[int] = ..., second_opponent_id: _Optional[int] = ..., self_intercept_info: _Optional[_Iterable[_Union[InterceptInfo, _Mapping]]] = ...) -> None: ... class WorldModel(_message.Message): - __slots__ = ("intercept_table", "our_team_name", "their_team_name", "our_side", "last_set_play_start_time", "self", "ball", "teammates", "opponents", "unknowns", "our_players_dict", "their_players_dict", "our_goalie_uniform_number", "their_goalie_uniform_number", "offside_line_x", "ofside_line_x_count", "kickable_teammate_id", "kickable_opponent_id", "last_kick_side", "last_kicker_uniform_number", "cycle", "game_mode_type", "left_team_score", "right_team_score", "is_our_set_play", "is_their_set_play", "stoped_cycle", "our_team_score", "their_team_score", "is_penalty_kick_mode", "helios_home_positions") + __slots__ = ["intercept_table", "our_team_name", "their_team_name", "our_side", "last_set_play_start_time", "self", "ball", "teammates", "opponents", "unknowns", "our_players_dict", "their_players_dict", "our_goalie_uniform_number", "their_goalie_uniform_number", "offside_line_x", "ofside_line_x_count", "kickable_teammate_id", "kickable_opponent_id", "last_kick_side", "last_kicker_uniform_number", "cycle", "game_mode_type", "left_team_score", "right_team_score", "is_our_set_play", "is_their_set_play", "stoped_cycle", "our_team_score", "their_team_score", "is_penalty_kick_mode", "helios_home_positions"] class OurPlayersDictEntry(_message.Message): - __slots__ = ("key", "value") + __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] key: int value: Player def __init__(self, key: _Optional[int] = ..., value: _Optional[_Union[Player, _Mapping]] = ...) -> None: ... class TheirPlayersDictEntry(_message.Message): - __slots__ = ("key", "value") + __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] key: int value: Player def __init__(self, key: _Optional[int] = ..., value: _Optional[_Union[Player, _Mapping]] = ...) -> None: ... class HeliosHomePositionsEntry(_message.Message): - __slots__ = ("key", "value") + __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] key: int @@ -477,21 +486,25 @@ class WorldModel(_message.Message): def __init__(self, intercept_table: _Optional[_Union[InterceptTable, _Mapping]] = ..., our_team_name: _Optional[str] = ..., their_team_name: _Optional[str] = ..., our_side: _Optional[_Union[Side, str]] = ..., last_set_play_start_time: _Optional[int] = ..., self: _Optional[_Union[Self, _Mapping]] = ..., ball: _Optional[_Union[Ball, _Mapping]] = ..., teammates: _Optional[_Iterable[_Union[Player, _Mapping]]] = ..., opponents: _Optional[_Iterable[_Union[Player, _Mapping]]] = ..., unknowns: _Optional[_Iterable[_Union[Player, _Mapping]]] = ..., our_players_dict: _Optional[_Mapping[int, Player]] = ..., their_players_dict: _Optional[_Mapping[int, Player]] = ..., our_goalie_uniform_number: _Optional[int] = ..., their_goalie_uniform_number: _Optional[int] = ..., offside_line_x: _Optional[float] = ..., ofside_line_x_count: _Optional[int] = ..., kickable_teammate_id: _Optional[int] = ..., kickable_opponent_id: _Optional[int] = ..., last_kick_side: _Optional[_Union[Side, str]] = ..., last_kicker_uniform_number: _Optional[int] = ..., cycle: _Optional[int] = ..., game_mode_type: _Optional[_Union[GameModeType, str]] = ..., left_team_score: _Optional[int] = ..., right_team_score: _Optional[int] = ..., is_our_set_play: bool = ..., is_their_set_play: bool = ..., stoped_cycle: _Optional[int] = ..., our_team_score: _Optional[int] = ..., their_team_score: _Optional[int] = ..., is_penalty_kick_mode: bool = ..., helios_home_positions: _Optional[_Mapping[int, Vector2D]] = ...) -> None: ... class State(_message.Message): - __slots__ = ("world_model", "full_world_model") + __slots__ = ["agent_type", "world_model", "full_world_model"] + AGENT_TYPE_FIELD_NUMBER: _ClassVar[int] WORLD_MODEL_FIELD_NUMBER: _ClassVar[int] FULL_WORLD_MODEL_FIELD_NUMBER: _ClassVar[int] + agent_type: AgentType world_model: WorldModel full_world_model: WorldModel - def __init__(self, world_model: _Optional[_Union[WorldModel, _Mapping]] = ..., full_world_model: _Optional[_Union[WorldModel, _Mapping]] = ...) -> None: ... + def __init__(self, agent_type: _Optional[_Union[AgentType, str]] = ..., world_model: _Optional[_Union[WorldModel, _Mapping]] = ..., full_world_model: _Optional[_Union[WorldModel, _Mapping]] = ...) -> None: ... class InitMessage(_message.Message): - __slots__ = ("debug_mode",) + __slots__ = ["agent_type", "debug_mode"] + AGENT_TYPE_FIELD_NUMBER: _ClassVar[int] DEBUG_MODE_FIELD_NUMBER: _ClassVar[int] + agent_type: AgentType debug_mode: bool - def __init__(self, debug_mode: bool = ...) -> None: ... + def __init__(self, agent_type: _Optional[_Union[AgentType, str]] = ..., debug_mode: bool = ...) -> None: ... class Dash(_message.Message): - __slots__ = ("power", "relative_direction") + __slots__ = ["power", "relative_direction"] POWER_FIELD_NUMBER: _ClassVar[int] RELATIVE_DIRECTION_FIELD_NUMBER: _ClassVar[int] power: float @@ -499,13 +512,13 @@ class Dash(_message.Message): def __init__(self, power: _Optional[float] = ..., relative_direction: _Optional[float] = ...) -> None: ... class Turn(_message.Message): - __slots__ = ("relative_direction",) + __slots__ = ["relative_direction"] RELATIVE_DIRECTION_FIELD_NUMBER: _ClassVar[int] relative_direction: float def __init__(self, relative_direction: _Optional[float] = ...) -> None: ... class Kick(_message.Message): - __slots__ = ("power", "relative_direction") + __slots__ = ["power", "relative_direction"] POWER_FIELD_NUMBER: _ClassVar[int] RELATIVE_DIRECTION_FIELD_NUMBER: _ClassVar[int] power: float @@ -513,7 +526,7 @@ class Kick(_message.Message): def __init__(self, power: _Optional[float] = ..., relative_direction: _Optional[float] = ...) -> None: ... class Tackle(_message.Message): - __slots__ = ("power_or_dir", "foul") + __slots__ = ["power_or_dir", "foul"] POWER_OR_DIR_FIELD_NUMBER: _ClassVar[int] FOUL_FIELD_NUMBER: _ClassVar[int] power_or_dir: float @@ -521,11 +534,11 @@ class Tackle(_message.Message): def __init__(self, power_or_dir: _Optional[float] = ..., foul: bool = ...) -> None: ... class Catch(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Move(_message.Message): - __slots__ = ("x", "y") + __slots__ = ["x", "y"] X_FIELD_NUMBER: _ClassVar[int] Y_FIELD_NUMBER: _ClassVar[int] x: float @@ -533,19 +546,19 @@ class Move(_message.Message): def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ...) -> None: ... class TurnNeck(_message.Message): - __slots__ = ("moment",) + __slots__ = ["moment"] MOMENT_FIELD_NUMBER: _ClassVar[int] moment: float def __init__(self, moment: _Optional[float] = ...) -> None: ... class ChangeView(_message.Message): - __slots__ = ("view_width",) + __slots__ = ["view_width"] VIEW_WIDTH_FIELD_NUMBER: _ClassVar[int] view_width: ViewWidth def __init__(self, view_width: _Optional[_Union[ViewWidth, str]] = ...) -> None: ... class BallMessage(_message.Message): - __slots__ = ("ball_position", "ball_velocity") + __slots__ = ["ball_position", "ball_velocity"] BALL_POSITION_FIELD_NUMBER: _ClassVar[int] BALL_VELOCITY_FIELD_NUMBER: _ClassVar[int] ball_position: Vector2D @@ -553,7 +566,7 @@ class BallMessage(_message.Message): def __init__(self, ball_position: _Optional[_Union[Vector2D, _Mapping]] = ..., ball_velocity: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class PassMessage(_message.Message): - __slots__ = ("receiver_uniform_number", "receiver_point", "ball_position", "ball_velocity") + __slots__ = ["receiver_uniform_number", "receiver_point", "ball_position", "ball_velocity"] RECEIVER_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] RECEIVER_POINT_FIELD_NUMBER: _ClassVar[int] BALL_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -565,7 +578,7 @@ class PassMessage(_message.Message): def __init__(self, receiver_uniform_number: _Optional[int] = ..., receiver_point: _Optional[_Union[Vector2D, _Mapping]] = ..., ball_position: _Optional[_Union[Vector2D, _Mapping]] = ..., ball_velocity: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class InterceptMessage(_message.Message): - __slots__ = ("our", "uniform_number", "cycle") + __slots__ = ["our", "uniform_number", "cycle"] OUR_FIELD_NUMBER: _ClassVar[int] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] CYCLE_FIELD_NUMBER: _ClassVar[int] @@ -575,7 +588,7 @@ class InterceptMessage(_message.Message): def __init__(self, our: bool = ..., uniform_number: _Optional[int] = ..., cycle: _Optional[int] = ...) -> None: ... class GoalieMessage(_message.Message): - __slots__ = ("goalie_uniform_number", "goalie_position", "goalie_body_direction") + __slots__ = ["goalie_uniform_number", "goalie_position", "goalie_body_direction"] GOALIE_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] GOALIE_POSITION_FIELD_NUMBER: _ClassVar[int] GOALIE_BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] @@ -585,7 +598,7 @@ class GoalieMessage(_message.Message): def __init__(self, goalie_uniform_number: _Optional[int] = ..., goalie_position: _Optional[_Union[Vector2D, _Mapping]] = ..., goalie_body_direction: _Optional[float] = ...) -> None: ... class GoalieAndPlayerMessage(_message.Message): - __slots__ = ("goalie_uniform_number", "goalie_position", "goalie_body_direction", "player_uniform_number", "player_position") + __slots__ = ["goalie_uniform_number", "goalie_position", "goalie_body_direction", "player_uniform_number", "player_position"] GOALIE_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] GOALIE_POSITION_FIELD_NUMBER: _ClassVar[int] GOALIE_BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] @@ -599,53 +612,53 @@ class GoalieAndPlayerMessage(_message.Message): def __init__(self, goalie_uniform_number: _Optional[int] = ..., goalie_position: _Optional[_Union[Vector2D, _Mapping]] = ..., goalie_body_direction: _Optional[float] = ..., player_uniform_number: _Optional[int] = ..., player_position: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class OffsideLineMessage(_message.Message): - __slots__ = ("offside_line_x",) + __slots__ = ["offside_line_x"] OFFSIDE_LINE_X_FIELD_NUMBER: _ClassVar[int] offside_line_x: float def __init__(self, offside_line_x: _Optional[float] = ...) -> None: ... class DefenseLineMessage(_message.Message): - __slots__ = ("defense_line_x",) + __slots__ = ["defense_line_x"] DEFENSE_LINE_X_FIELD_NUMBER: _ClassVar[int] defense_line_x: float def __init__(self, defense_line_x: _Optional[float] = ...) -> None: ... class WaitRequestMessage(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class SetplayMessage(_message.Message): - __slots__ = ("wait_step",) + __slots__ = ["wait_step"] WAIT_STEP_FIELD_NUMBER: _ClassVar[int] wait_step: int def __init__(self, wait_step: _Optional[int] = ...) -> None: ... class PassRequestMessage(_message.Message): - __slots__ = ("target_point",) + __slots__ = ["target_point"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class StaminaMessage(_message.Message): - __slots__ = ("stamina",) + __slots__ = ["stamina"] STAMINA_FIELD_NUMBER: _ClassVar[int] stamina: float def __init__(self, stamina: _Optional[float] = ...) -> None: ... class RecoveryMessage(_message.Message): - __slots__ = ("recovery",) + __slots__ = ["recovery"] RECOVERY_FIELD_NUMBER: _ClassVar[int] recovery: float def __init__(self, recovery: _Optional[float] = ...) -> None: ... class StaminaCapacityMessage(_message.Message): - __slots__ = ("stamina_capacity",) + __slots__ = ["stamina_capacity"] STAMINA_CAPACITY_FIELD_NUMBER: _ClassVar[int] stamina_capacity: float def __init__(self, stamina_capacity: _Optional[float] = ...) -> None: ... class DribbleMessage(_message.Message): - __slots__ = ("target_point", "queue_count") + __slots__ = ["target_point", "queue_count"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] QUEUE_COUNT_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D @@ -653,7 +666,7 @@ class DribbleMessage(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., queue_count: _Optional[int] = ...) -> None: ... class BallGoalieMessage(_message.Message): - __slots__ = ("ball_position", "ball_velocity", "goalie_position", "goalie_body_direction") + __slots__ = ["ball_position", "ball_velocity", "goalie_position", "goalie_body_direction"] BALL_POSITION_FIELD_NUMBER: _ClassVar[int] BALL_VELOCITY_FIELD_NUMBER: _ClassVar[int] GOALIE_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -665,7 +678,7 @@ class BallGoalieMessage(_message.Message): def __init__(self, ball_position: _Optional[_Union[Vector2D, _Mapping]] = ..., ball_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., goalie_position: _Optional[_Union[Vector2D, _Mapping]] = ..., goalie_body_direction: _Optional[float] = ...) -> None: ... class OnePlayerMessage(_message.Message): - __slots__ = ("uniform_number", "position") + __slots__ = ["uniform_number", "position"] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] POSITION_FIELD_NUMBER: _ClassVar[int] uniform_number: int @@ -673,7 +686,7 @@ class OnePlayerMessage(_message.Message): def __init__(self, uniform_number: _Optional[int] = ..., position: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class TwoPlayerMessage(_message.Message): - __slots__ = ("first_uniform_number", "first_position", "second_uniform_number", "second_position") + __slots__ = ["first_uniform_number", "first_position", "second_uniform_number", "second_position"] FIRST_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] FIRST_POSITION_FIELD_NUMBER: _ClassVar[int] SECOND_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] @@ -685,7 +698,7 @@ class TwoPlayerMessage(_message.Message): def __init__(self, first_uniform_number: _Optional[int] = ..., first_position: _Optional[_Union[Vector2D, _Mapping]] = ..., second_uniform_number: _Optional[int] = ..., second_position: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class ThreePlayerMessage(_message.Message): - __slots__ = ("first_uniform_number", "first_position", "second_uniform_number", "second_position", "third_uniform_number", "third_position") + __slots__ = ["first_uniform_number", "first_position", "second_uniform_number", "second_position", "third_uniform_number", "third_position"] FIRST_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] FIRST_POSITION_FIELD_NUMBER: _ClassVar[int] SECOND_UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] @@ -701,7 +714,7 @@ class ThreePlayerMessage(_message.Message): def __init__(self, first_uniform_number: _Optional[int] = ..., first_position: _Optional[_Union[Vector2D, _Mapping]] = ..., second_uniform_number: _Optional[int] = ..., second_position: _Optional[_Union[Vector2D, _Mapping]] = ..., third_uniform_number: _Optional[int] = ..., third_position: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class SelfMessage(_message.Message): - __slots__ = ("self_position", "self_body_direction", "self_stamina") + __slots__ = ["self_position", "self_body_direction", "self_stamina"] SELF_POSITION_FIELD_NUMBER: _ClassVar[int] SELF_BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] SELF_STAMINA_FIELD_NUMBER: _ClassVar[int] @@ -711,7 +724,7 @@ class SelfMessage(_message.Message): def __init__(self, self_position: _Optional[_Union[Vector2D, _Mapping]] = ..., self_body_direction: _Optional[float] = ..., self_stamina: _Optional[float] = ...) -> None: ... class TeammateMessage(_message.Message): - __slots__ = ("uniform_number", "position", "body_direction") + __slots__ = ["uniform_number", "position", "body_direction"] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] POSITION_FIELD_NUMBER: _ClassVar[int] BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] @@ -721,7 +734,7 @@ class TeammateMessage(_message.Message): def __init__(self, uniform_number: _Optional[int] = ..., position: _Optional[_Union[Vector2D, _Mapping]] = ..., body_direction: _Optional[float] = ...) -> None: ... class OpponentMessage(_message.Message): - __slots__ = ("uniform_number", "position", "body_direction") + __slots__ = ["uniform_number", "position", "body_direction"] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] POSITION_FIELD_NUMBER: _ClassVar[int] BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] @@ -731,7 +744,7 @@ class OpponentMessage(_message.Message): def __init__(self, uniform_number: _Optional[int] = ..., position: _Optional[_Union[Vector2D, _Mapping]] = ..., body_direction: _Optional[float] = ...) -> None: ... class BallPlayerMessage(_message.Message): - __slots__ = ("ball_position", "ball_velocity", "uniform_number", "player_position", "body_direction") + __slots__ = ["ball_position", "ball_velocity", "uniform_number", "player_position", "body_direction"] BALL_POSITION_FIELD_NUMBER: _ClassVar[int] BALL_VELOCITY_FIELD_NUMBER: _ClassVar[int] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] @@ -745,7 +758,7 @@ class BallPlayerMessage(_message.Message): def __init__(self, ball_position: _Optional[_Union[Vector2D, _Mapping]] = ..., ball_velocity: _Optional[_Union[Vector2D, _Mapping]] = ..., uniform_number: _Optional[int] = ..., player_position: _Optional[_Union[Vector2D, _Mapping]] = ..., body_direction: _Optional[float] = ...) -> None: ... class Say(_message.Message): - __slots__ = ("ball_message", "pass_message", "intercept_message", "goalie_message", "goalie_and_player_message", "offside_line_message", "defense_line_message", "wait_request_message", "setplay_message", "pass_request_message", "stamina_message", "recovery_message", "stamina_capacity_message", "dribble_message", "ball_goalie_message", "one_player_message", "two_player_message", "three_player_message", "self_message", "teammate_message", "opponent_message", "ball_player_message") + __slots__ = ["ball_message", "pass_message", "intercept_message", "goalie_message", "goalie_and_player_message", "offside_line_message", "defense_line_message", "wait_request_message", "setplay_message", "pass_request_message", "stamina_message", "recovery_message", "stamina_capacity_message", "dribble_message", "ball_goalie_message", "one_player_message", "two_player_message", "three_player_message", "self_message", "teammate_message", "opponent_message", "ball_player_message"] BALL_MESSAGE_FIELD_NUMBER: _ClassVar[int] PASS_MESSAGE_FIELD_NUMBER: _ClassVar[int] INTERCEPT_MESSAGE_FIELD_NUMBER: _ClassVar[int] @@ -793,7 +806,7 @@ class Say(_message.Message): def __init__(self, ball_message: _Optional[_Union[BallMessage, _Mapping]] = ..., pass_message: _Optional[_Union[PassMessage, _Mapping]] = ..., intercept_message: _Optional[_Union[InterceptMessage, _Mapping]] = ..., goalie_message: _Optional[_Union[GoalieMessage, _Mapping]] = ..., goalie_and_player_message: _Optional[_Union[GoalieAndPlayerMessage, _Mapping]] = ..., offside_line_message: _Optional[_Union[OffsideLineMessage, _Mapping]] = ..., defense_line_message: _Optional[_Union[DefenseLineMessage, _Mapping]] = ..., wait_request_message: _Optional[_Union[WaitRequestMessage, _Mapping]] = ..., setplay_message: _Optional[_Union[SetplayMessage, _Mapping]] = ..., pass_request_message: _Optional[_Union[PassRequestMessage, _Mapping]] = ..., stamina_message: _Optional[_Union[StaminaMessage, _Mapping]] = ..., recovery_message: _Optional[_Union[RecoveryMessage, _Mapping]] = ..., stamina_capacity_message: _Optional[_Union[StaminaCapacityMessage, _Mapping]] = ..., dribble_message: _Optional[_Union[DribbleMessage, _Mapping]] = ..., ball_goalie_message: _Optional[_Union[BallGoalieMessage, _Mapping]] = ..., one_player_message: _Optional[_Union[OnePlayerMessage, _Mapping]] = ..., two_player_message: _Optional[_Union[TwoPlayerMessage, _Mapping]] = ..., three_player_message: _Optional[_Union[ThreePlayerMessage, _Mapping]] = ..., self_message: _Optional[_Union[SelfMessage, _Mapping]] = ..., teammate_message: _Optional[_Union[TeammateMessage, _Mapping]] = ..., opponent_message: _Optional[_Union[OpponentMessage, _Mapping]] = ..., ball_player_message: _Optional[_Union[BallPlayerMessage, _Mapping]] = ...) -> None: ... class PointTo(_message.Message): - __slots__ = ("x", "y") + __slots__ = ["x", "y"] X_FIELD_NUMBER: _ClassVar[int] Y_FIELD_NUMBER: _ClassVar[int] x: float @@ -801,11 +814,11 @@ class PointTo(_message.Message): def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ...) -> None: ... class PointToOf(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class AttentionTo(_message.Message): - __slots__ = ("side", "unum") + __slots__ = ["side", "unum"] SIDE_FIELD_NUMBER: _ClassVar[int] UNUM_FIELD_NUMBER: _ClassVar[int] side: Side @@ -813,11 +826,11 @@ class AttentionTo(_message.Message): def __init__(self, side: _Optional[_Union[Side, str]] = ..., unum: _Optional[int] = ...) -> None: ... class AttentionToOf(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class AddText(_message.Message): - __slots__ = ("level", "message") + __slots__ = ["level", "message"] LEVEL_FIELD_NUMBER: _ClassVar[int] MESSAGE_FIELD_NUMBER: _ClassVar[int] level: LoggerLevel @@ -825,7 +838,7 @@ class AddText(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., message: _Optional[str] = ...) -> None: ... class AddPoint(_message.Message): - __slots__ = ("level", "point", "color") + __slots__ = ["level", "point", "color"] LEVEL_FIELD_NUMBER: _ClassVar[int] POINT_FIELD_NUMBER: _ClassVar[int] COLOR_FIELD_NUMBER: _ClassVar[int] @@ -835,7 +848,7 @@ class AddPoint(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., point: _Optional[_Union[Vector2D, _Mapping]] = ..., color: _Optional[str] = ...) -> None: ... class AddLine(_message.Message): - __slots__ = ("level", "start", "end", "color") + __slots__ = ["level", "start", "end", "color"] LEVEL_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int] END_FIELD_NUMBER: _ClassVar[int] @@ -847,7 +860,7 @@ class AddLine(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., start: _Optional[_Union[Vector2D, _Mapping]] = ..., end: _Optional[_Union[Vector2D, _Mapping]] = ..., color: _Optional[str] = ...) -> None: ... class AddArc(_message.Message): - __slots__ = ("level", "center", "radius", "start_angle", "span_angel", "color") + __slots__ = ["level", "center", "radius", "start_angle", "span_angel", "color"] LEVEL_FIELD_NUMBER: _ClassVar[int] CENTER_FIELD_NUMBER: _ClassVar[int] RADIUS_FIELD_NUMBER: _ClassVar[int] @@ -863,7 +876,7 @@ class AddArc(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., center: _Optional[_Union[Vector2D, _Mapping]] = ..., radius: _Optional[float] = ..., start_angle: _Optional[float] = ..., span_angel: _Optional[float] = ..., color: _Optional[str] = ...) -> None: ... class AddCircle(_message.Message): - __slots__ = ("level", "center", "radius", "color", "fill") + __slots__ = ["level", "center", "radius", "color", "fill"] LEVEL_FIELD_NUMBER: _ClassVar[int] CENTER_FIELD_NUMBER: _ClassVar[int] RADIUS_FIELD_NUMBER: _ClassVar[int] @@ -877,7 +890,7 @@ class AddCircle(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., center: _Optional[_Union[Vector2D, _Mapping]] = ..., radius: _Optional[float] = ..., color: _Optional[str] = ..., fill: bool = ...) -> None: ... class AddTriangle(_message.Message): - __slots__ = ("level", "point1", "point2", "point3", "color", "fill") + __slots__ = ["level", "point1", "point2", "point3", "color", "fill"] LEVEL_FIELD_NUMBER: _ClassVar[int] POINT1_FIELD_NUMBER: _ClassVar[int] POINT2_FIELD_NUMBER: _ClassVar[int] @@ -893,7 +906,7 @@ class AddTriangle(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., point1: _Optional[_Union[Vector2D, _Mapping]] = ..., point2: _Optional[_Union[Vector2D, _Mapping]] = ..., point3: _Optional[_Union[Vector2D, _Mapping]] = ..., color: _Optional[str] = ..., fill: bool = ...) -> None: ... class AddRectangle(_message.Message): - __slots__ = ("level", "left", "top", "length", "width", "color", "fill") + __slots__ = ["level", "left", "top", "length", "width", "color", "fill"] LEVEL_FIELD_NUMBER: _ClassVar[int] LEFT_FIELD_NUMBER: _ClassVar[int] TOP_FIELD_NUMBER: _ClassVar[int] @@ -911,7 +924,7 @@ class AddRectangle(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., left: _Optional[float] = ..., top: _Optional[float] = ..., length: _Optional[float] = ..., width: _Optional[float] = ..., color: _Optional[str] = ..., fill: bool = ...) -> None: ... class AddSector(_message.Message): - __slots__ = ("level", "center", "min_radius", "max_radius", "start_angle", "span_angel", "color", "fill") + __slots__ = ["level", "center", "min_radius", "max_radius", "start_angle", "span_angel", "color", "fill"] LEVEL_FIELD_NUMBER: _ClassVar[int] CENTER_FIELD_NUMBER: _ClassVar[int] MIN_RADIUS_FIELD_NUMBER: _ClassVar[int] @@ -931,7 +944,7 @@ class AddSector(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., center: _Optional[_Union[Vector2D, _Mapping]] = ..., min_radius: _Optional[float] = ..., max_radius: _Optional[float] = ..., start_angle: _Optional[float] = ..., span_angel: _Optional[float] = ..., color: _Optional[str] = ..., fill: bool = ...) -> None: ... class AddMessage(_message.Message): - __slots__ = ("level", "position", "message", "color") + __slots__ = ["level", "position", "message", "color"] LEVEL_FIELD_NUMBER: _ClassVar[int] POSITION_FIELD_NUMBER: _ClassVar[int] MESSAGE_FIELD_NUMBER: _ClassVar[int] @@ -943,7 +956,7 @@ class AddMessage(_message.Message): def __init__(self, level: _Optional[_Union[LoggerLevel, str]] = ..., position: _Optional[_Union[Vector2D, _Mapping]] = ..., message: _Optional[str] = ..., color: _Optional[str] = ...) -> None: ... class Log(_message.Message): - __slots__ = ("add_text", "add_point", "add_line", "add_arc", "add_circle", "add_triangle", "add_rectangle", "add_sector", "add_message") + __slots__ = ["add_text", "add_point", "add_line", "add_arc", "add_circle", "add_triangle", "add_rectangle", "add_sector", "add_message"] ADD_TEXT_FIELD_NUMBER: _ClassVar[int] ADD_POINT_FIELD_NUMBER: _ClassVar[int] ADD_LINE_FIELD_NUMBER: _ClassVar[int] @@ -965,13 +978,13 @@ class Log(_message.Message): def __init__(self, add_text: _Optional[_Union[AddText, _Mapping]] = ..., add_point: _Optional[_Union[AddPoint, _Mapping]] = ..., add_line: _Optional[_Union[AddLine, _Mapping]] = ..., add_arc: _Optional[_Union[AddArc, _Mapping]] = ..., add_circle: _Optional[_Union[AddCircle, _Mapping]] = ..., add_triangle: _Optional[_Union[AddTriangle, _Mapping]] = ..., add_rectangle: _Optional[_Union[AddRectangle, _Mapping]] = ..., add_sector: _Optional[_Union[AddSector, _Mapping]] = ..., add_message: _Optional[_Union[AddMessage, _Mapping]] = ...) -> None: ... class DebugClient(_message.Message): - __slots__ = ("message",) + __slots__ = ["message"] MESSAGE_FIELD_NUMBER: _ClassVar[int] message: str def __init__(self, message: _Optional[str] = ...) -> None: ... class Body_GoToPoint(_message.Message): - __slots__ = ("target_point", "distance_threshold", "max_dash_power") + __slots__ = ["target_point", "distance_threshold", "max_dash_power"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] DISTANCE_THRESHOLD_FIELD_NUMBER: _ClassVar[int] MAX_DASH_POWER_FIELD_NUMBER: _ClassVar[int] @@ -981,7 +994,7 @@ class Body_GoToPoint(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., distance_threshold: _Optional[float] = ..., max_dash_power: _Optional[float] = ...) -> None: ... class Body_SmartKick(_message.Message): - __slots__ = ("target_point", "first_speed", "first_speed_threshold", "max_steps") + __slots__ = ["target_point", "first_speed", "first_speed_threshold", "max_steps"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] FIRST_SPEED_FIELD_NUMBER: _ClassVar[int] FIRST_SPEED_THRESHOLD_FIELD_NUMBER: _ClassVar[int] @@ -993,27 +1006,27 @@ class Body_SmartKick(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., first_speed: _Optional[float] = ..., first_speed_threshold: _Optional[float] = ..., max_steps: _Optional[int] = ...) -> None: ... class Bhv_BeforeKickOff(_message.Message): - __slots__ = ("point",) + __slots__ = ["point"] POINT_FIELD_NUMBER: _ClassVar[int] point: Vector2D def __init__(self, point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Bhv_BodyNeckToBall(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Bhv_BodyNeckToPoint(_message.Message): - __slots__ = ("point",) + __slots__ = ["point"] POINT_FIELD_NUMBER: _ClassVar[int] point: Vector2D def __init__(self, point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Bhv_Emergency(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Bhv_GoToPointLookBall(_message.Message): - __slots__ = ("target_point", "distance_threshold", "max_dash_power") + __slots__ = ["target_point", "distance_threshold", "max_dash_power"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] DISTANCE_THRESHOLD_FIELD_NUMBER: _ClassVar[int] MAX_DASH_POWER_FIELD_NUMBER: _ClassVar[int] @@ -1023,13 +1036,13 @@ class Bhv_GoToPointLookBall(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., distance_threshold: _Optional[float] = ..., max_dash_power: _Optional[float] = ...) -> None: ... class Bhv_NeckBodyToBall(_message.Message): - __slots__ = ("angle_buf",) + __slots__ = ["angle_buf"] ANGLE_BUF_FIELD_NUMBER: _ClassVar[int] angle_buf: float def __init__(self, angle_buf: _Optional[float] = ...) -> None: ... class Bhv_NeckBodyToPoint(_message.Message): - __slots__ = ("point", "angle_buf") + __slots__ = ["point", "angle_buf"] POINT_FIELD_NUMBER: _ClassVar[int] ANGLE_BUF_FIELD_NUMBER: _ClassVar[int] point: Vector2D @@ -1037,19 +1050,19 @@ class Bhv_NeckBodyToPoint(_message.Message): def __init__(self, point: _Optional[_Union[Vector2D, _Mapping]] = ..., angle_buf: _Optional[float] = ...) -> None: ... class Bhv_ScanField(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Body_AdvanceBall(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Body_ClearBall(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Body_Dribble(_message.Message): - __slots__ = ("target_point", "distance_threshold", "dash_power", "dash_count", "dodge") + __slots__ = ["target_point", "distance_threshold", "dash_power", "dash_count", "dodge"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] DISTANCE_THRESHOLD_FIELD_NUMBER: _ClassVar[int] DASH_POWER_FIELD_NUMBER: _ClassVar[int] @@ -1063,7 +1076,7 @@ class Body_Dribble(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., distance_threshold: _Optional[float] = ..., dash_power: _Optional[float] = ..., dash_count: _Optional[int] = ..., dodge: bool = ...) -> None: ... class Body_GoToPointDodge(_message.Message): - __slots__ = ("target_point", "dash_power") + __slots__ = ["target_point", "dash_power"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] DASH_POWER_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D @@ -1071,7 +1084,7 @@ class Body_GoToPointDodge(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., dash_power: _Optional[float] = ...) -> None: ... class Body_HoldBall(_message.Message): - __slots__ = ("do_turn", "turn_target_point", "kick_target_point") + __slots__ = ["do_turn", "turn_target_point", "kick_target_point"] DO_TURN_FIELD_NUMBER: _ClassVar[int] TURN_TARGET_POINT_FIELD_NUMBER: _ClassVar[int] KICK_TARGET_POINT_FIELD_NUMBER: _ClassVar[int] @@ -1081,7 +1094,7 @@ class Body_HoldBall(_message.Message): def __init__(self, do_turn: bool = ..., turn_target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., kick_target_point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Body_Intercept(_message.Message): - __slots__ = ("save_recovery", "face_point") + __slots__ = ["save_recovery", "face_point"] SAVE_RECOVERY_FIELD_NUMBER: _ClassVar[int] FACE_POINT_FIELD_NUMBER: _ClassVar[int] save_recovery: bool @@ -1089,7 +1102,7 @@ class Body_Intercept(_message.Message): def __init__(self, save_recovery: bool = ..., face_point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Body_KickOneStep(_message.Message): - __slots__ = ("target_point", "first_speed", "force_mode") + __slots__ = ["target_point", "first_speed", "force_mode"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] FIRST_SPEED_FIELD_NUMBER: _ClassVar[int] FORCE_MODE_FIELD_NUMBER: _ClassVar[int] @@ -1099,17 +1112,17 @@ class Body_KickOneStep(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., first_speed: _Optional[float] = ..., force_mode: bool = ...) -> None: ... class Body_StopBall(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Body_StopDash(_message.Message): - __slots__ = ("save_recovery",) + __slots__ = ["save_recovery"] SAVE_RECOVERY_FIELD_NUMBER: _ClassVar[int] save_recovery: bool def __init__(self, save_recovery: bool = ...) -> None: ... class Body_TackleToPoint(_message.Message): - __slots__ = ("target_point", "min_probability", "min_speed") + __slots__ = ["target_point", "min_probability", "min_speed"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] MIN_PROBABILITY_FIELD_NUMBER: _ClassVar[int] MIN_SPEED_FIELD_NUMBER: _ClassVar[int] @@ -1119,19 +1132,19 @@ class Body_TackleToPoint(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., min_probability: _Optional[float] = ..., min_speed: _Optional[float] = ...) -> None: ... class Body_TurnToAngle(_message.Message): - __slots__ = ("angle",) + __slots__ = ["angle"] ANGLE_FIELD_NUMBER: _ClassVar[int] angle: float def __init__(self, angle: _Optional[float] = ...) -> None: ... class Body_TurnToBall(_message.Message): - __slots__ = ("cycle",) + __slots__ = ["cycle"] CYCLE_FIELD_NUMBER: _ClassVar[int] cycle: int def __init__(self, cycle: _Optional[int] = ...) -> None: ... class Body_TurnToPoint(_message.Message): - __slots__ = ("target_point", "cycle") + __slots__ = ["target_point", "cycle"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] CYCLE_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D @@ -1139,25 +1152,25 @@ class Body_TurnToPoint(_message.Message): def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ..., cycle: _Optional[int] = ...) -> None: ... class Focus_MoveToPoint(_message.Message): - __slots__ = ("target_point",) + __slots__ = ["target_point"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Focus_Reset(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Neck_ScanField(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Neck_ScanPlayers(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Neck_TurnToBallAndPlayer(_message.Message): - __slots__ = ("side", "uniform_number", "count_threshold") + __slots__ = ["side", "uniform_number", "count_threshold"] SIDE_FIELD_NUMBER: _ClassVar[int] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] COUNT_THRESHOLD_FIELD_NUMBER: _ClassVar[int] @@ -1167,27 +1180,27 @@ class Neck_TurnToBallAndPlayer(_message.Message): def __init__(self, side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., count_threshold: _Optional[int] = ...) -> None: ... class Neck_TurnToBallOrScan(_message.Message): - __slots__ = ("count_threshold",) + __slots__ = ["count_threshold"] COUNT_THRESHOLD_FIELD_NUMBER: _ClassVar[int] count_threshold: int def __init__(self, count_threshold: _Optional[int] = ...) -> None: ... class Neck_TurnToBall(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Neck_TurnToGoalieOrScan(_message.Message): - __slots__ = ("count_threshold",) + __slots__ = ["count_threshold"] COUNT_THRESHOLD_FIELD_NUMBER: _ClassVar[int] count_threshold: int def __init__(self, count_threshold: _Optional[int] = ...) -> None: ... class Neck_TurnToLowConfTeammate(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class Neck_TurnToPlayerOrScan(_message.Message): - __slots__ = ("side", "uniform_number", "count_threshold") + __slots__ = ["side", "uniform_number", "count_threshold"] SIDE_FIELD_NUMBER: _ClassVar[int] UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] COUNT_THRESHOLD_FIELD_NUMBER: _ClassVar[int] @@ -1197,53 +1210,53 @@ class Neck_TurnToPlayerOrScan(_message.Message): def __init__(self, side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., count_threshold: _Optional[int] = ...) -> None: ... class Neck_TurnToPoint(_message.Message): - __slots__ = ("target_point",) + __slots__ = ["target_point"] TARGET_POINT_FIELD_NUMBER: _ClassVar[int] target_point: Vector2D def __init__(self, target_point: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... class Neck_TurnToRelative(_message.Message): - __slots__ = ("angle",) + __slots__ = ["angle"] ANGLE_FIELD_NUMBER: _ClassVar[int] angle: float def __init__(self, angle: _Optional[float] = ...) -> None: ... class View_ChangeWidth(_message.Message): - __slots__ = ("view_width",) + __slots__ = ["view_width"] VIEW_WIDTH_FIELD_NUMBER: _ClassVar[int] view_width: ViewWidth def __init__(self, view_width: _Optional[_Union[ViewWidth, str]] = ...) -> None: ... class View_Normal(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class View_Synch(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class View_Wide(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosGoalie(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosGoalieMove(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosGoalieKick(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosShoot(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosChainAction(_message.Message): - __slots__ = ("direct_pass", "lead_pass", "through_pass", "short_dribble", "long_dribble", "cross", "simple_pass", "simple_dribble", "simple_shoot") + __slots__ = ["direct_pass", "lead_pass", "through_pass", "short_dribble", "long_dribble", "cross", "simple_pass", "simple_dribble", "simple_shoot"] DIRECT_PASS_FIELD_NUMBER: _ClassVar[int] LEAD_PASS_FIELD_NUMBER: _ClassVar[int] THROUGH_PASS_FIELD_NUMBER: _ClassVar[int] @@ -1265,27 +1278,27 @@ class HeliosChainAction(_message.Message): def __init__(self, direct_pass: bool = ..., lead_pass: bool = ..., through_pass: bool = ..., short_dribble: bool = ..., long_dribble: bool = ..., cross: bool = ..., simple_pass: bool = ..., simple_dribble: bool = ..., simple_shoot: bool = ...) -> None: ... class HeliosBasicOffensive(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosBasicMove(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosSetPlay(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosPenalty(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... class HeliosCommunicaion(_message.Message): - __slots__ = () + __slots__ = [] def __init__(self) -> None: ... -class Action(_message.Message): - __slots__ = ("dash", "turn", "kick", "tackle", "catch", "move", "turn_neck", "change_view", "say", "point_to", "point_to_of", "attention_to", "attention_to_of", "log", "debug_client", "body_go_to_point", "body_smart_kick", "bhv_before_kick_off", "bhv_body_neck_to_ball", "bhv_body_neck_to_point", "bhv_emergency", "bhv_go_to_point_look_ball", "bhv_neck_body_to_ball", "bhv_neck_body_to_point", "bhv_scan_field", "body_advance_ball", "body_clear_ball", "body_dribble", "body_go_to_point_dodge", "body_hold_ball", "body_intercept", "body_kick_one_step", "body_stop_ball", "body_stop_dash", "body_tackle_to_point", "body_turn_to_angle", "body_turn_to_ball", "body_turn_to_point", "focus_move_to_point", "focus_reset", "neck_scan_field", "neck_scan_players", "neck_turn_to_ball_and_player", "neck_turn_to_ball_or_scan", "neck_turn_to_ball", "neck_turn_to_goalie_or_scan", "neck_turn_to_low_conf_teammate", "neck_turn_to_player_or_scan", "neck_turn_to_point", "neck_turn_to_relative", "view_change_width", "view_normal", "view_synch", "view_wide", "helios_goalie", "helios_goalie_move", "helios_goalie_kick", "helios_shoot", "helios_chain_action", "helios_basic_offensive", "helios_basic_move", "helios_set_play", "helios_penalty", "helios_communication") +class PlayerAction(_message.Message): + __slots__ = ["dash", "turn", "kick", "tackle", "catch", "move", "turn_neck", "change_view", "say", "point_to", "point_to_of", "attention_to", "attention_to_of", "log", "debug_client", "body_go_to_point", "body_smart_kick", "bhv_before_kick_off", "bhv_body_neck_to_ball", "bhv_body_neck_to_point", "bhv_emergency", "bhv_go_to_point_look_ball", "bhv_neck_body_to_ball", "bhv_neck_body_to_point", "bhv_scan_field", "body_advance_ball", "body_clear_ball", "body_dribble", "body_go_to_point_dodge", "body_hold_ball", "body_intercept", "body_kick_one_step", "body_stop_ball", "body_stop_dash", "body_tackle_to_point", "body_turn_to_angle", "body_turn_to_ball", "body_turn_to_point", "focus_move_to_point", "focus_reset", "neck_scan_field", "neck_scan_players", "neck_turn_to_ball_and_player", "neck_turn_to_ball_or_scan", "neck_turn_to_ball", "neck_turn_to_goalie_or_scan", "neck_turn_to_low_conf_teammate", "neck_turn_to_player_or_scan", "neck_turn_to_point", "neck_turn_to_relative", "view_change_width", "view_normal", "view_synch", "view_wide", "helios_goalie", "helios_goalie_move", "helios_goalie_kick", "helios_shoot", "helios_chain_action", "helios_basic_offensive", "helios_basic_move", "helios_set_play", "helios_penalty", "helios_communication"] DASH_FIELD_NUMBER: _ClassVar[int] TURN_FIELD_NUMBER: _ClassVar[int] KICK_FIELD_NUMBER: _ClassVar[int] @@ -1416,15 +1429,115 @@ class Action(_message.Message): helios_communication: HeliosCommunicaion def __init__(self, dash: _Optional[_Union[Dash, _Mapping]] = ..., turn: _Optional[_Union[Turn, _Mapping]] = ..., kick: _Optional[_Union[Kick, _Mapping]] = ..., tackle: _Optional[_Union[Tackle, _Mapping]] = ..., catch: _Optional[_Union[Catch, _Mapping]] = ..., move: _Optional[_Union[Move, _Mapping]] = ..., turn_neck: _Optional[_Union[TurnNeck, _Mapping]] = ..., change_view: _Optional[_Union[ChangeView, _Mapping]] = ..., say: _Optional[_Union[Say, _Mapping]] = ..., point_to: _Optional[_Union[PointTo, _Mapping]] = ..., point_to_of: _Optional[_Union[PointToOf, _Mapping]] = ..., attention_to: _Optional[_Union[AttentionTo, _Mapping]] = ..., attention_to_of: _Optional[_Union[AttentionToOf, _Mapping]] = ..., log: _Optional[_Union[Log, _Mapping]] = ..., debug_client: _Optional[_Union[DebugClient, _Mapping]] = ..., body_go_to_point: _Optional[_Union[Body_GoToPoint, _Mapping]] = ..., body_smart_kick: _Optional[_Union[Body_SmartKick, _Mapping]] = ..., bhv_before_kick_off: _Optional[_Union[Bhv_BeforeKickOff, _Mapping]] = ..., bhv_body_neck_to_ball: _Optional[_Union[Bhv_BodyNeckToBall, _Mapping]] = ..., bhv_body_neck_to_point: _Optional[_Union[Bhv_BodyNeckToPoint, _Mapping]] = ..., bhv_emergency: _Optional[_Union[Bhv_Emergency, _Mapping]] = ..., bhv_go_to_point_look_ball: _Optional[_Union[Bhv_GoToPointLookBall, _Mapping]] = ..., bhv_neck_body_to_ball: _Optional[_Union[Bhv_NeckBodyToBall, _Mapping]] = ..., bhv_neck_body_to_point: _Optional[_Union[Bhv_NeckBodyToPoint, _Mapping]] = ..., bhv_scan_field: _Optional[_Union[Bhv_ScanField, _Mapping]] = ..., body_advance_ball: _Optional[_Union[Body_AdvanceBall, _Mapping]] = ..., body_clear_ball: _Optional[_Union[Body_ClearBall, _Mapping]] = ..., body_dribble: _Optional[_Union[Body_Dribble, _Mapping]] = ..., body_go_to_point_dodge: _Optional[_Union[Body_GoToPointDodge, _Mapping]] = ..., body_hold_ball: _Optional[_Union[Body_HoldBall, _Mapping]] = ..., body_intercept: _Optional[_Union[Body_Intercept, _Mapping]] = ..., body_kick_one_step: _Optional[_Union[Body_KickOneStep, _Mapping]] = ..., body_stop_ball: _Optional[_Union[Body_StopBall, _Mapping]] = ..., body_stop_dash: _Optional[_Union[Body_StopDash, _Mapping]] = ..., body_tackle_to_point: _Optional[_Union[Body_TackleToPoint, _Mapping]] = ..., body_turn_to_angle: _Optional[_Union[Body_TurnToAngle, _Mapping]] = ..., body_turn_to_ball: _Optional[_Union[Body_TurnToBall, _Mapping]] = ..., body_turn_to_point: _Optional[_Union[Body_TurnToPoint, _Mapping]] = ..., focus_move_to_point: _Optional[_Union[Focus_MoveToPoint, _Mapping]] = ..., focus_reset: _Optional[_Union[Focus_Reset, _Mapping]] = ..., neck_scan_field: _Optional[_Union[Neck_ScanField, _Mapping]] = ..., neck_scan_players: _Optional[_Union[Neck_ScanPlayers, _Mapping]] = ..., neck_turn_to_ball_and_player: _Optional[_Union[Neck_TurnToBallAndPlayer, _Mapping]] = ..., neck_turn_to_ball_or_scan: _Optional[_Union[Neck_TurnToBallOrScan, _Mapping]] = ..., neck_turn_to_ball: _Optional[_Union[Neck_TurnToBall, _Mapping]] = ..., neck_turn_to_goalie_or_scan: _Optional[_Union[Neck_TurnToGoalieOrScan, _Mapping]] = ..., neck_turn_to_low_conf_teammate: _Optional[_Union[Neck_TurnToLowConfTeammate, _Mapping]] = ..., neck_turn_to_player_or_scan: _Optional[_Union[Neck_TurnToPlayerOrScan, _Mapping]] = ..., neck_turn_to_point: _Optional[_Union[Neck_TurnToPoint, _Mapping]] = ..., neck_turn_to_relative: _Optional[_Union[Neck_TurnToRelative, _Mapping]] = ..., view_change_width: _Optional[_Union[View_ChangeWidth, _Mapping]] = ..., view_normal: _Optional[_Union[View_Normal, _Mapping]] = ..., view_synch: _Optional[_Union[View_Synch, _Mapping]] = ..., view_wide: _Optional[_Union[View_Wide, _Mapping]] = ..., helios_goalie: _Optional[_Union[HeliosGoalie, _Mapping]] = ..., helios_goalie_move: _Optional[_Union[HeliosGoalieMove, _Mapping]] = ..., helios_goalie_kick: _Optional[_Union[HeliosGoalieKick, _Mapping]] = ..., helios_shoot: _Optional[_Union[HeliosShoot, _Mapping]] = ..., helios_chain_action: _Optional[_Union[HeliosChainAction, _Mapping]] = ..., helios_basic_offensive: _Optional[_Union[HeliosBasicOffensive, _Mapping]] = ..., helios_basic_move: _Optional[_Union[HeliosBasicMove, _Mapping]] = ..., helios_set_play: _Optional[_Union[HeliosSetPlay, _Mapping]] = ..., helios_penalty: _Optional[_Union[HeliosPenalty, _Mapping]] = ..., helios_communication: _Optional[_Union[HeliosCommunicaion, _Mapping]] = ...) -> None: ... -class Actions(_message.Message): - __slots__ = ("actions",) +class PlayerActions(_message.Message): + __slots__ = ["actions"] + ACTIONS_FIELD_NUMBER: _ClassVar[int] + actions: _containers.RepeatedCompositeFieldContainer[PlayerAction] + def __init__(self, actions: _Optional[_Iterable[_Union[PlayerAction, _Mapping]]] = ...) -> None: ... + +class ChangePlayerType(_message.Message): + __slots__ = ["uniform_number", "type"] + UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + uniform_number: int + type: int + def __init__(self, uniform_number: _Optional[int] = ..., type: _Optional[int] = ...) -> None: ... + +class DoHeliosSubstitute(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DoHeliosSayPlayerTypes(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class CoachAction(_message.Message): + __slots__ = ["change_player_types", "do_helios_substitute", "do_helios_say_player_types"] + CHANGE_PLAYER_TYPES_FIELD_NUMBER: _ClassVar[int] + DO_HELIOS_SUBSTITUTE_FIELD_NUMBER: _ClassVar[int] + DO_HELIOS_SAY_PLAYER_TYPES_FIELD_NUMBER: _ClassVar[int] + change_player_types: ChangePlayerType + do_helios_substitute: DoHeliosSubstitute + do_helios_say_player_types: DoHeliosSayPlayerTypes + def __init__(self, change_player_types: _Optional[_Union[ChangePlayerType, _Mapping]] = ..., do_helios_substitute: _Optional[_Union[DoHeliosSubstitute, _Mapping]] = ..., do_helios_say_player_types: _Optional[_Union[DoHeliosSayPlayerTypes, _Mapping]] = ...) -> None: ... + +class CoachActions(_message.Message): + __slots__ = ["actions"] ACTIONS_FIELD_NUMBER: _ClassVar[int] - actions: _containers.RepeatedCompositeFieldContainer[Action] - def __init__(self, actions: _Optional[_Iterable[_Union[Action, _Mapping]]] = ...) -> None: ... + actions: _containers.RepeatedCompositeFieldContainer[CoachAction] + def __init__(self, actions: _Optional[_Iterable[_Union[CoachAction, _Mapping]]] = ...) -> None: ... + +class DoKickOff(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DoMoveBall(_message.Message): + __slots__ = ["position", "velocity"] + POSITION_FIELD_NUMBER: _ClassVar[int] + VELOCITY_FIELD_NUMBER: _ClassVar[int] + position: Vector2D + velocity: Vector2D + def __init__(self, position: _Optional[_Union[Vector2D, _Mapping]] = ..., velocity: _Optional[_Union[Vector2D, _Mapping]] = ...) -> None: ... + +class DoMovePlayer(_message.Message): + __slots__ = ["our_side", "uniform_number", "position", "body_direction"] + OUR_SIDE_FIELD_NUMBER: _ClassVar[int] + UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] + POSITION_FIELD_NUMBER: _ClassVar[int] + BODY_DIRECTION_FIELD_NUMBER: _ClassVar[int] + our_side: bool + uniform_number: int + position: Vector2D + body_direction: float + def __init__(self, our_side: bool = ..., uniform_number: _Optional[int] = ..., position: _Optional[_Union[Vector2D, _Mapping]] = ..., body_direction: _Optional[float] = ...) -> None: ... + +class DoRecover(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DoChangeMode(_message.Message): + __slots__ = ["game_mode_type", "side"] + GAME_MODE_TYPE_FIELD_NUMBER: _ClassVar[int] + SIDE_FIELD_NUMBER: _ClassVar[int] + game_mode_type: GameModeType + side: Side + def __init__(self, game_mode_type: _Optional[_Union[GameModeType, str]] = ..., side: _Optional[_Union[Side, str]] = ...) -> None: ... + +class DoChangePlayerType(_message.Message): + __slots__ = ["our_side", "uniform_number", "type"] + OUR_SIDE_FIELD_NUMBER: _ClassVar[int] + UNIFORM_NUMBER_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + our_side: bool + uniform_number: int + type: int + def __init__(self, our_side: bool = ..., uniform_number: _Optional[int] = ..., type: _Optional[int] = ...) -> None: ... + +class TrainerAction(_message.Message): + __slots__ = ["do_kick_off", "do_move_ball", "do_move_player", "do_recover", "do_change_mode", "do_change_player_type"] + DO_KICK_OFF_FIELD_NUMBER: _ClassVar[int] + DO_MOVE_BALL_FIELD_NUMBER: _ClassVar[int] + DO_MOVE_PLAYER_FIELD_NUMBER: _ClassVar[int] + DO_RECOVER_FIELD_NUMBER: _ClassVar[int] + DO_CHANGE_MODE_FIELD_NUMBER: _ClassVar[int] + DO_CHANGE_PLAYER_TYPE_FIELD_NUMBER: _ClassVar[int] + do_kick_off: DoKickOff + do_move_ball: DoMoveBall + do_move_player: DoMovePlayer + do_recover: DoRecover + do_change_mode: DoChangeMode + do_change_player_type: DoChangePlayerType + def __init__(self, do_kick_off: _Optional[_Union[DoKickOff, _Mapping]] = ..., do_move_ball: _Optional[_Union[DoMoveBall, _Mapping]] = ..., do_move_player: _Optional[_Union[DoMovePlayer, _Mapping]] = ..., do_recover: _Optional[_Union[DoRecover, _Mapping]] = ..., do_change_mode: _Optional[_Union[DoChangeMode, _Mapping]] = ..., do_change_player_type: _Optional[_Union[DoChangePlayerType, _Mapping]] = ...) -> None: ... + +class TrainerActions(_message.Message): + __slots__ = ["actions"] + ACTIONS_FIELD_NUMBER: _ClassVar[int] + actions: _containers.RepeatedCompositeFieldContainer[TrainerAction] + def __init__(self, actions: _Optional[_Iterable[_Union[TrainerAction, _Mapping]]] = ...) -> None: ... class ServerParam(_message.Message): - __slots__ = ("goal_width", "inertia_moment", "player_size", "player_decay", "player_rand", "player_weight", "player_speed_max", "player_accel_max", "stamina_max", "stamina_inc_max", "recover_init", "recover_dec_thr", "recover_min", "recover_dec", "effort_init", "effort_dec_thr", "effort_min", "effort_dec", "effort_inc_thr", "effort_inc", "kick_rand", "team_actuator_noise", "player_rand_factor_l", "player_rand_factor_r", "kick_rand_factor_l", "kick_rand_factor_r", "ball_size", "ball_decay", "ball_rand", "ball_weight", "ball_speed_max", "ball_accel_max", "dash_power_rate", "kick_power_rate", "kickable_margin", "control_radius", "control_radius_width", "max_power", "min_power", "max_moment", "min_moment", "max_neck_moment", "min_neck_moment", "max_neck_angle", "min_neck_angle", "visible_angle", "visible_distance", "wind_dir", "wind_force", "wind_angle", "wind_rand", "kickable_area", "catch_area_l", "catch_area_w", "catch_probability", "goalie_max_moves", "corner_kick_margin", "offside_active_area_size", "wind_none", "use_wind_random", "coach_say_count_max", "coach_say_msg_size", "clang_win_size", "clang_define_win", "clang_meta_win", "clang_advice_win", "clang_info_win", "clang_mess_delay", "clang_mess_per_cycle", "half_time", "simulator_step", "send_step", "recv_step", "sense_body_step", "lcm_step", "player_say_msg_size", "player_hear_max", "player_hear_inc", "player_hear_decay", "catch_ban_cycle", "slow_down_factor", "use_offside", "kickoff_offside", "offside_kick_margin", "audio_cut_dist", "dist_quantize_step", "landmark_dist_quantize_step", "dir_quantize_step", "dist_quantize_step_l", "dist_quantize_step_r", "landmark_dist_quantize_step_l", "landmark_dist_quantize_step_r", "dir_quantize_step_l", "dir_quantize_step_r", "coach_mode", "coach_with_referee_mode", "use_old_coach_hear", "slowness_on_top_for_left_team", "slowness_on_top_for_right_team", "start_goal_l", "start_goal_r", "fullstate_l", "fullstate_r", "drop_ball_time", "synch_mode", "synch_offset", "synch_micro_sleep", "point_to_ban", "point_to_duration", "player_port", "trainer_port", "online_coach_port", "verbose_mode", "coach_send_vi_step", "replay_file", "landmark_file", "send_comms", "text_logging", "game_logging", "game_log_version", "text_log_dir", "game_log_dir", "text_log_fixed_name", "game_log_fixed_name", "use_text_log_fixed", "use_game_log_fixed", "use_text_log_dated", "use_game_log_dated", "log_date_format", "log_times", "record_message", "text_log_compression", "game_log_compression", "use_profile", "tackle_dist", "tackle_back_dist", "tackle_width", "tackle_exponent", "tackle_cycles", "tackle_power_rate", "freeform_wait_period", "freeform_send_period", "free_kick_faults", "back_passes", "proper_goal_kicks", "stopped_ball_vel", "max_goal_kicks", "clang_del_win", "clang_rule_win", "auto_mode", "kick_off_wait", "connect_wait", "game_over_wait", "team_l_start", "team_r_start", "keepaway_mode", "keepaway_length", "keepaway_width", "keepaway_logging", "keepaway_log_dir", "keepaway_log_fixed_name", "keepaway_log_fixed", "keepaway_log_dated", "keepaway_start", "nr_normal_halfs", "nr_extra_halfs", "penalty_shoot_outs", "pen_before_setup_wait", "pen_setup_wait", "pen_ready_wait", "pen_taken_wait", "pen_nr_kicks", "pen_max_extra_kicks", "pen_dist_x", "pen_random_winner", "pen_allow_mult_kicks", "pen_max_goalie_dist_x", "pen_coach_moves_players", "module_dir", "ball_stuck_area", "coach_msg_file", "max_tackle_power", "max_back_tackle_power", "player_speed_max_min", "extra_stamina", "synch_see_offset", "extra_half_time", "stamina_capacity", "max_dash_angle", "min_dash_angle", "dash_angle_step", "side_dash_rate", "back_dash_rate", "max_dash_power", "min_dash_power", "tackle_rand_factor", "foul_detect_probability", "foul_exponent", "foul_cycles", "golden_goal", "red_card_probability", "illegal_defense_duration", "illegal_defense_number", "illegal_defense_dist_x", "illegal_defense_width", "fixed_teamname_l", "fixed_teamname_r", "max_catch_angle", "min_catch_angle", "random_seed", "long_kick_power_factor", "long_kick_delay", "max_monitors", "catchable_area", "real_speed_max", "pitch_half_length", "pitch_half_width", "our_penalty_area_line_x", "their_penalty_area_line_x", "penalty_area_half_width", "penalty_area_length") - GOAL_WIDTH_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["agent_type", "inertia_moment", "player_size", "player_decay", "player_rand", "player_weight", "player_speed_max", "player_accel_max", "stamina_max", "stamina_inc_max", "recover_init", "recover_dec_thr", "recover_min", "recover_dec", "effort_init", "effort_dec_thr", "effort_min", "effort_dec", "effort_inc_thr", "effort_inc", "kick_rand", "team_actuator_noise", "player_rand_factor_l", "player_rand_factor_r", "kick_rand_factor_l", "kick_rand_factor_r", "ball_size", "ball_decay", "ball_rand", "ball_weight", "ball_speed_max", "ball_accel_max", "dash_power_rate", "kick_power_rate", "kickable_margin", "control_radius", "control_radius_width", "max_power", "min_power", "max_moment", "min_moment", "max_neck_moment", "min_neck_moment", "max_neck_angle", "min_neck_angle", "visible_angle", "visible_distance", "wind_dir", "wind_force", "wind_angle", "wind_rand", "kickable_area", "catch_area_l", "catch_area_w", "catch_probability", "goalie_max_moves", "corner_kick_margin", "offside_active_area_size", "wind_none", "use_wind_random", "coach_say_count_max", "coach_say_msg_size", "clang_win_size", "clang_define_win", "clang_meta_win", "clang_advice_win", "clang_info_win", "clang_mess_delay", "clang_mess_per_cycle", "half_time", "simulator_step", "send_step", "recv_step", "sense_body_step", "lcm_step", "player_say_msg_size", "player_hear_max", "player_hear_inc", "player_hear_decay", "catch_ban_cycle", "slow_down_factor", "use_offside", "kickoff_offside", "offside_kick_margin", "audio_cut_dist", "dist_quantize_step", "landmark_dist_quantize_step", "dir_quantize_step", "dist_quantize_step_l", "dist_quantize_step_r", "landmark_dist_quantize_step_l", "landmark_dist_quantize_step_r", "dir_quantize_step_l", "dir_quantize_step_r", "coach_mode", "coach_with_referee_mode", "use_old_coach_hear", "slowness_on_top_for_left_team", "slowness_on_top_for_right_team", "start_goal_l", "start_goal_r", "fullstate_l", "fullstate_r", "drop_ball_time", "synch_mode", "synch_offset", "synch_micro_sleep", "point_to_ban", "point_to_duration", "player_port", "trainer_port", "online_coach_port", "verbose_mode", "coach_send_vi_step", "replay_file", "landmark_file", "send_comms", "text_logging", "game_logging", "game_log_version", "text_log_dir", "game_log_dir", "text_log_fixed_name", "game_log_fixed_name", "use_text_log_fixed", "use_game_log_fixed", "use_text_log_dated", "use_game_log_dated", "log_date_format", "log_times", "record_message", "text_log_compression", "game_log_compression", "use_profile", "tackle_dist", "tackle_back_dist", "tackle_width", "tackle_exponent", "tackle_cycles", "tackle_power_rate", "freeform_wait_period", "freeform_send_period", "free_kick_faults", "back_passes", "proper_goal_kicks", "stopped_ball_vel", "max_goal_kicks", "clang_del_win", "clang_rule_win", "auto_mode", "kick_off_wait", "connect_wait", "game_over_wait", "team_l_start", "team_r_start", "keepaway_mode", "keepaway_length", "keepaway_width", "keepaway_logging", "keepaway_log_dir", "keepaway_log_fixed_name", "keepaway_log_fixed", "keepaway_log_dated", "keepaway_start", "nr_normal_halfs", "nr_extra_halfs", "penalty_shoot_outs", "pen_before_setup_wait", "pen_setup_wait", "pen_ready_wait", "pen_taken_wait", "pen_nr_kicks", "pen_max_extra_kicks", "pen_dist_x", "pen_random_winner", "pen_allow_mult_kicks", "pen_max_goalie_dist_x", "pen_coach_moves_players", "module_dir", "ball_stuck_area", "coach_msg_file", "max_tackle_power", "max_back_tackle_power", "player_speed_max_min", "extra_stamina", "synch_see_offset", "extra_half_time", "stamina_capacity", "max_dash_angle", "min_dash_angle", "dash_angle_step", "side_dash_rate", "back_dash_rate", "max_dash_power", "min_dash_power", "tackle_rand_factor", "foul_detect_probability", "foul_exponent", "foul_cycles", "golden_goal", "red_card_probability", "illegal_defense_duration", "illegal_defense_number", "illegal_defense_dist_x", "illegal_defense_width", "fixed_teamname_l", "fixed_teamname_r", "max_catch_angle", "min_catch_angle", "random_seed", "long_kick_power_factor", "long_kick_delay", "max_monitors", "catchable_area", "real_speed_max", "pitch_half_length", "pitch_half_width", "our_penalty_area_line_x", "their_penalty_area_line_x", "penalty_area_half_width", "penalty_area_length", "goal_width"] + AGENT_TYPE_FIELD_NUMBER: _ClassVar[int] INERTIA_MOMENT_FIELD_NUMBER: _ClassVar[int] PLAYER_SIZE_FIELD_NUMBER: _ClassVar[int] PLAYER_DECAY_FIELD_NUMBER: _ClassVar[int] @@ -1645,7 +1758,8 @@ class ServerParam(_message.Message): THEIR_PENALTY_AREA_LINE_X_FIELD_NUMBER: _ClassVar[int] PENALTY_AREA_HALF_WIDTH_FIELD_NUMBER: _ClassVar[int] PENALTY_AREA_LENGTH_FIELD_NUMBER: _ClassVar[int] - goal_width: float + GOAL_WIDTH_FIELD_NUMBER: _ClassVar[int] + agent_type: AgentType inertia_moment: float player_size: float player_decay: float @@ -1866,10 +1980,12 @@ class ServerParam(_message.Message): their_penalty_area_line_x: float penalty_area_half_width: float penalty_area_length: float - def __init__(self, goal_width: _Optional[float] = ..., inertia_moment: _Optional[float] = ..., player_size: _Optional[float] = ..., player_decay: _Optional[float] = ..., player_rand: _Optional[float] = ..., player_weight: _Optional[float] = ..., player_speed_max: _Optional[float] = ..., player_accel_max: _Optional[float] = ..., stamina_max: _Optional[float] = ..., stamina_inc_max: _Optional[float] = ..., recover_init: _Optional[float] = ..., recover_dec_thr: _Optional[float] = ..., recover_min: _Optional[float] = ..., recover_dec: _Optional[float] = ..., effort_init: _Optional[float] = ..., effort_dec_thr: _Optional[float] = ..., effort_min: _Optional[float] = ..., effort_dec: _Optional[float] = ..., effort_inc_thr: _Optional[float] = ..., effort_inc: _Optional[float] = ..., kick_rand: _Optional[float] = ..., team_actuator_noise: bool = ..., player_rand_factor_l: _Optional[float] = ..., player_rand_factor_r: _Optional[float] = ..., kick_rand_factor_l: _Optional[float] = ..., kick_rand_factor_r: _Optional[float] = ..., ball_size: _Optional[float] = ..., ball_decay: _Optional[float] = ..., ball_rand: _Optional[float] = ..., ball_weight: _Optional[float] = ..., ball_speed_max: _Optional[float] = ..., ball_accel_max: _Optional[float] = ..., dash_power_rate: _Optional[float] = ..., kick_power_rate: _Optional[float] = ..., kickable_margin: _Optional[float] = ..., control_radius: _Optional[float] = ..., control_radius_width: _Optional[float] = ..., max_power: _Optional[float] = ..., min_power: _Optional[float] = ..., max_moment: _Optional[float] = ..., min_moment: _Optional[float] = ..., max_neck_moment: _Optional[float] = ..., min_neck_moment: _Optional[float] = ..., max_neck_angle: _Optional[float] = ..., min_neck_angle: _Optional[float] = ..., visible_angle: _Optional[float] = ..., visible_distance: _Optional[float] = ..., wind_dir: _Optional[float] = ..., wind_force: _Optional[float] = ..., wind_angle: _Optional[float] = ..., wind_rand: _Optional[float] = ..., kickable_area: _Optional[float] = ..., catch_area_l: _Optional[float] = ..., catch_area_w: _Optional[float] = ..., catch_probability: _Optional[float] = ..., goalie_max_moves: _Optional[int] = ..., corner_kick_margin: _Optional[float] = ..., offside_active_area_size: _Optional[float] = ..., wind_none: bool = ..., use_wind_random: bool = ..., coach_say_count_max: _Optional[int] = ..., coach_say_msg_size: _Optional[int] = ..., clang_win_size: _Optional[int] = ..., clang_define_win: _Optional[int] = ..., clang_meta_win: _Optional[int] = ..., clang_advice_win: _Optional[int] = ..., clang_info_win: _Optional[int] = ..., clang_mess_delay: _Optional[int] = ..., clang_mess_per_cycle: _Optional[int] = ..., half_time: _Optional[int] = ..., simulator_step: _Optional[int] = ..., send_step: _Optional[int] = ..., recv_step: _Optional[int] = ..., sense_body_step: _Optional[int] = ..., lcm_step: _Optional[int] = ..., player_say_msg_size: _Optional[int] = ..., player_hear_max: _Optional[int] = ..., player_hear_inc: _Optional[int] = ..., player_hear_decay: _Optional[int] = ..., catch_ban_cycle: _Optional[int] = ..., slow_down_factor: _Optional[int] = ..., use_offside: bool = ..., kickoff_offside: bool = ..., offside_kick_margin: _Optional[float] = ..., audio_cut_dist: _Optional[float] = ..., dist_quantize_step: _Optional[float] = ..., landmark_dist_quantize_step: _Optional[float] = ..., dir_quantize_step: _Optional[float] = ..., dist_quantize_step_l: _Optional[float] = ..., dist_quantize_step_r: _Optional[float] = ..., landmark_dist_quantize_step_l: _Optional[float] = ..., landmark_dist_quantize_step_r: _Optional[float] = ..., dir_quantize_step_l: _Optional[float] = ..., dir_quantize_step_r: _Optional[float] = ..., coach_mode: bool = ..., coach_with_referee_mode: bool = ..., use_old_coach_hear: bool = ..., slowness_on_top_for_left_team: _Optional[float] = ..., slowness_on_top_for_right_team: _Optional[float] = ..., start_goal_l: _Optional[int] = ..., start_goal_r: _Optional[int] = ..., fullstate_l: bool = ..., fullstate_r: bool = ..., drop_ball_time: _Optional[int] = ..., synch_mode: bool = ..., synch_offset: _Optional[int] = ..., synch_micro_sleep: _Optional[int] = ..., point_to_ban: _Optional[int] = ..., point_to_duration: _Optional[int] = ..., player_port: _Optional[int] = ..., trainer_port: _Optional[int] = ..., online_coach_port: _Optional[int] = ..., verbose_mode: bool = ..., coach_send_vi_step: _Optional[int] = ..., replay_file: _Optional[str] = ..., landmark_file: _Optional[str] = ..., send_comms: bool = ..., text_logging: bool = ..., game_logging: bool = ..., game_log_version: _Optional[int] = ..., text_log_dir: _Optional[str] = ..., game_log_dir: _Optional[str] = ..., text_log_fixed_name: _Optional[str] = ..., game_log_fixed_name: _Optional[str] = ..., use_text_log_fixed: bool = ..., use_game_log_fixed: bool = ..., use_text_log_dated: bool = ..., use_game_log_dated: bool = ..., log_date_format: _Optional[str] = ..., log_times: bool = ..., record_message: bool = ..., text_log_compression: _Optional[int] = ..., game_log_compression: _Optional[int] = ..., use_profile: bool = ..., tackle_dist: _Optional[float] = ..., tackle_back_dist: _Optional[float] = ..., tackle_width: _Optional[float] = ..., tackle_exponent: _Optional[float] = ..., tackle_cycles: _Optional[int] = ..., tackle_power_rate: _Optional[float] = ..., freeform_wait_period: _Optional[int] = ..., freeform_send_period: _Optional[int] = ..., free_kick_faults: bool = ..., back_passes: bool = ..., proper_goal_kicks: bool = ..., stopped_ball_vel: _Optional[float] = ..., max_goal_kicks: _Optional[int] = ..., clang_del_win: _Optional[int] = ..., clang_rule_win: _Optional[int] = ..., auto_mode: bool = ..., kick_off_wait: _Optional[int] = ..., connect_wait: _Optional[int] = ..., game_over_wait: _Optional[int] = ..., team_l_start: _Optional[str] = ..., team_r_start: _Optional[str] = ..., keepaway_mode: bool = ..., keepaway_length: _Optional[float] = ..., keepaway_width: _Optional[float] = ..., keepaway_logging: bool = ..., keepaway_log_dir: _Optional[str] = ..., keepaway_log_fixed_name: _Optional[str] = ..., keepaway_log_fixed: bool = ..., keepaway_log_dated: bool = ..., keepaway_start: _Optional[int] = ..., nr_normal_halfs: _Optional[int] = ..., nr_extra_halfs: _Optional[int] = ..., penalty_shoot_outs: bool = ..., pen_before_setup_wait: _Optional[int] = ..., pen_setup_wait: _Optional[int] = ..., pen_ready_wait: _Optional[int] = ..., pen_taken_wait: _Optional[int] = ..., pen_nr_kicks: _Optional[int] = ..., pen_max_extra_kicks: _Optional[int] = ..., pen_dist_x: _Optional[float] = ..., pen_random_winner: bool = ..., pen_allow_mult_kicks: bool = ..., pen_max_goalie_dist_x: _Optional[float] = ..., pen_coach_moves_players: bool = ..., module_dir: _Optional[str] = ..., ball_stuck_area: _Optional[float] = ..., coach_msg_file: _Optional[str] = ..., max_tackle_power: _Optional[float] = ..., max_back_tackle_power: _Optional[float] = ..., player_speed_max_min: _Optional[float] = ..., extra_stamina: _Optional[float] = ..., synch_see_offset: _Optional[int] = ..., extra_half_time: _Optional[int] = ..., stamina_capacity: _Optional[float] = ..., max_dash_angle: _Optional[float] = ..., min_dash_angle: _Optional[float] = ..., dash_angle_step: _Optional[float] = ..., side_dash_rate: _Optional[float] = ..., back_dash_rate: _Optional[float] = ..., max_dash_power: _Optional[float] = ..., min_dash_power: _Optional[float] = ..., tackle_rand_factor: _Optional[float] = ..., foul_detect_probability: _Optional[float] = ..., foul_exponent: _Optional[float] = ..., foul_cycles: _Optional[int] = ..., golden_goal: bool = ..., red_card_probability: _Optional[float] = ..., illegal_defense_duration: _Optional[int] = ..., illegal_defense_number: _Optional[int] = ..., illegal_defense_dist_x: _Optional[float] = ..., illegal_defense_width: _Optional[float] = ..., fixed_teamname_l: _Optional[str] = ..., fixed_teamname_r: _Optional[str] = ..., max_catch_angle: _Optional[float] = ..., min_catch_angle: _Optional[float] = ..., random_seed: _Optional[int] = ..., long_kick_power_factor: _Optional[float] = ..., long_kick_delay: _Optional[int] = ..., max_monitors: _Optional[int] = ..., catchable_area: _Optional[float] = ..., real_speed_max: _Optional[float] = ..., pitch_half_length: _Optional[float] = ..., pitch_half_width: _Optional[float] = ..., our_penalty_area_line_x: _Optional[float] = ..., their_penalty_area_line_x: _Optional[float] = ..., penalty_area_half_width: _Optional[float] = ..., penalty_area_length: _Optional[float] = ...) -> None: ... + goal_width: float + def __init__(self, agent_type: _Optional[_Union[AgentType, str]] = ..., inertia_moment: _Optional[float] = ..., player_size: _Optional[float] = ..., player_decay: _Optional[float] = ..., player_rand: _Optional[float] = ..., player_weight: _Optional[float] = ..., player_speed_max: _Optional[float] = ..., player_accel_max: _Optional[float] = ..., stamina_max: _Optional[float] = ..., stamina_inc_max: _Optional[float] = ..., recover_init: _Optional[float] = ..., recover_dec_thr: _Optional[float] = ..., recover_min: _Optional[float] = ..., recover_dec: _Optional[float] = ..., effort_init: _Optional[float] = ..., effort_dec_thr: _Optional[float] = ..., effort_min: _Optional[float] = ..., effort_dec: _Optional[float] = ..., effort_inc_thr: _Optional[float] = ..., effort_inc: _Optional[float] = ..., kick_rand: _Optional[float] = ..., team_actuator_noise: bool = ..., player_rand_factor_l: _Optional[float] = ..., player_rand_factor_r: _Optional[float] = ..., kick_rand_factor_l: _Optional[float] = ..., kick_rand_factor_r: _Optional[float] = ..., ball_size: _Optional[float] = ..., ball_decay: _Optional[float] = ..., ball_rand: _Optional[float] = ..., ball_weight: _Optional[float] = ..., ball_speed_max: _Optional[float] = ..., ball_accel_max: _Optional[float] = ..., dash_power_rate: _Optional[float] = ..., kick_power_rate: _Optional[float] = ..., kickable_margin: _Optional[float] = ..., control_radius: _Optional[float] = ..., control_radius_width: _Optional[float] = ..., max_power: _Optional[float] = ..., min_power: _Optional[float] = ..., max_moment: _Optional[float] = ..., min_moment: _Optional[float] = ..., max_neck_moment: _Optional[float] = ..., min_neck_moment: _Optional[float] = ..., max_neck_angle: _Optional[float] = ..., min_neck_angle: _Optional[float] = ..., visible_angle: _Optional[float] = ..., visible_distance: _Optional[float] = ..., wind_dir: _Optional[float] = ..., wind_force: _Optional[float] = ..., wind_angle: _Optional[float] = ..., wind_rand: _Optional[float] = ..., kickable_area: _Optional[float] = ..., catch_area_l: _Optional[float] = ..., catch_area_w: _Optional[float] = ..., catch_probability: _Optional[float] = ..., goalie_max_moves: _Optional[int] = ..., corner_kick_margin: _Optional[float] = ..., offside_active_area_size: _Optional[float] = ..., wind_none: bool = ..., use_wind_random: bool = ..., coach_say_count_max: _Optional[int] = ..., coach_say_msg_size: _Optional[int] = ..., clang_win_size: _Optional[int] = ..., clang_define_win: _Optional[int] = ..., clang_meta_win: _Optional[int] = ..., clang_advice_win: _Optional[int] = ..., clang_info_win: _Optional[int] = ..., clang_mess_delay: _Optional[int] = ..., clang_mess_per_cycle: _Optional[int] = ..., half_time: _Optional[int] = ..., simulator_step: _Optional[int] = ..., send_step: _Optional[int] = ..., recv_step: _Optional[int] = ..., sense_body_step: _Optional[int] = ..., lcm_step: _Optional[int] = ..., player_say_msg_size: _Optional[int] = ..., player_hear_max: _Optional[int] = ..., player_hear_inc: _Optional[int] = ..., player_hear_decay: _Optional[int] = ..., catch_ban_cycle: _Optional[int] = ..., slow_down_factor: _Optional[int] = ..., use_offside: bool = ..., kickoff_offside: bool = ..., offside_kick_margin: _Optional[float] = ..., audio_cut_dist: _Optional[float] = ..., dist_quantize_step: _Optional[float] = ..., landmark_dist_quantize_step: _Optional[float] = ..., dir_quantize_step: _Optional[float] = ..., dist_quantize_step_l: _Optional[float] = ..., dist_quantize_step_r: _Optional[float] = ..., landmark_dist_quantize_step_l: _Optional[float] = ..., landmark_dist_quantize_step_r: _Optional[float] = ..., dir_quantize_step_l: _Optional[float] = ..., dir_quantize_step_r: _Optional[float] = ..., coach_mode: bool = ..., coach_with_referee_mode: bool = ..., use_old_coach_hear: bool = ..., slowness_on_top_for_left_team: _Optional[float] = ..., slowness_on_top_for_right_team: _Optional[float] = ..., start_goal_l: _Optional[int] = ..., start_goal_r: _Optional[int] = ..., fullstate_l: bool = ..., fullstate_r: bool = ..., drop_ball_time: _Optional[int] = ..., synch_mode: bool = ..., synch_offset: _Optional[int] = ..., synch_micro_sleep: _Optional[int] = ..., point_to_ban: _Optional[int] = ..., point_to_duration: _Optional[int] = ..., player_port: _Optional[int] = ..., trainer_port: _Optional[int] = ..., online_coach_port: _Optional[int] = ..., verbose_mode: bool = ..., coach_send_vi_step: _Optional[int] = ..., replay_file: _Optional[str] = ..., landmark_file: _Optional[str] = ..., send_comms: bool = ..., text_logging: bool = ..., game_logging: bool = ..., game_log_version: _Optional[int] = ..., text_log_dir: _Optional[str] = ..., game_log_dir: _Optional[str] = ..., text_log_fixed_name: _Optional[str] = ..., game_log_fixed_name: _Optional[str] = ..., use_text_log_fixed: bool = ..., use_game_log_fixed: bool = ..., use_text_log_dated: bool = ..., use_game_log_dated: bool = ..., log_date_format: _Optional[str] = ..., log_times: bool = ..., record_message: bool = ..., text_log_compression: _Optional[int] = ..., game_log_compression: _Optional[int] = ..., use_profile: bool = ..., tackle_dist: _Optional[float] = ..., tackle_back_dist: _Optional[float] = ..., tackle_width: _Optional[float] = ..., tackle_exponent: _Optional[float] = ..., tackle_cycles: _Optional[int] = ..., tackle_power_rate: _Optional[float] = ..., freeform_wait_period: _Optional[int] = ..., freeform_send_period: _Optional[int] = ..., free_kick_faults: bool = ..., back_passes: bool = ..., proper_goal_kicks: bool = ..., stopped_ball_vel: _Optional[float] = ..., max_goal_kicks: _Optional[int] = ..., clang_del_win: _Optional[int] = ..., clang_rule_win: _Optional[int] = ..., auto_mode: bool = ..., kick_off_wait: _Optional[int] = ..., connect_wait: _Optional[int] = ..., game_over_wait: _Optional[int] = ..., team_l_start: _Optional[str] = ..., team_r_start: _Optional[str] = ..., keepaway_mode: bool = ..., keepaway_length: _Optional[float] = ..., keepaway_width: _Optional[float] = ..., keepaway_logging: bool = ..., keepaway_log_dir: _Optional[str] = ..., keepaway_log_fixed_name: _Optional[str] = ..., keepaway_log_fixed: bool = ..., keepaway_log_dated: bool = ..., keepaway_start: _Optional[int] = ..., nr_normal_halfs: _Optional[int] = ..., nr_extra_halfs: _Optional[int] = ..., penalty_shoot_outs: bool = ..., pen_before_setup_wait: _Optional[int] = ..., pen_setup_wait: _Optional[int] = ..., pen_ready_wait: _Optional[int] = ..., pen_taken_wait: _Optional[int] = ..., pen_nr_kicks: _Optional[int] = ..., pen_max_extra_kicks: _Optional[int] = ..., pen_dist_x: _Optional[float] = ..., pen_random_winner: bool = ..., pen_allow_mult_kicks: bool = ..., pen_max_goalie_dist_x: _Optional[float] = ..., pen_coach_moves_players: bool = ..., module_dir: _Optional[str] = ..., ball_stuck_area: _Optional[float] = ..., coach_msg_file: _Optional[str] = ..., max_tackle_power: _Optional[float] = ..., max_back_tackle_power: _Optional[float] = ..., player_speed_max_min: _Optional[float] = ..., extra_stamina: _Optional[float] = ..., synch_see_offset: _Optional[int] = ..., extra_half_time: _Optional[int] = ..., stamina_capacity: _Optional[float] = ..., max_dash_angle: _Optional[float] = ..., min_dash_angle: _Optional[float] = ..., dash_angle_step: _Optional[float] = ..., side_dash_rate: _Optional[float] = ..., back_dash_rate: _Optional[float] = ..., max_dash_power: _Optional[float] = ..., min_dash_power: _Optional[float] = ..., tackle_rand_factor: _Optional[float] = ..., foul_detect_probability: _Optional[float] = ..., foul_exponent: _Optional[float] = ..., foul_cycles: _Optional[int] = ..., golden_goal: bool = ..., red_card_probability: _Optional[float] = ..., illegal_defense_duration: _Optional[int] = ..., illegal_defense_number: _Optional[int] = ..., illegal_defense_dist_x: _Optional[float] = ..., illegal_defense_width: _Optional[float] = ..., fixed_teamname_l: _Optional[str] = ..., fixed_teamname_r: _Optional[str] = ..., max_catch_angle: _Optional[float] = ..., min_catch_angle: _Optional[float] = ..., random_seed: _Optional[int] = ..., long_kick_power_factor: _Optional[float] = ..., long_kick_delay: _Optional[int] = ..., max_monitors: _Optional[int] = ..., catchable_area: _Optional[float] = ..., real_speed_max: _Optional[float] = ..., pitch_half_length: _Optional[float] = ..., pitch_half_width: _Optional[float] = ..., our_penalty_area_line_x: _Optional[float] = ..., their_penalty_area_line_x: _Optional[float] = ..., penalty_area_half_width: _Optional[float] = ..., penalty_area_length: _Optional[float] = ..., goal_width: _Optional[float] = ...) -> None: ... class PlayerParam(_message.Message): - __slots__ = ("player_types", "subs_max", "pt_max", "allow_mult_default_type", "player_speed_max_delta_min", "player_speed_max_delta_max", "stamina_inc_max_delta_factor", "player_decay_delta_min", "player_decay_delta_max", "inertia_moment_delta_factor", "dash_power_rate_delta_min", "dash_power_rate_delta_max", "player_size_delta_factor", "kickable_margin_delta_min", "kickable_margin_delta_max", "kick_rand_delta_factor", "extra_stamina_delta_min", "extra_stamina_delta_max", "effort_max_delta_factor", "effort_min_delta_factor", "random_seed", "new_dash_power_rate_delta_min", "new_dash_power_rate_delta_max", "new_stamina_inc_max_delta_factor", "kick_power_rate_delta_min", "kick_power_rate_delta_max", "foul_detect_probability_delta_factor", "catchable_area_l_stretch_min", "catchable_area_l_stretch_max") + __slots__ = ["agent_type", "player_types", "subs_max", "pt_max", "allow_mult_default_type", "player_speed_max_delta_min", "player_speed_max_delta_max", "stamina_inc_max_delta_factor", "player_decay_delta_min", "player_decay_delta_max", "inertia_moment_delta_factor", "dash_power_rate_delta_min", "dash_power_rate_delta_max", "player_size_delta_factor", "kickable_margin_delta_min", "kickable_margin_delta_max", "kick_rand_delta_factor", "extra_stamina_delta_min", "extra_stamina_delta_max", "effort_max_delta_factor", "effort_min_delta_factor", "random_seed", "new_dash_power_rate_delta_min", "new_dash_power_rate_delta_max", "new_stamina_inc_max_delta_factor", "kick_power_rate_delta_min", "kick_power_rate_delta_max", "foul_detect_probability_delta_factor", "catchable_area_l_stretch_min", "catchable_area_l_stretch_max"] + AGENT_TYPE_FIELD_NUMBER: _ClassVar[int] PLAYER_TYPES_FIELD_NUMBER: _ClassVar[int] SUBS_MAX_FIELD_NUMBER: _ClassVar[int] PT_MAX_FIELD_NUMBER: _ClassVar[int] @@ -1899,6 +2015,7 @@ class PlayerParam(_message.Message): FOUL_DETECT_PROBABILITY_DELTA_FACTOR_FIELD_NUMBER: _ClassVar[int] CATCHABLE_AREA_L_STRETCH_MIN_FIELD_NUMBER: _ClassVar[int] CATCHABLE_AREA_L_STRETCH_MAX_FIELD_NUMBER: _ClassVar[int] + agent_type: AgentType player_types: int subs_max: int pt_max: int @@ -1928,12 +2045,12 @@ class PlayerParam(_message.Message): foul_detect_probability_delta_factor: float catchable_area_l_stretch_min: float catchable_area_l_stretch_max: float - def __init__(self, player_types: _Optional[int] = ..., subs_max: _Optional[int] = ..., pt_max: _Optional[int] = ..., allow_mult_default_type: bool = ..., player_speed_max_delta_min: _Optional[float] = ..., player_speed_max_delta_max: _Optional[float] = ..., stamina_inc_max_delta_factor: _Optional[float] = ..., player_decay_delta_min: _Optional[float] = ..., player_decay_delta_max: _Optional[float] = ..., inertia_moment_delta_factor: _Optional[float] = ..., dash_power_rate_delta_min: _Optional[float] = ..., dash_power_rate_delta_max: _Optional[float] = ..., player_size_delta_factor: _Optional[float] = ..., kickable_margin_delta_min: _Optional[float] = ..., kickable_margin_delta_max: _Optional[float] = ..., kick_rand_delta_factor: _Optional[float] = ..., extra_stamina_delta_min: _Optional[float] = ..., extra_stamina_delta_max: _Optional[float] = ..., effort_max_delta_factor: _Optional[float] = ..., effort_min_delta_factor: _Optional[float] = ..., random_seed: _Optional[int] = ..., new_dash_power_rate_delta_min: _Optional[float] = ..., new_dash_power_rate_delta_max: _Optional[float] = ..., new_stamina_inc_max_delta_factor: _Optional[float] = ..., kick_power_rate_delta_min: _Optional[float] = ..., kick_power_rate_delta_max: _Optional[float] = ..., foul_detect_probability_delta_factor: _Optional[float] = ..., catchable_area_l_stretch_min: _Optional[float] = ..., catchable_area_l_stretch_max: _Optional[float] = ...) -> None: ... + def __init__(self, agent_type: _Optional[_Union[AgentType, str]] = ..., player_types: _Optional[int] = ..., subs_max: _Optional[int] = ..., pt_max: _Optional[int] = ..., allow_mult_default_type: bool = ..., player_speed_max_delta_min: _Optional[float] = ..., player_speed_max_delta_max: _Optional[float] = ..., stamina_inc_max_delta_factor: _Optional[float] = ..., player_decay_delta_min: _Optional[float] = ..., player_decay_delta_max: _Optional[float] = ..., inertia_moment_delta_factor: _Optional[float] = ..., dash_power_rate_delta_min: _Optional[float] = ..., dash_power_rate_delta_max: _Optional[float] = ..., player_size_delta_factor: _Optional[float] = ..., kickable_margin_delta_min: _Optional[float] = ..., kickable_margin_delta_max: _Optional[float] = ..., kick_rand_delta_factor: _Optional[float] = ..., extra_stamina_delta_min: _Optional[float] = ..., extra_stamina_delta_max: _Optional[float] = ..., effort_max_delta_factor: _Optional[float] = ..., effort_min_delta_factor: _Optional[float] = ..., random_seed: _Optional[int] = ..., new_dash_power_rate_delta_min: _Optional[float] = ..., new_dash_power_rate_delta_max: _Optional[float] = ..., new_stamina_inc_max_delta_factor: _Optional[float] = ..., kick_power_rate_delta_min: _Optional[float] = ..., kick_power_rate_delta_max: _Optional[float] = ..., foul_detect_probability_delta_factor: _Optional[float] = ..., catchable_area_l_stretch_min: _Optional[float] = ..., catchable_area_l_stretch_max: _Optional[float] = ...) -> None: ... class PlayerType(_message.Message): - __slots__ = ("id", "player_speed_max", "stamina_inc_max", "player_decay", "inertia_moment", "dash_power_rate", "player_size", "kickable_margin", "kick_rand", "extra_stamina", "effort_max", "effort_min", "kick_power_rate", "foul_detect_probability", "catchable_area_l_stretch", "unum_far_length", "unum_too_far_length", "team_far_length", "team_too_far_length", "player_max_observation_length", "ball_vel_far_length", "ball_vel_too_far_length", "ball_max_observation_length", "flag_chg_far_length", "flag_chg_too_far_length", "flag_max_observation_length", "kickable_area", "reliable_catchable_dist", "max_catchable_dist", "real_speed_max", "player_speed_max2", "real_speed_max2", "cycles_to_reach_max_speed") + __slots__ = ["agent_type", "id", "stamina_inc_max", "player_decay", "inertia_moment", "dash_power_rate", "player_size", "kickable_margin", "kick_rand", "extra_stamina", "effort_max", "effort_min", "kick_power_rate", "foul_detect_probability", "catchable_area_l_stretch", "unum_far_length", "unum_too_far_length", "team_far_length", "team_too_far_length", "player_max_observation_length", "ball_vel_far_length", "ball_vel_too_far_length", "ball_max_observation_length", "flag_chg_far_length", "flag_chg_too_far_length", "flag_max_observation_length", "kickable_area", "reliable_catchable_dist", "max_catchable_dist", "real_speed_max", "player_speed_max2", "real_speed_max2", "cycles_to_reach_max_speed", "player_speed_max"] + AGENT_TYPE_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int] - PLAYER_SPEED_MAX_FIELD_NUMBER: _ClassVar[int] STAMINA_INC_MAX_FIELD_NUMBER: _ClassVar[int] PLAYER_DECAY_FIELD_NUMBER: _ClassVar[int] INERTIA_MOMENT_FIELD_NUMBER: _ClassVar[int] @@ -1965,8 +2082,9 @@ class PlayerType(_message.Message): PLAYER_SPEED_MAX2_FIELD_NUMBER: _ClassVar[int] REAL_SPEED_MAX2_FIELD_NUMBER: _ClassVar[int] CYCLES_TO_REACH_MAX_SPEED_FIELD_NUMBER: _ClassVar[int] + PLAYER_SPEED_MAX_FIELD_NUMBER: _ClassVar[int] + agent_type: AgentType id: int - player_speed_max: float stamina_inc_max: float player_decay: float inertia_moment: float @@ -1998,8 +2116,13 @@ class PlayerType(_message.Message): player_speed_max2: float real_speed_max2: float cycles_to_reach_max_speed: int - def __init__(self, id: _Optional[int] = ..., player_speed_max: _Optional[float] = ..., stamina_inc_max: _Optional[float] = ..., player_decay: _Optional[float] = ..., inertia_moment: _Optional[float] = ..., dash_power_rate: _Optional[float] = ..., player_size: _Optional[float] = ..., kickable_margin: _Optional[float] = ..., kick_rand: _Optional[float] = ..., extra_stamina: _Optional[float] = ..., effort_max: _Optional[float] = ..., effort_min: _Optional[float] = ..., kick_power_rate: _Optional[float] = ..., foul_detect_probability: _Optional[float] = ..., catchable_area_l_stretch: _Optional[float] = ..., unum_far_length: _Optional[float] = ..., unum_too_far_length: _Optional[float] = ..., team_far_length: _Optional[float] = ..., team_too_far_length: _Optional[float] = ..., player_max_observation_length: _Optional[float] = ..., ball_vel_far_length: _Optional[float] = ..., ball_vel_too_far_length: _Optional[float] = ..., ball_max_observation_length: _Optional[float] = ..., flag_chg_far_length: _Optional[float] = ..., flag_chg_too_far_length: _Optional[float] = ..., flag_max_observation_length: _Optional[float] = ..., kickable_area: _Optional[float] = ..., reliable_catchable_dist: _Optional[float] = ..., max_catchable_dist: _Optional[float] = ..., real_speed_max: _Optional[float] = ..., player_speed_max2: _Optional[float] = ..., real_speed_max2: _Optional[float] = ..., cycles_to_reach_max_speed: _Optional[int] = ...) -> None: ... + player_speed_max: float + def __init__(self, agent_type: _Optional[_Union[AgentType, str]] = ..., id: _Optional[int] = ..., stamina_inc_max: _Optional[float] = ..., player_decay: _Optional[float] = ..., inertia_moment: _Optional[float] = ..., dash_power_rate: _Optional[float] = ..., player_size: _Optional[float] = ..., kickable_margin: _Optional[float] = ..., kick_rand: _Optional[float] = ..., extra_stamina: _Optional[float] = ..., effort_max: _Optional[float] = ..., effort_min: _Optional[float] = ..., kick_power_rate: _Optional[float] = ..., foul_detect_probability: _Optional[float] = ..., catchable_area_l_stretch: _Optional[float] = ..., unum_far_length: _Optional[float] = ..., unum_too_far_length: _Optional[float] = ..., team_far_length: _Optional[float] = ..., team_too_far_length: _Optional[float] = ..., player_max_observation_length: _Optional[float] = ..., ball_vel_far_length: _Optional[float] = ..., ball_vel_too_far_length: _Optional[float] = ..., ball_max_observation_length: _Optional[float] = ..., flag_chg_far_length: _Optional[float] = ..., flag_chg_too_far_length: _Optional[float] = ..., flag_max_observation_length: _Optional[float] = ..., kickable_area: _Optional[float] = ..., reliable_catchable_dist: _Optional[float] = ..., max_catchable_dist: _Optional[float] = ..., real_speed_max: _Optional[float] = ..., player_speed_max2: _Optional[float] = ..., real_speed_max2: _Optional[float] = ..., cycles_to_reach_max_speed: _Optional[int] = ..., player_speed_max: _Optional[float] = ...) -> None: ... class Empty(_message.Message): - __slots__ = () + __slots__ = [] + def __init__(self) -> None: ... + +class InitMessageFromServer(_message.Message): + __slots__ = [] def __init__(self) -> None: ... diff --git a/service_pb2_grpc.py b/service_pb2_grpc.py index 1b6b1de..ec88c81 100644 --- a/service_pb2_grpc.py +++ b/service_pb2_grpc.py @@ -14,10 +14,20 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ - self.GetActions = channel.unary_unary( - '/protos.Game/GetActions', + self.GetPlayerActions = channel.unary_unary( + '/protos.Game/GetPlayerActions', request_serializer=service__pb2.State.SerializeToString, - response_deserializer=service__pb2.Actions.FromString, + response_deserializer=service__pb2.PlayerActions.FromString, + ) + self.GetCoachActions = channel.unary_unary( + '/protos.Game/GetCoachActions', + request_serializer=service__pb2.State.SerializeToString, + response_deserializer=service__pb2.CoachActions.FromString, + ) + self.GetTrainerActions = channel.unary_unary( + '/protos.Game/GetTrainerActions', + request_serializer=service__pb2.State.SerializeToString, + response_deserializer=service__pb2.TrainerActions.FromString, ) self.SendInitMessage = channel.unary_unary( '/protos.Game/SendInitMessage', @@ -39,12 +49,29 @@ def __init__(self, channel): request_serializer=service__pb2.PlayerType.SerializeToString, response_deserializer=service__pb2.Empty.FromString, ) + self.GetInitMessage = channel.unary_unary( + '/protos.Game/GetInitMessage', + request_serializer=service__pb2.Empty.SerializeToString, + response_deserializer=service__pb2.InitMessageFromServer.FromString, + ) class GameServicer(object): """Missing associated documentation comment in .proto file.""" - def GetActions(self, request, context): + def GetPlayerActions(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCoachActions(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTrainerActions(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -74,13 +101,29 @@ def SendPlayerType(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def GetInitMessage(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_GameServicer_to_server(servicer, server): rpc_method_handlers = { - 'GetActions': grpc.unary_unary_rpc_method_handler( - servicer.GetActions, + 'GetPlayerActions': grpc.unary_unary_rpc_method_handler( + servicer.GetPlayerActions, + request_deserializer=service__pb2.State.FromString, + response_serializer=service__pb2.PlayerActions.SerializeToString, + ), + 'GetCoachActions': grpc.unary_unary_rpc_method_handler( + servicer.GetCoachActions, + request_deserializer=service__pb2.State.FromString, + response_serializer=service__pb2.CoachActions.SerializeToString, + ), + 'GetTrainerActions': grpc.unary_unary_rpc_method_handler( + servicer.GetTrainerActions, request_deserializer=service__pb2.State.FromString, - response_serializer=service__pb2.Actions.SerializeToString, + response_serializer=service__pb2.TrainerActions.SerializeToString, ), 'SendInitMessage': grpc.unary_unary_rpc_method_handler( servicer.SendInitMessage, @@ -102,6 +145,11 @@ def add_GameServicer_to_server(servicer, server): request_deserializer=service__pb2.PlayerType.FromString, response_serializer=service__pb2.Empty.SerializeToString, ), + 'GetInitMessage': grpc.unary_unary_rpc_method_handler( + servicer.GetInitMessage, + request_deserializer=service__pb2.Empty.FromString, + response_serializer=service__pb2.InitMessageFromServer.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'protos.Game', rpc_method_handlers) @@ -113,7 +161,24 @@ class Game(object): """Missing associated documentation comment in .proto file.""" @staticmethod - def GetActions(request, + def GetPlayerActions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/protos.Game/GetPlayerActions', + service__pb2.State.SerializeToString, + service__pb2.PlayerActions.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCoachActions(request, target, options=(), channel_credentials=None, @@ -123,9 +188,26 @@ def GetActions(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/protos.Game/GetActions', + return grpc.experimental.unary_unary(request, target, '/protos.Game/GetCoachActions', service__pb2.State.SerializeToString, - service__pb2.Actions.FromString, + service__pb2.CoachActions.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetTrainerActions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/protos.Game/GetTrainerActions', + service__pb2.State.SerializeToString, + service__pb2.TrainerActions.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -196,3 +278,20 @@ def SendPlayerType(request, service__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetInitMessage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/protos.Game/GetInitMessage', + service__pb2.Empty.SerializeToString, + service__pb2.InitMessageFromServer.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/BHV_Block.py b/src/BHV_Block.py index 4be8b3a..6478945 100644 --- a/src/BHV_Block.py +++ b/src/BHV_Block.py @@ -62,8 +62,8 @@ def execute(self, agent: IAgent): agent.add_log_text(pb2.LoggerLevel.BLOCK, f"### block cycle: {block_cycle}") agent.add_log_text(pb2.LoggerLevel.BLOCK, f"### best blocker: {blocker}") if blocker == agent.wm.self.uniform_number: - agent.add_action(pb2.Action(body_go_to_point=pb2.Body_GoToPoint(target_point=pb2.Vector2D(x=block_pos.x(), y=block_pos.y()), distance_threshold=0.5, max_dash_power=100))) - agent.add_action(pb2.Action(neck_turn_to_ball=pb2.Neck_TurnToBall())) - agent.add_action(pb2.Action(debug_client=pb2.DebugClient(message=f"blocker: {blocker}"))) + agent.add_action(pb2.PlayerAction(body_go_to_point=pb2.Body_GoToPoint(target_point=pb2.Vector2D(x=block_pos.x(), y=block_pos.y()), distance_threshold=0.5, max_dash_power=100))) + agent.add_action(pb2.PlayerAction(neck_turn_to_ball=pb2.Neck_TurnToBall())) + agent.add_action(pb2.PlayerAction(debug_client=pb2.DebugClient(message=f"blocker: {blocker}"))) return True return False diff --git a/src/DM_NoBall.py b/src/DM_NoBall.py index 9fee447..0240437 100644 --- a/src/DM_NoBall.py +++ b/src/DM_NoBall.py @@ -17,10 +17,10 @@ def make_decision(self, agent: IAgent): opponent_reach_steps = agent.wm.intercept_table.first_opponent_reach_steps if our_reach_steps < opponent_reach_steps and self_reach_steps < teammate_reach_steps: - agent.add_action(pb2.Action(body_intercept=pb2.Body_Intercept(save_recovery=False, + agent.add_action(pb2.PlayerAction(body_intercept=pb2.Body_Intercept(save_recovery=False, face_point=pb2.Vector2D( x=agent.wm.ball.position.x, y=agent.wm.ball.position.y)))) - agent.add_action(pb2.Action(neck_turn_to_ball=pb2.Neck_TurnToBall())) + agent.add_action(pb2.PlayerAction(neck_turn_to_ball=pb2.Neck_TurnToBall())) return pos = agent.get_strategy().getPosition(agent.wm.self.uniform_number) @@ -30,9 +30,9 @@ def make_decision(self, agent: IAgent): if BHV_Block().execute(agent): return - agent.add_action(pb2.Action(body_go_to_point=pb2.Body_GoToPoint(target_point=pb2.Vector2D(x=pos.x(), y=pos.y()), + agent.add_action(pb2.PlayerAction(body_go_to_point=pb2.Body_GoToPoint(target_point=pb2.Vector2D(x=pos.x(), y=pos.y()), distance_threshold=1, max_dash_power=100))) - agent.add_action(pb2.Action(neck_turn_to_ball=pb2.Neck_TurnToBall())) - agent.add_action(pb2.Action(debug_client=pb2.DebugClient(message=f"go to : {pos.x()}, {pos.y()}"))) + agent.add_action(pb2.PlayerAction(neck_turn_to_ball=pb2.Neck_TurnToBall())) + agent.add_action(pb2.PlayerAction(debug_client=pb2.DebugClient(message=f"go to : {pos.x()}, {pos.y()}"))) \ No newline at end of file diff --git a/src/DM_PlayOn.py b/src/DM_PlayOn.py index 91adeb7..4655734 100644 --- a/src/DM_PlayOn.py +++ b/src/DM_PlayOn.py @@ -12,10 +12,10 @@ def __init__(self): pass def make_decision(self, agent: IAgent): - # agent.addAction(pb2.Action(dash=pb2.Dash(power=100, relative_direction=30))) + # agent.addAction(pb2.PlayerAction(dash=pb2.Dash(power=100, relative_direction=30))) if agent.wm.self.is_kickable: self.withBallDecisionMaker.make_decision(agent) - # agent.add_action(pb2.Action(helios_chain_action=pb2.HeliosChainAction( + # agent.add_action(pb2.PlayerAction(helios_chain_action=pb2.HeliosChainAction( # cross=True, # lead_pass=True, # direct_pass=True, diff --git a/src/DM_SetPlay.py b/src/DM_SetPlay.py index a20b097..ac9bc03 100644 --- a/src/DM_SetPlay.py +++ b/src/DM_SetPlay.py @@ -8,4 +8,4 @@ def __init__(self): pass def make_decision(self, agent: IAgent, wm: pb2.WorldModel): - agent.add_action(pb2.Action(turn=pb2.Turn(relative_direction=30.0))) \ No newline at end of file + agent.add_action(pb2.PlayerAction(turn=pb2.Turn(relative_direction=30.0))) \ No newline at end of file diff --git a/src/DM_WithBall.py b/src/DM_WithBall.py index b326294..a0000de 100644 --- a/src/DM_WithBall.py +++ b/src/DM_WithBall.py @@ -24,7 +24,7 @@ def make_decision(self, agent: IAgent): candidate_actions += self.dribble_generator.generator(agent) if len(candidate_actions) == 0: - agent.add_action(pb2.Action(body_hold_ball=pb2.Body_HoldBall())) + agent.add_action(pb2.PlayerAction(body_hold_ball=pb2.Body_HoldBall())) return if agent.debug_mode: @@ -47,10 +47,10 @@ def make_decision(self, agent: IAgent): WithBallDecisionMaker.count += 1 print(f"{agent.wm.cycle} {i} {len(candidate_actions)} {float(i) / len(candidate_actions)} {candidate.score} {end_time - start_time} {WithBallDecisionMaker.sum_time / WithBallDecisionMaker.count}") if best_action is None: - agent.add_action(pb2.Action(body_hold_ball=pb2.Body_HoldBall())) + agent.add_action(pb2.PlayerAction(body_hold_ball=pb2.Body_HoldBall())) return - agent.add_action(pb2.Action(body_smart_kick=pb2.Body_SmartKick( + agent.add_action(pb2.PlayerAction(body_smart_kick=pb2.Body_SmartKick( target_point=pb2.Vector2D(x=best_action.targetBallPos.x(), y=best_action.targetBallPos.y()), first_speed=best_action.firstVelocity.r(), first_speed_threshold=0.0, diff --git a/src/DecisionMaker.py b/src/DecisionMaker.py index 5a7280f..4a2f1cb 100644 --- a/src/DecisionMaker.py +++ b/src/DecisionMaker.py @@ -12,11 +12,11 @@ def __init__(self): def make_decision(self, agent: IAgent): if agent.wm.self.is_goalie: - agent.add_action(pb2.Action(helios_goalie=pb2.HeliosGoalie())) + agent.add_action(pb2.PlayerAction(helios_goalie=pb2.HeliosGoalie())) else: if agent.wm.game_mode_type == pb2.GameModeType.PlayOn: self.playOnDecisionMaker.make_decision(agent) elif agent.wm.is_penalty_kick_mode: - agent.add_action(pb2.Action(helios_penalty=pb2.HeliosPenalty())) + agent.add_action(pb2.PlayerAction(helios_penalty=pb2.HeliosPenalty())) else: - agent.add_action(pb2.Action(helios_set_play=pb2.HeliosSetPlay())) \ No newline at end of file + agent.add_action(pb2.PlayerAction(helios_set_play=pb2.HeliosSetPlay())) \ No newline at end of file diff --git a/src/IAgent.py b/src/IAgent.py index 3cd9b78..788c4dc 100644 --- a/src/IAgent.py +++ b/src/IAgent.py @@ -1,3 +1,4 @@ +from typing import Union from abc import ABC, abstractmethod import service_pb2 as pb2 from src.IPositionStrategy import IPositionStrategy @@ -8,7 +9,7 @@ class IAgent(ABC): def __init__(self) -> None: super().__init__() self.wm: Union[pb2.WorldModel, None] = None - self.actions: list[pb2.Action] = [] + self.actions: list[pb2.PlayerAction] = [] self.serverParams: Union[pb2.ServerParam, None] = None self.playerParams: Union[pb2.PlayerParam, None] = None self.playerTypes: Union[pb2.PlayerType, dict[pb2.PlayerType]] = {} @@ -20,12 +21,12 @@ def get_type(self, id: int) -> pb2.PlayerType: return self.playerTypes[id] @abstractmethod - def get_actions(self, wm: pb2.WorldModel) -> pb2.Actions: + def get_actions(self, wm: pb2.WorldModel) -> pb2.PlayerActions: pass - @abstractmethod - def get_strategy(self) -> IPositionStrategy: - pass + # @abstractmethod + # def get_strategy(self) -> IPositionStrategy: + # pass def set_debug_mode(self, debug_mode: bool): self.debug_mode = debug_mode @@ -46,7 +47,7 @@ def set_debug_mode(self, debug_mode: bool): def add_log_text(self, level: pb2.LoggerLevel, message: str): if not self.debug_mode: return - self.add_action(pb2.Action( + self.add_action(pb2.PlayerAction( log=pb2.Log( add_text=pb2.AddText( level=level, @@ -58,7 +59,7 @@ def add_log_text(self, level: pb2.LoggerLevel, message: str): def add_log_message(self, level: pb2.LoggerLevel, message: str, x, y, color): if not self.debug_mode: return - self.add_action(pb2.Action( + self.add_action(pb2.PlayerAction( log=pb2.Log( add_message=pb2.AddMessage( level=level, @@ -73,7 +74,7 @@ def add_log_circle(self, level: pb2.LoggerLevel, center_x: float, center_y: floa fill: bool): if not self.debug_mode: return - self.add_action(pb2.Action( + self.add_action(pb2.PlayerAction( log=pb2.Log( add_circle=pb2.AddCircle( level=level, @@ -85,5 +86,5 @@ def add_log_circle(self, level: pb2.LoggerLevel, center_x: float, center_y: floa ) )) - def add_action(self, actions: pb2.Action): + def add_action(self, actions: Union[pb2.PlayerAction, pb2.CoachAction, pb2.TrainerAction]): self.actions.append(actions) diff --git a/src/IBallAction.py b/src/IBallAction.py index 20cfefd..16d71c5 100644 --- a/src/IBallAction.py +++ b/src/IBallAction.py @@ -214,7 +214,7 @@ def check_direct_pass(self, agent: IAgent) -> None: start_step = max(max(min_receive_step, min_ball_step), 0) max_step = start_step + 2 if agent.debug_mode: - agent.add_log_text(pb2.LoggerLevel.PASS, f">>>> DPass to {tm.uniform_number} ({round(tm_pos.x(), 2)}, {round(tm_pos.y(), 2)}) -> ({round(receive_point.x(), 2)}, {round(receive_point.y(), 2)}) start_step: {start_step}, max_step: {max_step}") + agent.add_log_text(pb2.LoggerLevel.PASS, f">>>> DPass to {tm.uniform_number} ({round(tm.position.x(), 2)}, {round(tm.position.y(), 2)}) -> ({round(receive_point.x(), 2)}, {round(receive_point.y(), 2)}) start_step: {start_step}, max_step: {max_step}") self.create_pass(agent, tm, receive_point, start_step, max_step, min_ball_speed, diff --git a/src/SampleCoachAgent.py b/src/SampleCoachAgent.py new file mode 100644 index 0000000..7a39cd9 --- /dev/null +++ b/src/SampleCoachAgent.py @@ -0,0 +1,50 @@ +from abc import ABC +from src.IAgent import IAgent +import service_pb2 as pb2 + + +class SampleCoachAgent(IAgent, ABC): + def __init__(self): + super().__init__() + self.serverParams: pb2.ServerParam = None + self.playerParams: pb2.PlayerParam = None + self.playerTypes: dict[pb2.PlayerType] = {} + self.wm: pb2.WorldModel = None + self.first_substitution = True + + def get_actions(self, wm:pb2.WorldModel) -> pb2.CoachActions: + self.wm = wm + + actions = pb2.CoachActions() + # if (wm.cycle == 0 + # and self.first_substitution + # and self.playerParams is not None + # and len(self.playerTypes.keys()) == self.playerParams.player_types): + + # self.first_substitution = False + # for i in range(11): + # actions.actions.append( + # pb2.CoachAction( + # change_player_types=pb2.ChangePlayerType( + # uniform_number=i+1, + # type=i + # ) + # ) + # ) + + actions.actions.append( + pb2.CoachAction( + do_helios_substitute=pb2.DoHeliosSubstitute() + ) + ) + return actions + + def set_params(self, params): + if isinstance(params, pb2.ServerParam): + self.serverParams = params + elif isinstance(params, pb2.PlayerParam): + self.playerParams = params + elif isinstance(params, pb2.PlayerType): + self.playerTypes[params.id] = params + else: + raise Exception("Unknown params type") \ No newline at end of file diff --git a/src/SamplePlayerAgent.py b/src/SamplePlayerAgent.py index 1eebd30..19322b0 100644 --- a/src/SamplePlayerAgent.py +++ b/src/SamplePlayerAgent.py @@ -15,12 +15,12 @@ def __init__(self): self.playerTypes: dict[pb2.PlayerType] = {} self.wm: pb2.WorldModel = None - def get_actions(self, wm:pb2.WorldModel) -> pb2.Actions: + def get_actions(self, wm:pb2.WorldModel) -> pb2.PlayerActions: self.wm = wm self.actions.clear() self.strategy.update(wm) self.decisionMaker.make_decision(self) - actions = pb2.Actions() + actions = pb2.PlayerActions() actions.actions.extend(self.actions) return actions diff --git a/src/SampleTrainerAgent.py b/src/SampleTrainerAgent.py new file mode 100644 index 0000000..5debe9e --- /dev/null +++ b/src/SampleTrainerAgent.py @@ -0,0 +1,47 @@ +from abc import ABC +from src.IAgent import IAgent +import service_pb2 as pb2 + + +class SampleTrainerAgent(IAgent, ABC): + def __init__(self): + super().__init__() + self.serverParams: pb2.ServerParam = None + self.playerParams: pb2.PlayerParam = None + self.playerTypes: dict[pb2.PlayerType] = {} + self.wm: pb2.WorldModel = None + self.first_substitution = True + + def get_actions(self, wm:pb2.WorldModel) -> pb2.TrainerActions: + self.wm = wm + + actions = pb2.TrainerActions() + print(f'cycle: {self.wm.cycle}') + print(f'cycle: {self.wm.ball.position.x}, {self.wm.ball.position.y}') + + if self.wm.cycle % 100 == 0: + actions.actions.append( + pb2.TrainerAction( + do_move_ball=pb2.DoMoveBall( + position=pb2.Vector2D( + x=0, + y=0 + ), + velocity=pb2.Vector2D( + x=0, + y=0 + ), + ) + ) + ) + return actions + + def set_params(self, params): + if isinstance(params, pb2.ServerParam): + self.serverParams = params + elif isinstance(params, pb2.PlayerParam): + self.playerParams = params + elif isinstance(params, pb2.PlayerType): + self.playerTypes[params.id] = params + else: + raise Exception("Unknown params type") \ No newline at end of file diff --git a/start-team.sh b/start-team.sh new file mode 100755 index 0000000..f454308 --- /dev/null +++ b/start-team.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +python grpc-server.py & + +cd SoccerSimulationProxyBin/bin + +./start.sh \ No newline at end of file