231 Commits

Author SHA1 Message Date
ltcptgeneral
9fb53f4297 Update titanlearn.py 2019-03-16 13:12:59 -05:00
ltcptgeneral
69ef08bfd4 1234567890 2019-03-10 11:42:43 -05:00
ltcptgeneral
0159f116c1 12345678 2019-03-09 16:27:36 -06:00
Jacob Levine
da6f2ce044 Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-03-09 14:08:38 -06:00
Jacob Levine
053001186e added frc elo notebook 2019-03-09 14:05:47 -06:00
jlevine18
177e8ad783 Delete pullmatches.py 2019-03-08 22:19:11 -06:00
Jacob Levine
047f682030 added scoreboard 2019-03-08 22:05:35 -06:00
Jacob Levine
041db246b1 Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-03-08 21:56:15 -06:00
Jacob Levine
54888a3988 added day 1 processing 2019-03-08 21:55:52 -06:00
ltcptgeneral
c726551ec7 Update superscript.py 2019-03-08 19:00:02 -06:00
ltcptgeneral
a36ba0413a superscript v 1.0.5.003
changelog:
- hotfix: actually pushes data correctly now
2019-03-08 17:43:38 -06:00
Jacob Levine
79d0bda1ef fix defaults 2019-03-08 12:54:41 -06:00
Jacob Levine
a7def3c367 reworked questions to comply with Ian's app 2019-03-08 12:48:10 -06:00
Jacob Levine
1ee9867ea6 fix typo 2019-03-08 10:54:14 -06:00
Jacob Levine
44f209f331 added strat options 2019-03-08 10:47:49 -06:00
Jacob Levine
274017806f sets timeout for reload 2019-03-07 23:37:54 -06:00
Jacob Levine
90adb6539a final fix for the night! 2019-03-07 23:33:58 -06:00
Jacob Levine
be4ec9ea51 bugfix 2019-03-07 23:30:33 -06:00
Jacob Levine
b89fab51c3 fix typo 2019-03-07 23:29:16 -06:00
Jacob Levine
6247c7997f added full functionality to scout 2019-03-07 23:26:30 -06:00
Jacob Levine
9baa4450b0 stylinh 2019-03-07 21:25:32 -06:00
Jacob Levine
2a449eba1a one of these times im going to actually catch it 2019-03-07 21:22:04 -06:00
Jacob Levine
dfd5366112 fix typo 2019-03-07 21:21:12 -06:00
Jacob Levine
dc180862df fix typo 2019-03-07 21:20:07 -06:00
Jacob Levine
9d9dcbbb71 fix typo 2019-03-07 21:18:13 -06:00
Jacob Levine
ed151f1707 sections 2019-03-07 21:16:54 -06:00
Jacob Levine
302f6b794d bugfix 2019-03-07 20:55:49 -06:00
Jacob Levine
1925943660 start scout 2019-03-07 20:54:55 -06:00
Jacob Levine
0e358a9a14 final fixes (hopefully this time) 2019-03-07 20:21:05 -06:00
Jacob Levine
2c9e553b57 fix typo 2019-03-07 20:19:58 -06:00
Jacob Levine
ee4ee316dd final page fix 2019-03-07 20:18:54 -06:00
Jacob Levine
12e39ecc84 fix typo 2019-03-07 20:17:10 -06:00
Jacob Levine
eb20ad907e fix mistake 2019-03-07 20:16:14 -06:00
Jacob Levine
61b286c258 Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-03-07 20:14:05 -06:00
Jacob Levine
77231d00cc now you can leave teams 2019-03-07 20:13:32 -06:00
jlevine18
4322396088 arthur don't be stupid 2019-03-07 20:03:20 -06:00
Jacob Levine
c5dc49f442 final profile fix 2019-03-07 19:57:20 -06:00
Jacob Levine
0684f982b7 fix structure 2019-03-07 19:55:30 -06:00
Jacob Levine
b5d8851c44 fix data structure 2019-03-07 19:48:50 -06:00
Jacob Levine
b0782ed74e test bugfix 2019-03-07 19:47:35 -06:00
Jacob Levine
3e76c55801 testing... 2019-03-07 19:46:01 -06:00
Jacob Levine
834068244e test bugfix 2019-03-07 19:43:50 -06:00
Jacob Levine
d833d0a183 fix typo 2019-03-07 19:38:05 -06:00
Jacob Levine
1f50c6dd16 test bugfix 2019-03-07 19:37:06 -06:00
Jacob Levine
9ca336934a Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-03-07 19:32:14 -06:00
Jacob Levine
251390fddf fixed teamlogic 2019-03-07 19:31:34 -06:00
ltcptgeneral
aaa548fb65 hotfix 2000 2019-03-07 09:14:20 -06:00
ltcptgeneral
7710da503b 12 2019-03-06 20:05:50 -06:00
ltcptgeneral
18969b4179 Update superscript.py 2019-03-05 13:36:47 -06:00
ltcptgeneral
ecb6400b06 lotta bug fixes 2019-03-04 16:38:40 -06:00
ltcptgeneral
67393e0e09 1 2019-03-03 22:50:29 -06:00
ltcptgeneral
442d9a9682 Update analysis.py 2019-03-02 20:18:51 -06:00
ltcptgeneral
7434263165 titanscouting app v 1.0.0.003
simple bug fix
2019-03-02 19:58:00 -06:00
ltcptgeneral
d20d0e4e7a titanscouting app v 1.0.0.002 2019-03-02 19:47:31 -06:00
ltcptgeneral
836abc427a ryiop 2019-03-02 16:34:48 -06:00
ltcptgeneral
8cc6b2774e Create README.md 2019-03-02 16:34:12 -06:00
jlevine18
e98e66bdf0 tl.py 2019-03-02 08:18:28 -06:00
ltcptgeneral
791c4e82a5 Merge branch 'master' of https://github.com/ltcptgeneral/tr2022-strategy 2019-03-01 13:49:36 -06:00
ltcptgeneral
110da31d50 Update titanlearn.py 2019-03-01 13:49:33 -06:00
jlevine18
0e9a706904 Update titanlearn.py 2019-03-01 12:25:41 -06:00
ltcptgeneral
28b5f9d6a2 dumb 2019-03-01 12:18:38 -06:00
ltcptgeneral
00af69a3f5 Update superscript.py 2019-02-28 13:39:35 -06:00
ltcptgeneral
e61403174d sfasf 2019-02-28 13:28:29 -06:00
ltcptgeneral
632a2472a2 bassbsabjasb 2019-02-28 13:13:52 -06:00
ltcptgeneral
d62a07a69e Update superscript.py 2019-02-28 09:04:37 -06:00
ltcptgeneral
85d4a29cf2 Update superscript.py 2019-02-27 14:01:25 -06:00
ltcptgeneral
6678e49cbf superscript.py - v 1.0.5.002
changelog:
- more information given
- performance improvements
2019-02-27 14:00:29 -06:00
ltcptgeneral
839c5d2943 superscript.py - v 1.0.5.001
changelog:
- grammar
2019-02-27 13:43:33 -06:00
ltcptgeneral
79b4cf1158 superscript.py - v 1.0.5.000
changelog:
- service now iterates forever
- ready for production other than pulling json data
2019-02-27 13:38:24 -06:00
ltcptgeneral
9b9d6bcd23 superscript.py - v 1.0.4.001
changelog:
- grammar fixes
2019-02-26 23:18:26 -06:00
ltcptgeneral
2b1dd3ed9b superscript.py - v 1.0.4.000
changelog:
- actually pushes to firebase
2019-02-26 19:39:56 -06:00
ltcptgeneral
7afe68e315 Update .gitignore 2019-02-26 19:10:53 -06:00
ltcptgeneral
0f58ce0fd7 security patch 2019-02-22 12:23:49 -06:00
ltcptgeneral
badcb373ae Update bdata.csv 2019-02-21 12:33:13 -06:00
ltcptgeneral
e5cf8a43d4 superscript.py - v 1.
changelog:
- processes data more efficiently
2019-02-20 22:59:17 -06:00
ltcptgeneral
aba4b44da4 superscript.py - v 1.0.3.000
changelog:
- actually processes data
2019-02-20 11:44:11 -06:00
ltcptgeneral
c4fa9c5f23 qwertyuiop 2019-02-19 13:21:06 -06:00
ltcptgeneral
22688de9e8 Merge branch 'master' of https://github.com/ltcptgeneral/tr2022-strategy 2019-02-19 09:44:55 -06:00
ltcptgeneral
042efb2b5a superscript.py - v 1.0.2.000
changelog:
- added data reading from folder
- nearly crashed computer reading from 20 GiB of data
2019-02-19 09:44:51 -06:00
Jacob Levine
060a77f4b7 fix more typos 2019-02-12 21:00:43 -06:00
Jacob Levine
ffd64eb3d2 fix typos 2019-02-12 21:00:00 -06:00
Jacob Levine
4822be0ece fix typos 2019-02-12 20:55:56 -06:00
Jacob Levine
d3b71287c4 squash bugh 2019-02-12 20:52:03 -06:00
Jacob Levine
67ac98b9ab fix more typos 2019-02-12 20:49:23 -06:00
Jacob Levine
9e0c6e36ee can i set the world record for most typos 2019-02-12 20:48:35 -06:00
Jacob Levine
d0d431fb54 fix even more typos 2019-02-12 20:46:23 -06:00
Jacob Levine
718ca83a1d fix more typos 2019-02-12 20:44:21 -06:00
Jacob Levine
e0c159de00 fix typos 2019-02-12 20:42:49 -06:00
Jacob Levine
6652918ae8 I apparently don't know how to js 2019-02-12 20:41:43 -06:00
Jacob Levine
4f3ecf4361 fix more typos 2019-02-12 20:37:50 -06:00
Jacob Levine
dd5da3b1e8 fix typos 2019-02-12 20:34:05 -06:00
Jacob Levine
45a4387c68 started teams page 2019-02-12 20:20:30 -06:00
Jacob Levine
c6b2840e07 last style fixed before i do something else, for real this time 2019-02-09 15:53:39 -06:00
Jacob Levine
6362f50fd3 last style fixed before i do something else, for real this time 2019-02-09 15:50:34 -06:00
Jacob Levine
d5622c8672 last style fixed before i do something eks 2019-02-09 15:49:21 -06:00
Jacob Levine
3abc50cf7a js dom terms aren't very consistent 2019-02-09 15:44:46 -06:00
Jacob Levine
0f68468f14 fix style inconsistencies 2019-02-09 15:42:16 -06:00
Jacob Levine
6d45200ca3 other style 2019-02-09 15:36:59 -06:00
Jacob Levine
80aee80548 other style 2019-02-09 15:30:27 -06:00
Jacob Levine
3d27f3c127 margins aren't for tables 2019-02-09 15:29:21 -06:00
Jacob Levine
9fd7966c55 other style updates 2019-02-09 15:27:17 -06:00
Jacob Levine
4529ee32e2 no but this ugly html hack should 2019-02-09 15:25:25 -06:00
Jacob Levine
3a5629f0ba does making everything auto fix it? 2019-02-09 15:19:14 -06:00
Jacob Levine
fe74aea4de maybe we can fix it in js 2019-02-09 15:12:17 -06:00
Jacob Levine
76ac58dbab maybe we can fix it in js 2019-02-09 15:10:24 -06:00
Jacob Levine
db0ddec2c6 overflow-x 2019-02-09 14:57:55 -06:00
Jacob Levine
c6980ff71d time to actually start making this look legit 2019-02-09 14:54:03 -06:00
Jacob Levine
a4840003f5 what was i thinking? 2019-02-09 14:46:59 -06:00
Jacob Levine
aad41e57a9 even more styling, if you can call it that 2019-02-09 14:43:14 -06:00
Jacob Levine
24a8500588 more styling, if you can call it that 2019-02-09 14:41:31 -06:00
Jacob Levine
63c69ecc14 styling, if you can call it that 2019-02-09 14:39:32 -06:00
Jacob Levine
1c775fca2c you can now actually see the profile update page 2019-02-09 14:34:01 -06:00
Jacob Levine
1073bc458a typo fix 2019-02-09 14:32:52 -06:00
Jacob Levine
f8dafe61f8 revamped profile page 2019-02-09 14:30:58 -06:00
Jacob Levine
c97e51d9bd even more bugfix 2019-02-09 14:01:32 -06:00
Jacob Levine
2e779a95d2 more bugfix 2019-02-09 14:00:50 -06:00
Jacob Levine
0c609064a6 bugfix 2019-02-09 13:59:23 -06:00
Jacob Levine
059509e018 revamped sign-in, now that we have working checks 2019-02-09 13:57:48 -06:00
Jacob Levine
2c9951d2c9 ok this should fix 2019-02-09 13:33:14 -06:00
Jacob Levine
290110274b even more of a last-ditch effort to make js not multithread everything 2019-02-09 13:32:06 -06:00
Jacob Levine
7d02c6373c even more of a last-ditch effort to make js not multithread everything 2019-02-09 13:04:12 -06:00
Jacob Levine
0b0d36d660 last-ditch effort to make js not multithread everything 2019-02-09 13:01:14 -06:00
Jacob Levine
807c66dd3a ok this should fix 2019-02-09 12:46:20 -06:00
Jacob Levine
f0c0d646b5 ok this should fix 2019-02-09 12:41:52 -06:00
Jacob Levine
390f3d9c4d rephrased check script. are you happy now, JS? 2019-02-09 12:31:25 -06:00
Jacob Levine
19a9995875 i apparently can't type 2019-02-09 12:17:47 -06:00
Jacob Levine
95eab24247 adding standalone profile page 2019-02-09 12:14:55 -06:00
Jacob Levine
3da5a0cbd7 adding timeout 2019-02-09 11:43:47 -06:00
Jacob Levine
447e3e12a3 apperently window loads too fast for firebase 2019-02-09 11:38:57 -06:00
Jacob Levine
5b922fc10b squashing bugs 2019-02-09 11:33:24 -06:00
Jacob Levine
e661af1add Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-02-09 11:29:03 -06:00
Jacob Levine
192d023325 testing signout logic 2019-02-09 11:27:46 -06:00
ltcptgeneral
6b91fe9819 fixed copy paste oppsie 2019-02-08 15:42:33 -06:00
Jacob Levine
82231cb04b styling fixes 2019-02-06 18:20:31 -06:00
Jacob Levine
39dc72add2 onload scripts 2019-02-06 18:19:18 -06:00
Jacob Levine
ac158bf0a9 bugfixes 2019-02-06 18:12:39 -06:00
Jacob Levine
7b2915f4f2 styling fixes 2019-02-06 18:09:47 -06:00
Jacob Levine
64354dbe19 Merge branch 'master' of https://github.com/titanscout2022/tr2022-strategy 2019-02-06 17:52:37 -06:00
Jacob Levine
901c8d25f8 added 3 other pages 2019-02-06 17:51:58 -06:00
ltcptgeneral
b346b01223 android app v 1.0.0.001 2019-02-06 17:43:38 -06:00
ltcptgeneral
73b419dfd6 android app v 1.0.0.000
finished android app
published source code
2019-02-06 17:06:25 -06:00
Jacob Levine
48f34f0472 revert some changes 2019-02-06 16:50:39 -06:00
Jacob Levine
e1769235f3 more styling 2019-02-06 16:45:56 -06:00
Jacob Levine
ac00138ca8 styling 2019-02-06 16:42:15 -06:00
Jacob Levine
28b5801bcc added sidebar 2019-02-06 16:21:41 -06:00
Jacob Levine
f2ed8ab04c sizing 2019-02-06 16:17:07 -06:00
Jacob Levine
781b4dc8b5 bugfix 2019-02-06 16:14:39 -06:00
Jacob Levine
19a236251a added sidebar 2019-02-06 16:08:28 -06:00
Jacob Levine
0d481b01df bugfix 2019-02-06 15:55:22 -06:00
jlevine18
5de2528d34 more bugfix 2019-02-06 15:37:27 -06:00
Jacob Levine
317ca72377 added info change functionality 2019-02-06 15:35:51 -06:00
Jacob Levine
c6e719240a bugfix 2019-02-06 15:25:15 -06:00
Jacob Levine
e554a1df99 reworked fix profile info 2019-02-06 15:22:09 -06:00
Jacob Levine
d9e7a1ed1e testing bugs 2019-02-06 15:04:31 -06:00
Jacob Levine
d968f10737 bugfix 2019-02-06 14:56:17 -06:00
Jacob Levine
dc80127dee bugfix 2019-02-06 14:51:31 -06:00
Jacob Levine
c591c84c75 added info change functionality 2019-02-06 14:46:41 -06:00
Jacob Levine
e290f5ae11 layout changes 2019-02-06 14:15:59 -06:00
Jacob Levine
b8d209b283 new fixes 2019-02-06 13:57:29 -06:00
Jacob Levine
f195b81974 added profile change functionality 2019-02-06 13:24:56 -06:00
ltcptgeneral
1293de346e analysis.py v 1.0.8.005, superscript.py v 1.0.1.000
changelog analysis.py:
- minor fixes
changelog superscript.py:
- added data reading from file
- added superstructure to code
2019-02-05 09:50:10 -06:00
ltcptgeneral
1b41c409cc created superscript.py, tbarequest.py v 1.0.1.000, edited repack_json.py
changelog tbarequest.py:
- fixed a simple error
2019-02-05 09:42:00 -06:00
ltcptgeneral
38d471113f Update .gitignore 2019-02-05 09:02:04 -06:00
ltcptgeneral
b31beb25be oof^2 2019-02-04 12:33:25 -06:00
ltcptgeneral
e3db22d262 Delete temp.txt 2019-02-04 10:50:43 -06:00
ltcptgeneral
e2d2e6687f oof 2019-02-04 10:50:07 -06:00
ltcptgeneral
b64ec05134 removed app bc jacob did fancy shit 2019-01-26 10:45:19 -06:00
ltcptgeneral
511e627899 Update workspace.xml 2019-01-26 10:40:35 -06:00
ltcptgeneral
ab0b2b9992 initialized app project 2019-01-26 10:32:00 -06:00
ltcptgeneral
0021eed5fb analysis.py - v 1.0.8.004
changelog
- removed a few unused dependencies
2019-01-26 10:11:54 -06:00
ltcptgeneral
8c35d8a3f6 yeeted histo_analysis_old() due to depreciation 2019-01-23 09:09:14 -06:00
ltcptgeneral
e5420844de yeeted useless comments 2019-01-22 22:42:37 -06:00
jlevine18
0fca5f58db ApiKey now changed and hidden-don't be stupid jake 2019-01-06 13:41:15 -06:00
Jacob Levine
07880038b0 folder move fix 2019-01-06 13:18:01 -06:00
Jacob Levine
d2d5d4c04e push all website files 2019-01-06 13:14:45 -06:00
jlevine18
d7301e26c3 Add files via upload 2019-01-06 13:02:35 -06:00
jlevine18
752b981e37 Rename website/functions/acorn to website/functions/node_modules/.bin/acorn 2019-01-06 12:57:46 -06:00
jlevine18
5f2db375f3 Add files via upload 2019-01-06 12:56:49 -06:00
jlevine18
cac1b4fba4 Add files via upload 2019-01-06 12:55:50 -06:00
jlevine18
236c4d02b6 Create index.js 2019-01-06 12:55:31 -06:00
jlevine18
8645eace5b Delete style.css 2019-01-06 12:54:41 -06:00
jlevine18
47cce54b3b Delete scripts.js 2019-01-06 12:54:35 -06:00
jlevine18
5a0fe35f86 Delete index.html 2019-01-06 12:54:29 -06:00
jlevine18
d3f8b474d0 upload website 2019-01-06 12:54:08 -06:00
ltcptgeneral
27145495e7 Update analysis.docs 2018-12-30 16:49:44 -06:00
ltcptgeneral
1a8da3fdd5 analysis.py - v 1.0.8.003
changelog:
- added p_value function
2018-12-29 16:28:41 -06:00
ltcptgeneral
444bfb5945 stuff 2018-12-26 17:08:04 -06:00
ltcptgeneral
cfee240e9c pineapple 2018-12-26 12:37:49 -06:00
ltcptgeneral
83a1dd5ced orange 2018-12-26 12:22:31 -06:00
ltcptgeneral
bf75e804cc bannana 2018-12-26 12:22:17 -06:00
ltcptgeneral
83e4f60a37 apple 2018-12-26 12:21:44 -06:00
bearacuda13
ae11605013 Add files via upload 2018-12-26 12:18:40 -06:00
bearacuda13
08b336cf15 Add files via upload 2018-12-26 12:14:05 -06:00
ltcptgeneral
eeeec86be6 temp 2018-12-26 12:06:42 -06:00
ltcptgeneral
9dbd897323 analysis.py - v 1.0.8.002
changelog:
- updated __all__ correctly to contain changes made in v 1.0.8.000 and v 1.0.8.001
2018-12-24 16:44:03 -06:00
jlevine18
71337c0fd5 fix other stupid mistakes 2018-12-24 14:50:04 -06:00
jlevine18
4e015180b6 fix syntax error 2018-12-24 14:42:54 -06:00
jlevine18
70591bc581 started ML module 2018-12-24 09:32:25 -06:00
jlevine18
288f97a3fd visualizer.py is now visualization.py 2018-12-21 11:10:18 -06:00
jlevine18
1126373bf2 Update tbarequest.py 2018-12-21 11:07:21 -06:00
jlevine18
fd0d43d29c added TBA requests module 2018-12-21 11:04:46 -06:00
jlevine18
cc6a7697cf Update visualization.py 2018-12-20 22:01:28 -06:00
jlevine18
2140ea8f77 started visualization module 2018-12-20 21:45:05 -06:00
ltcptgeneral
9dd5cc76f6 analysis.py - v 1.0.8.001
changelog:
- refactors
- bugfixes
2018-12-20 20:49:09 -06:00
ltcptgeneral
7b1e54eed8 refactor analysis.py 2018-12-20 15:05:43 -06:00
ltcptgeneral
188a7bbf1f Update data.csv 2018-12-20 12:21:26 -06:00
ltcptgeneral
b7a0c5286a analysis.py - v 1.0.8.000
changelog:
- depreciated histo_analysis_old
- depreciated debug
- altered basic_analysis to take array data instead of filepath
- refactor
- optimization
2018-12-20 12:21:22 -06:00
ltcptgeneral
32a2d6321c no change 2018-12-13 08:57:19 -06:00
ltcptgeneral
d2f6961693 Update analysis.cpython-37.pyc 2018-12-07 16:56:09 -06:00
ltcptgeneral
107076ac35 added visualizer.py, reorganized folders 2018-12-05 11:31:38 -06:00
ltcptgeneral
0b73460446 Update analysis.cpython-37.pyc 2018-12-04 19:05:13 -06:00
ltcptgeneral
39d5522650 Update analysis_docs.txt 2018-12-01 22:34:30 -06:00
ltcptgeneral
68d6c87589 Update analysis_docs.txt 2018-12-01 22:13:19 -06:00
ltcptgeneral
222c536631 created docs 2018-12-01 21:02:53 -06:00
ltcptgeneral
bd3f695938 a 2018-12-01 14:51:50 -06:00
ltcptgeneral
1b1a7c45bf Update analysis.cpython-37.pyc 2018-12-01 14:51:38 -06:00
ltcptgeneral
8a58fe28fa analysis.py - v 1.0.7.002
changelog:
	- bug fixes
2018-11-29 12:58:53 -06:00
ltcptgeneral
9c67e6f927 analysis.py - v 1.0.7.001
changelog:
	- bug fixes
2018-11-29 12:36:25 -06:00
ltcptgeneral
8d2dedc5a2 update analysis.py 2018-11-29 09:33:18 -06:00
ltcptgeneral
944cb31883 Update analysis.py
a quick update
2018-11-29 09:32:27 -06:00
ltcptgeneral
b38ffe1f08 Update requirements.txt 2018-11-29 09:31:55 -06:00
ltcptgeneral
19f89d3f35 updated stuff 2018-11-29 09:27:08 -06:00
ltcptgeneral
504fc92feb Create analysis.cpython-37.pyc 2018-11-29 09:04:17 -06:00
ltcptgeneral
5eb5e5ed8e removes stuff 2018-11-29 09:00:47 -06:00
ltcptgeneral
88be42de45 removed generate_data.py 2018-11-29 08:53:41 -06:00
ltcptgeneral
704a2d5808 analysis.py - v 1.0.7.000
changelog:
        - added tanh_regression (logistical regression)
	- bug fixes
2018-11-28 16:35:47 -06:00
ltcptgeneral
e915fe538e analysis.py - v 1.0.6.005
changelog:
        - added z_normalize function to normalize dataset
	- bug fixes
2018-11-28 14:29:32 -06:00
ltcptgeneral
5295bef18b Update analysis.cpython-37.pyc 2018-11-28 11:35:21 -06:00
ltcptgeneral
ae69eb7a40 Merge branch 'master' of https://github.com/ltcptgeneral/tr2022-strategy 2018-11-28 11:12:53 -06:00
jlevine18
46f434b815 started website 2018-11-28 11:10:38 -06:00
jlevine18
cce111bd6a Create index.html 2018-11-28 11:06:04 -06:00
15573 changed files with 2097496 additions and 195 deletions

6
.gitignore vendored
View File

@@ -1,2 +1,8 @@
benchmark_data.csv
data analysis/keys/keytemp.json
data analysis/__pycache__/analysis.cpython-37.pyc
apps/android/source/app/src/main/res/drawable-v24/uuh.png
apps/android/source/app/src/main/java/com/example/titanscouting/tits.java

2
README.md Normal file
View File

@@ -0,0 +1,2 @@
# tr2022-strategy
Titan Robotics 2022 Strategy Team Repository

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-debug.apk","fullName":"debug","baseName":"debug"},"path":"app-debug.apk","properties":{}}]

13
apps/android/source/.gitignore vendored Normal file
View File

@@ -0,0 +1,13 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild

View File

@@ -0,0 +1,29 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>

18
apps/android/source/.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>

9
apps/android/source/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>

6
apps/android/source/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
</component>
</project>

1
apps/android/source/app/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,28 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.titanscouting"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

Binary file not shown.

View File

@@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@@ -0,0 +1,26 @@
package com.example.titanscouting;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.example.titanscouting", appContext.getPackageName());
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.titanscouting">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@drawable/binoculars_big"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity android:name=".tits"></activity>
<activity android:name=".launcher">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,32 @@
package com.example.titanscouting;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://titanrobotics.ddns.net:60080/public/");
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
myWebView.getSettings().setDomStorageEnabled(true);
myWebView.getSettings().setDomStorageEnabled(true);
}
}

View File

@@ -0,0 +1,49 @@
package com.example.titanscouting;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class launcher extends AppCompatActivity {
Button button;
EditText passField;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
// Locate the button in activity_main.xml
button = (Button) findViewById(R.id.launch_button);
final EditText passField = (EditText)findViewById(R.id.editText);
// Capture button clicks
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// Start NewActivity.class
if(passField.getText().toString().equals("gimmetits")){
Intent myIntent = new Intent(launcher.this,
tits.class);
startActivity(myIntent);
}
else {
Intent myIntent = new Intent(launcher.this,
MainActivity.class);
startActivity(myIntent);
}
}
});
}
}

View File

@@ -0,0 +1,30 @@
package com.example.titanscouting;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class tits extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tits);
button = (Button) findViewById(R.id.button);
// Capture button clicks
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent myIntent = new Intent(tits.this,
MainActivity.class);
startActivity(myIntent);
}
});
}
}

View File

@@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeWidth="1"
android:strokeColor="#00000000">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".launcher">
<Button
android:id="@+id/launch_button"
android:layout_width="253dp"
android:layout_height="56dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="Launch Titan Scouting"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/launch_button"
app:layout_constraintVertical_bias="0.0" />
</android.support.constraint.ConstraintLayout>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:id="@+id/webview"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.48000002" />
</android.support.constraint.ConstraintLayout>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".tits">
<ImageView
android:id="@+id/imageView"
android:layout_width="372dp"
android:layout_height="487dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="215dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/uuh" />
<Button
android:id="@+id/button"
android:layout_width="198dp"
android:layout_height="86dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="Fuck Get Me Out"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
</android.support.constraint.ConstraintLayout>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
</resources>

View File

@@ -0,0 +1,3 @@
<resources>
<string name="app_name">TitanScout</string>
</resources>

View File

@@ -0,0 +1,11 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>

View File

@@ -0,0 +1,17 @@
package com.example.titanscouting;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}

View File

@@ -0,0 +1,27 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

View File

@@ -0,0 +1,15 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

Binary file not shown.

View File

@@ -0,0 +1,6 @@
#Wed Feb 06 15:44:44 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

172
apps/android/source/gradlew vendored Normal file
View File

@@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

84
apps/android/source/gradlew.bat vendored Normal file
View File

@@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View File

@@ -0,0 +1 @@
include ':app'

0
apps/ios/temp.txt Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -7,10 +7,37 @@
#number of easter eggs: 2
#setup:
__version__ = "1.0.6.004"
__version__ = "1.0.8.005"
#changelog should be viewed using print(analysis.__changelog__)
__changelog__ = """changelog:
1.0.8.005:
- minor fixes
1.0.8.004:
- removed a few unused dependencies
1.0.8.003:
- added p_value function
1.0.8.002:
- updated __all__ correctly to contain changes made in v 1.0.8.000 and v 1.0.8.001
1.0.8.001:
- refactors
- bugfixes
1.0.8.000:
- depreciated histo_analysis_old
- depreciated debug
- altered basic_analysis to take array data instead of filepath
- refactor
- optimization
1.0.7.002:
- bug fixes
1.0.7.001:
- bug fixes
1.0.7.000:
- added tanh_regression (logistical regression)
- bug fixes
1.0.6.005:
- added z_normalize function to normalize dataset
- bug fixes
1.0.6.004:
- bug fixes
1.0.6.003:
@@ -85,8 +112,9 @@ __all__ = [
'load_csv',
'basic_stats',
'z_score',
'z_normalize',
'stdev_z_split',
'histo_analysis', #histo_analysis_old is intentionally left out as it has been depreciated since v 1.0.1.005
'histo_analysis',
'poly_regression',
'log_regression',
'exp_regression',
@@ -95,6 +123,7 @@ __all__ = [
'calc_overfit',
'strip_data',
'optimize_regression',
'select_best_regression',
'basic_analysis',
#all statistics functions left out due to integration in other functions
]
@@ -114,8 +143,11 @@ import math
import matplotlib
import numbers
import numpy as np
import pandas
import random
import scipy
from scipy.optimize import curve_fit
from scipy import stats
from sklearn import *
#import statistics <-- statistics.py functions have been integrated into analysis.py as of v 1.0.3.002
import time
@@ -126,16 +158,13 @@ class error(ValueError):
def _init_device (setting, arg): #initiates computation device for ANNs
if setting == "cuda":
temp = setting + ":" + str(arg)
try:
the_device_woman = torch.device(temp if torch.cuda.is_available() else "cpu")
return the_device_woman #name that reference
return torch.device(setting + ":" + str(arg) if torch.cuda.is_available() else "cpu")
except:
raise error("could not assign cuda or cpu")
elif setting == "cpu":
try:
the_device_woman = torch.device("cpu")
return the_device_woman #name that reference
return torch.device("cpu")
except:
raise error("could not assign cpu")
else:
@@ -382,19 +411,19 @@ class objectives:
def load_csv(filepath):
with open(filepath, newline = '') as csvfile:
file_array = list(csv.reader(csvfile))
csvfile.close()
return file_array
def basic_stats(data, method, arg): # data=array, mode = ['1d':1d_basic_stats, 'column':c_basic_stats, 'row':r_basic_stats], arg for mode 1 or mode 2 for column or row
if method == 'debug':
out = "basic_stats requires 3 args: data, mode, arg; where data is data to be analyzed, mode is an int from 0 - 2 depending on type of analysis (by column or by row) and is only applicable to 2d arrays (for 1d arrays use mode 1), and arg is row/column number for mode 1 or mode 2; function returns: [mean, median, mode, stdev, variance]"
return out
return "basic_stats requires 3 args: data, mode, arg; where data is data to be analyzed, mode is an int from 0 - 2 depending on type of analysis (by column or by row) and is only applicable to 2d arrays (for 1d arrays use mode 1), and arg is row/column number for mode 1 or mode 2; function returns: [mean, median, mode, stdev, variance]"
if method == "1d" or method == 0:
data_t = []
for i in range (0, len(data) - 1, 1):
for i in range (0, len(data), 1):
data_t.append(float(data[i]))
_mean = mean(data_t)
@@ -412,7 +441,7 @@ def basic_stats(data, method, arg): # data=array, mode = ['1d':1d_basic_stats, '
except:
_variance = None
return [_mean, _median, _mode, _stdev, _variance]
return _mean, _median, _mode, _stdev, _variance
elif method == "column" or method == 1:
@@ -440,7 +469,7 @@ def basic_stats(data, method, arg): # data=array, mode = ['1d':1d_basic_stats, '
except:
_variance = None
return [_mean, _median, _mode, _stdev, _variance]
return _mean, _median, _mode, _stdev, _variance
elif method == "row" or method == 2:
@@ -464,7 +493,7 @@ def basic_stats(data, method, arg): # data=array, mode = ['1d':1d_basic_stats, '
except:
_variance = None
return [_mean, _median, _mode, _stdev, _variance]
return _mean, _median, _mode, _stdev, _variance
else:
raise error("method error")
@@ -473,6 +502,47 @@ def z_score(point, mean, stdev): #returns z score with inputs of point, mean and
score = (point - mean)/stdev
return score
def z_normalize(x, y, mode): #mode is either 'x' or 'y' or 'both' depending on the variable(s) to be normalized
x_norm = []
y_norm = []
mean = 0
stdev = 0
if mode == 'x':
_mean, _median, _mode, _stdev, _variance = basic_stats(x, "1d", 0)
for i in range (0, len(x), 1):
x_norm.append(z_score(x[i], _mean, _stdev))
return x_norm, y
if mode == 'y':
_mean, _median, _mode, _stdev, _variance = basic_stats(y, "1d", 0)
for i in range (0, len(y), 1):
y_norm.append(z_score(y[i], _mean, _stdev))
return x, y_norm
if mode == 'both':
_mean, _median, _mode, _stdev, _variance = basic_stats(x, "1d", 0)
for i in range (0, len(x), 1):
x_norm.append(z_score(x[i], _mean, _stdev))
_mean, _median, _mode, _stdev, _variance = basic_stats(y, "1d", 0)
for i in range (0, len(y), 1):
y_norm.append(z_score(y[i], _mean, _stdev))
return x_norm, y_norm
else:
return error('method error')
def stdev_z_split(mean, stdev, delta, low_bound, high_bound): #returns n-th percentile of spread given mean, standard deviation, lower z-score, and upper z-score
z_split = []
@@ -486,44 +556,18 @@ def stdev_z_split(mean, stdev, delta, low_bound, high_bound): #returns n-th perc
return z_split
def histo_analysis_old(hist_data): #note: depreciated since v 1.0.1.005
if hist_data == 'debug':
return['lower estimate (5%)', 'lower middle estimate (25%)', 'middle estimate (50%)', 'higher middle estimate (75%)', 'high estimate (95%)', 'standard deviation', 'note: this has been depreciated']
derivative = []
for i in range(0, len(hist_data) - 1, 1):
derivative.append(float(hist_data[i+1]) - float(hist_data[i]))
derivative_sorted = sorted(derivative, key=int)
mean_derivative = basic_stats(derivative_sorted, "1d", 0)[0]
print(mean_derivative)
stdev_derivative = basic_stats(derivative_sorted, "1d", 0)[3]
low_bound = mean_derivative + -1.645 * stdev_derivative
lm_bound = mean_derivative + -0.674 * stdev_derivative
mid_bound = mean_derivative * 0 * stdev_derivative
hm_bound = mean_derivative + 0.674 * stdev_derivative
high_bound = mean_derivative + 1.645 * stdev_derivative
low_est = float(hist_data[-1:][0]) + low_bound
lm_est = float(hist_data[-1:][0]) + lm_bound
mid_est = float(hist_data[-1:][0]) + mid_bound
hm_est = float(hist_data[-1:][0]) + hm_bound
high_est = float(hist_data[-1:][0]) + high_bound
return [low_est, lm_est, mid_est, hm_est, high_est, stdev_derivative]
def histo_analysis(hist_data, delta, low_bound, high_bound):
if hist_data == 'debug':
return ('returns list of predicted values based on historical data; input delta for delta step in z-score and lower and higher bounds in number for standard deviations')
return ('returns list of predicted values based on historical data; input delta for delta step in z-score and lower and higher bounds in number of standard deviations')
derivative = []
for i in range(0, len(hist_data) - 1, 1):
derivative.append(float(hist_data[i + 1]) - float(hist_data [i]))
for i in range(0, len(hist_data), 1):
try:
derivative.append(float(hist_data[i - 1]) - float(hist_data [i]))
except:
pass
derivative_sorted = sorted(derivative, key=int)
mean_derivative = basic_stats(derivative_sorted,"1d", 0)[0]
@@ -571,7 +615,11 @@ def poly_regression(x, y, power):
for i in range(0, len(x), 1):
z = x[i]
try:
exec("vals.append(" + eq_str + ")")
except:
pass
_rms = rms(vals, y)
r2_d2 = r_squared(vals, y)
@@ -583,27 +631,37 @@ def log_regression(x, y, base):
x_fit = []
for i in range(len(x)):
try:
x_fit.append(np.log(x[i]) / np.log(base)) #change of base for logs
except:
pass
reg_eq = np.polyfit(x_fit, y, 1) # y = reg_eq[0] * log(x, base) + reg_eq[1]
eq_str = str(reg_eq[0]) + "* (np.log(z) / np.log(" + str(base) +"))+" + str(reg_eq[1])
q_str = str(reg_eq[0]) + "* (np.log(z) / np.log(" + str(base) +"))+" + str(reg_eq[1])
vals = []
for i in range(len(x)):
z = x[i]
try:
exec("vals.append(" + eq_str + ")")
except:
pass
_rms = rms(vals, y)
r2_d2 = r_squared(vals, y)
return [eq_str, _rms, r2_d2]
return eq_str, _rms, r2_d2
def exp_regression(x, y, base):
y_fit = []
for i in range(len(y)):
try:
y_fit.append(np.log(y[i]) / np.log(base)) #change of base for logs
except:
pass
reg_eq = np.polyfit(x, y_fit, 1, w=np.sqrt(y_fit)) # y = base ^ (reg_eq[0] * x) * base ^ (reg_eq[1])
eq_str = "(" + str(base) + "**(" + str(reg_eq[0]) + "*z))*(" + str(base) + "**(" + str(reg_eq[1]) + "))"
@@ -611,22 +669,45 @@ def exp_regression(x, y, base):
for i in range(len(x)):
z = x[i]
try:
exec("vals.append(" + eq_str + ")")
except:
pass
_rms = rms(vals, y)
r2_d2 = r_squared(vals, y)
return [eq_str, _rms, r2_d2]
return eq_str, _rms, r2_d2
def tanh_regression(x, y):
def tanh (x, a, b, c, d):
return a * np.tanh(b * (x - c)) + d
reg_eq = np.float64(curve_fit(tanh, np.array(x), np.array(y))[0]).tolist()
eq_str = str(reg_eq[0]) + " * np.tanh(" + str(reg_eq[1]) + "*(z - " + str(reg_eq[2]) + ")) + " + str(reg_eq[3])
vals = []
for i in range(len(x)):
z = x[i]
try:
exec("vals.append(" + eq_str + ")")
except:
pass
_rms = rms(vals, y)
r2_d2 = r_squared(vals, y)
return eq_str, _rms, r2_d2
def r_squared(predictions, targets): # assumes equal size inputs
out = metrics.r2_score(targets, predictions)
return out
return metrics.r2_score(np.array(targets), np.array(predictions))
def rms(predictions, targets): # assumes equal size inputs
out = 0
_sum = 0
for i in range(0, len(targets), 1):
@@ -650,7 +731,7 @@ def calc_overfit(equation, rms_train, r2_train, x_test, y_test):
r2_test = r_squared(vals, y_test)
rms_test = rms(vals, y_test)
return rms_train - rms_test, r2_train - r2_test
return r2_train - r2_test
def strip_data(data, mode):
@@ -669,16 +750,19 @@ def optimize_regression(x, y, _range, resolution):#_range in poly regression is
raise error("resolution must be int")
x_train = x
y_train = y
y_train = []
for i in range(len(y)):
y_train.append(float(y[i]))
x_test = []
y_test = []
for i in range (0, math.floor(len(x) * 0.4), 1):
for i in range (0, math.floor(len(x) * 0.5), 1):
index = random.randint(0, len(x) - 1)
x_test.append(x[index])
y_test.append(y[index])
y_test.append(float(y[index]))
x_train.pop(index)
y_train.pop(index)
@@ -691,23 +775,38 @@ def optimize_regression(x, y, _range, resolution):#_range in poly regression is
r2s = []
for i in range (0, _range + 1, 1):
eqs.append(poly_regression(x_train, y_train, i)[0])
rmss.append(poly_regression(x_train, y_train, i)[1])
r2s.append(poly_regression(x_train, y_train, i)[2])
for i in range (1, 100 * resolution + 1):
try:
eqs.append(exp_regression(x_train, y_train, float(i / resolution))[0])
rmss.append(exp_regression(x_train, y_train, float(i / resolution))[1])
r2s.append(exp_regression(x_train, y_train, float(i / resolution))[2])
x, y, z = poly_regression(x_train, y_train, i)
eqs.append(x)
rmss.append(y)
r2s.append(z)
except:
pass
for i in range (1, 100 * resolution + 1):
try:
eqs.append(log_regression(x_train, y_train, float(i / resolution))[0])
rmss.append(log_regression(x_train, y_train, float(i / resolution))[1])
r2s.append(log_regression(x_train, y_train, float(i / resolution))[2])
x, y, z = exp_regression(x_train, y_train, float(i / resolution))
eqs.append(x)
rmss.append(y)
r2s.append(z)
except:
pass
for i in range (1, 100 * resolution + 1):
try:
x, y, z = log_regression(x_train, y_train, float(i / resolution))
eqs.append(x)
rmss.append(y)
r2s.append(z)
except:
pass
try:
x, y, z = tanh_regression(x_train, y_train)
eqs.append(x)
rmss.append(y)
r2s.append(z)
except:
pass
@@ -728,15 +827,46 @@ def optimize_regression(x, y, _range, resolution):#_range in poly regression is
overfit = []
for i in range (0, len(eqs), 1):
overfit.append(calc_overfit(eqs[i], rmss[i], r2s[i], x_test, y_test))
return eqs, rmss, r2s, overfit
def basic_analysis(filepath): #assumes that rows are the independent variable and columns are the dependant. also assumes that time flows from lowest column to highest column.
def select_best_regression(eqs, rmss, r2s, overfit, selector):
b_eq = ""
b_rms = 0
b_r2 = 0
b_overfit = 0
ind = 0
if selector == "min_overfit":
ind = np.argmin(overfit)
b_eq = eqs[ind]
b_rms = rmss[ind]
b_r2 = r2s[ind]
b_overfit = overfit[ind]
if selector == "max_r2s":
ind = np.argmax(r2s)
b_eq = eqs[ind]
b_rms = rmss[ind]
b_r2 = r2s[ind]
b_overfit = overfit[ind]
return b_eq, b_rms, b_r2, b_overfit
def p_value(x, y): #takes 2 1d arrays
return stats.ttest_ind(x, y)[1]
def basic_analysis(data): #assumes that rows are the independent variable and columns are the dependant. also assumes that time flows from lowest column to highest column.
data = load_csv(filepath)
row = len(data)
column = []
for i in range(0, row, 1):
@@ -757,14 +887,15 @@ def basic_analysis(filepath): #assumes that rows are the independent variable an
return[row_b_stats, column_b_stats, row_histo]
def benchmark(x, y):
start_g = time.time()
generate_data("benchmark_data.csv", x, y, -10, 10)
generate_data("data/data.csv", x, y, -10, 10)
end_g = time.time()
start_a = time.time()
basic_analysis("benchmark_data.csv")
basic_analysis("data/data.csv")
end_a = time.time()
return [(end_g - start_g), (end_a - start_a)]
@@ -782,68 +913,6 @@ def generate_data(filename, x, y, low, high):
temp = temp + str(random.uniform(low, high))
file.write(temp + "\n")
def debug():
data = load_csv('data.csv')
print("--------------------------------")
print(basic_stats(0, 'debug', 0))
print(basic_stats(data, "column", 0))
print(basic_stats(data, "row", 0))
print(z_score(10, basic_stats(data, "column", 0)[0], basic_stats(data, "column", 0)[3]))
print(histo_analysis(data[0], 0.01, -1, 1))
print(stdev_z_split(3.3, 0.2, 0.1, -5, 5))
print("--------------------------------")
game_c_entities = c_entities(["bot", "bot", "bot"], [0, 1, 2], [[10, 10], [-10, -10], [10, -10]], ["shit", "bad", "worse"], ["triangle", "square", "circle"])
game_c_entities.append("bot", 3, [-10, 10], "useless", "pentagram")
game_c_entities.edit(0, "null", "null", "null", "null", "triagon")
print(game_c_entities.search(0))
print(game_c_entities.debug())
print(game_c_entities.regurgitate())
print("--------------------------------")
game_nc_entities = nc_entities(["cube", "cube", "ball"], [0, 1, 2], [[0, 0.5], [1, 1.5], [2, 2]], ["1;1;1;10', '2;1;1;20", "r=0.5, 5"], ["1", "1", "0"])
game_nc_entities.append("cone", 3, [1, -1], "property", "effect")
game_nc_entities.edit(2, "sphere", 10, [5, -5], "new prop", "new effect")
print(game_nc_entities.search(10))
print(game_nc_entities.debug())
print(game_nc_entities.regurgitate())
print("--------------------------------")
game_obstacles = obstacles(["wall", "fortress", "castle"], [0, 1, 2],[[[10, 10], [10, 9], [9, 10], [9, 9]], [[-10, 9], [-10, -9], [-9, -10]], [[5, 0], [4, -1], [-4, -1]]] , [0, 0.01, 10])
game_obstacles.append("bastion", 3, [[50, 50], [49, 50], [50, 49], [49, 49]], 75)
game_obstacles.edit(0, "motte and bailey", "null", [[10, 10], [9, 10], [10, 9], [9, 9]], 0.01)
print(game_obstacles.search(0))
print(game_obstacles.debug())
print(game_obstacles.regurgitate())
print("--------------------------------")
game_objectives = objectives(["switch", "scale", "climb"], [0,1,2], [[0,0],[1,1],[2,0]], ["0,1", "1,1", "0,5"])
game_objectives.append("auto", 3, [0, 10], "1, 10")
game_objectives.edit(3, "null", 4, "null", "null")
print(game_objectives.search(4))
print(game_objectives.debug())
print(game_objectives.regurgitate())
print("--------------------------------")
print(poly_regression([1, 2, 3, 4, 5], [1, 2, 4, 8, 16], 2))
print(log_regression([1, 2, 3, 4], [2, 4, 8, 16], 2.717))
print(exp_regression([1, 2, 3, 4], [2, 4, 8, 16], 2.717))
x, y, z = optimize_regression([0, 1, 2, 3, 4], [1, 2, 4, 7, 19], 10, 100)
for i in range(0, len(x), 1):
print(str(x[i]) + " | " + str(y[i]) + " | " + str(z[i]))
#statistics def below
class StatisticsError(ValueError):
pass

Binary file not shown.

View File

@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,6 @@
2,3
6,5
5,5
5,8
6,6
6,8
1 2 3
2 6 5
3 5 5
4 5 8
5 6 6
6 6 8

View File

@@ -0,0 +1,53 @@
4,6,4,5
3,4,8,8
2,8,3,0
5,8,4,7
4,0,9,6
2,0,1,6
5,3,5,0
2,0,2,2
4,8
6,6,5,1
2,1,5,1
2,0,3,9
2,2,5,2
1,1,1
6,8,2,3
2,1,3,6
4,2,9,2
5,8,2,2
7,6,0,8
2,3,5,8
4,2,4,1
3,1,1,0
7,6,0,9
5,1,2,5
6,9,0,6
9,3,0
2,0,6,2
3,0,6,7
4,7,8,7
2,7,0,9
7,5,6,0
5,9,3,4
4,7,0,2
5,1,4,8
1,6
4,1,5,6
1,8,8,4
1,6,7,5
1,7,9,7
2,4,5,1
7,7,3,8
1,0,1
1,7,3,9
3,7,3,4
1,7,3,6
3,0,6,1
2,7,2,5
7,2,3,7
3,6,9,5
6,9,6,8
1,7,8,1
4,2,9,6
2,3,3,8
1 4,6,4,5
2 3,4,8,8
3 2,8,3,0
4 5,8,4,7
5 4,0,9,6
6 2,0,1,6
7 5,3,5,0
8 2,0,2,2
9 4,8
10 6,6,5,1
11 2,1,5,1
12 2,0,3,9
13 2,2,5,2
14 1,1,1
15 6,8,2,3
16 2,1,3,6
17 4,2,9,2
18 5,8,2,2
19 7,6,0,8
20 2,3,5,8
21 4,2,4,1
22 3,1,1,0
23 7,6,0,9
24 5,1,2,5
25 6,9,0,6
26 9,3,0
27 2,0,6,2
28 3,0,6,7
29 4,7,8,7
30 2,7,0,9
31 7,5,6,0
32 5,9,3,4
33 4,7,0,2
34 5,1,4,8
35 1,6
36 4,1,5,6
37 1,8,8,4
38 1,6,7,5
39 1,7,9,7
40 2,4,5,1
41 7,7,3,8
42 1,0,1
43 1,7,3,9
44 3,7,3,4
45 1,7,3,6
46 3,0,6,1
47 2,7,2,5
48 7,2,3,7
49 3,6,9,5
50 6,9,6,8
51 1,7,8,1
52 4,2,9,6
53 2,3,3,8

View File

@@ -0,0 +1 @@
21, 23, 39, 50, 89, 97, 191, 213, 233, 236, 272, 289, 308, 310, 314, 317, 329, 355, 428, 436
1 21 23 39 50 89 97 191 213 233 236 272 289 308 310 314 317 329 355 428 436 1 25 34 106 112 132 146 167 184 223 256 267 304 337 339 370 411 460 485 494 7 11 55 81 92 144 151 157 165 174 177 220 241 312 320 341 343 347 419 473 6 9 11 28 31 194 200 201 246 298 340 351 355 364 388 395 414 422 429 442 33 73 102 103 137 183 200 212 218 242 249 264 294 302 310 378 400 408 457 473

View File

@@ -0,0 +1 @@
2022
1 2022 2011 1101 821374 5

View File

@@ -0,0 +1,178 @@
Doccumentation of python module: analysis.py
revision version: 1.0.8.003
analysis.py{
analysis.py should be imported as a python module using "import analysis" in the tr2022 directory, or using "from tr2022 import analysis" if tr2022 modules are installed in the python Libs directory
analysis.py is a module designed for statistical analyses and artifician neural network analyses
functions{
_init_device{
initiates device for tensor flow with either a cuda device (device specified via the "arg" argument) or cpu (ignored "arg" argument)
usage{
analysis._init_device("cuda", arg) , where arg is the cuda device number
analysis._init_device("cpu", 0) , which initiates the cpu as the tensorflow device
}
}
load_csv{
loads a csv file as a 2 dimentional array
usage{
analysis.load_csv(filepath) , where filepath is the path to the csv file to be loaded
}
}
basic_stats{
performs basic stats such as mean, median, mode, standard deviation, and varaince on a set of data
the function can do stats on a 1 dimentional array, or on a specified row or column in a 2 dimentional array
the method in which it does the statistics is specified by the "method" argument
usage{
analysis.basic_stats(data, "1d", 0) , where data is a 1 dimentional array
analysis.basic_stats(data, "row", rownum) , where data is a 2 dimentional array and "rownum" is the row to run statistics on
analysis.basic_stats(data, "column", columnnum) , where data is a 2 dimentional array and "columnnum" is the column to run statistics on
}
}
z_score{
returns the z score of a point relative to the population mean and standard deviation
usage{
analysis.z_score(datapoint, mean, stdev) , where "datapoint" is the specific data point to assign a z score, mean is the mean of the entire data set, and stdev is the standard deviation of the data set
}
}
z_normalize{
used in other functions, not important
}
stdev_z_split{
used in other functions, not important
}
histo_analysis{
returns an analysis of historical data, the analysis predicts a range of possible next data poins given historical data
usage{
analysis.histo_analysis(data, delta, low, high) , where data is the historical data to be predicted, delta are the steps (in standard deviations) that the predictor uses, and the low and high bounds are the ranges of standard deviations that the function predicts within
}
}
poly_regression{
used in other functions, not important
}
log_regression{
used in other functions, not important
}
exp_regression{
used in other functions, not important
}
tanh_regression{
used in other functions, not important
}
r_squared{
used in other functions
returns the r^2 score of a curve and corresponding data
}
rms{
used in other functions
returns the root mean squared score of a curve and corresponding data
}
calc_overfit{
used in other functions, not important
}
optimize_regression{
returns a list of possible regressions given the x and y coordinates of the data
usage{
analysis.optimize_regression(x, y, range, resolution) , where x and y are the x and y values of each data point, range is the range of polynomial equations tried, and resolution is the detail of bases used for exponential and logorithmic regressions
}
}
select_best_regression{
takes a list of equations and returns the best equation, either based on minimizing overfit or based on maximizing root mean squareds
}
p_value{
returns the p value of two data sets
}
basic_analysis{
runs every stat on a given file
}
}
}

View File

@@ -1,16 +0,0 @@
import random
def generate(filename, x, y, low, high):
file = open(filename, "w")
for i in range (0, y, 1):
temp = ""
for j in range (0, x - 1, 1):
temp = str(random.uniform(low, high)) + "," + temp
temp = temp + str(random.uniform(low, high))
file.write(temp + "\n")

View File

@@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "titanscoutandroid",
"private_key_id": "e7cde706a13a6fade555cce2bc46ee53f05a0b11",
"private_key": "-----BEGIN PRIVATE KEY-----\(gottem)/B\ntvFNxi7l6IsHUa+ijrDKGP3O2jbQCWjfBS0gNxpx65JXdKw4l+5p1lIyO5xe5b2m\nKOGQQf9Vd3X6xP9ttHD9ILjvdDRGvtR/bkD3e1ZdFSvt1PDddcLLPnIeDgkNQHXd\nzAYv0TIspJe6bUL3a5+HGK7nyfH7dGXZksNB/hiy3WS/eAgAnL6xzCRsdjK40Cf4\nP7B79bCNNnxnOy/GBpXG/CE8H+xGRr1Xuj5pmJFTc6GbaDbLc8bKMvVOzbCPYKgu\nbCaidtDoiMEJqy8AakrvN39DrlUOT3+kbAhJpw/fk9Rq4A2Mo+J2BuApze2hoYET\noI5HysuLAgMBAAECggEAGYkXgTTrxFmKLUC1+yFI3YO6yaIxrH4bdEStgF6Rq784\nWX+SZCjBKAYC5BrDOrp66/pavEJDo2Oi3WU9su2OqTu3nRJyD+2Uplan//3VnH+p\nOg06XVtGMQxoKghIcvRtj03z4K2CeQsGYXs/juIF4MOUCmMMezbVpkrn0CvyMZGM\n5vrFXvOwdKHyZaDXvql8nQIq6b46RC6ozLUBidEW37pHvuZm+QWD0W7VS2na4DKw\n+jIJz8zjsg3vCLpdTOMFxymW/LmusFTubn3evv4/8BLvw69seWPOyNi/PEjZWwgR\npQA7VYkETlZopZ6paHutmD5Yy4N0FjcJ6PMocwgKQQKBgQDnf6oFvZFV/QO1RACi\nhc0skytc7h96ePUWLwIMSMed3Jdr5ANC6tD4OIwGyrCDfKuLvsUCyEjHKhW8tarb\nTioaqgzM8Jwn+HMTyLJjzU4j8KhxgQWoLWri2HgRlqZV2Y1XNO3fRA8Zs3CsT7Fa\nIyEnKylWM6u0kQ2mMQicgQpulQKBgQC/BjSELv43ZGZKBg5m+Ps+PEFxJArvJgqA\nd+lXSHYkALWynyvukAuhmciAEKN1NKL7/DvxzfNRRXB32kmQkcjcsFZnnqbEkpq+\nzCOIJcesYN0k3kiCJuoNENdQXtAKGJrtHF1ilJfpt5Yuw67VC/B/JwkPF2wCsSfU\nHusyguFpnwKBgGKzVaRY7KxC0d/o/HROo+nLXYOjqxwmkihBJphiN2mg8ZZ4gsN3\nJl2OjnUe2h9VejZ8wbar+gugb+AjfJNAQkdYFVkThSCtlzLqMNTIZfaA1vB92BGa\nO6Y4MQkeuBCGTvLNiFXWyLFmhjWRTMZnj+0JQ/iS0zSLW8xtv4QqqG35AoGBAIee\n3zAtsP0gweKyNA11neLMouWx4jVx+6jD+Z2na4EaI+YiTe18xVVBOnF53qM68LAY\nn3KIdsRvmW7uQqZqaoIMi/vbTqlnMIhfpKZntEC1MKyZSD9nY2pNV6DO/8L7Pxsy\ntTZlKwma9vxSn9DQPjn4O91EEsJChnV6Uh+1flYfAoGADfomBP+kLm0jdvKm3Q+u\nA5S4ng3erDbCbZK0ADeVY5H0fNNJihx1yXx12g02T0biH6Efj+VpCeYC6W0wb2A1\nT/HqY1JSSsKQ7cPe1VEPKbbfn6PPrs+HbsHB8DDVPi9pysVfG7351PgNX/tb+iz/\nvJCSRvjRtxyFafuX4YQzWu0=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-wpsvx@titanscoutandroid.iam.gserviceaccount.com",
"client_id": "114864465329268712237",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-wpsvx%40titanscoutandroid.iam.gserviceaccount.com"
}

View File

@@ -0,0 +1,132 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import firebase_admin\n",
"from firebase_admin import credentials\n",
"from firebase_admin import firestore\n",
"import csv\n",
"import numpy as np\n",
"# Use a service account\n",
"cred = credentials.Certificate(r'../keys/fsk.json')\n",
"#add your own key as this is public. email me for details\n",
"firebase_admin.initialize_app(cred)\n",
"\n",
"db = firestore.client()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"teams=db.collection('data').document('team-2022').collection(\"Midwest 2019\").get()\n",
"full=[]\n",
"tms=[]\n",
"for team in teams:\n",
" data=[]\n",
" tms.append(team.id)\n",
" reports=db.collection('data').document('team-2022').collection(\"Midwest 2019\").document(team.id).collection(\"matches\").get()\n",
" for report in reports:\n",
" data.append(db.collection('data').document('team-2022').collection(\"Midwest 2019\").document(team.id).collection(\"matches\").document(report.id).get().to_dict())\n",
" full.append(data)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def expcsv(loc,data):\n",
" with open(loc+'.csv', 'w', newline='', encoding='utf-8') as csvfile:\n",
" w = csv.writer(csvfile, delimiter=',', quotechar=\"\\\"\", quoting=csv.QUOTE_MINIMAL)\n",
" for i in data:\n",
" w.writerow(i)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def keymatch(ld):\n",
" keys=set([])\n",
" for i in ld:\n",
" for j in i.keys():\n",
" keys.add(j)\n",
" kl=list(keys)\n",
" data=[]\n",
" for i in kl:\n",
" data.append([i])\n",
" for i in kl:\n",
" for j in ld:\n",
" try:\n",
" (data[kl.index(i)]).append(j[i])\n",
" except:\n",
" (data[kl.index(i)]).append(\"\")\n",
" return data\n",
"wn=[]\n",
"for i in full:\n",
" wn.append(np.transpose(np.array(keymatch(i))).tolist())\n",
"for i in range(len(wn)):\n",
" expcsv(tms[i],wn[i])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,191 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import operator\n",
"import csv\n",
"#constants\n",
"k=100\n",
"rdf=400\n",
"\n",
"def win_prob(yas,oas):\n",
" return 1/(1+10**(1/rdf*(oas-yas)))\n",
"def new_score(oscore,yas,oas,outcome):\n",
" return (oscore)+k*(outcome-win_prob(yas,oas))\n",
"\n",
"def readFile(filepath):\n",
"\n",
" with open(filepath) as csvfile:\n",
" lines = csv.reader(csvfile, delimiter=',', quotechar='|')\n",
" data = []\n",
" try:\n",
" for row in lines:\n",
" data.append((', '.join(row)).split(\", \"))\n",
" except:\n",
" pass\n",
"\n",
" return data\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"sb=readFile('scoreboard.csv')\n",
"teams=set([])\n",
"for i in sb:\n",
" teams.add(i[2])\n",
" teams.add(i[3])\n",
" teams.add(i[4])\n",
" teams.add(i[5])\n",
" teams.add(i[6])\n",
" teams.add(i[7])\n",
"list(teams)\n",
"tsd={}\n",
"for i in list(teams):\n",
" tsd[i]=500\n",
"for i in sb:\n",
" ras=tsd[i[2]]+tsd[i[3]]+tsd[i[4]]\n",
" bas=tsd[i[5]]+tsd[i[6]]+tsd[i[7]]\n",
" outcome=0\n",
" if i[8]>i[9]:\n",
" outcome=1\n",
" elif i[9]==i[8]:\n",
" outcome=.5\n",
" for j in range(2,5,1):\n",
" tsd[i[j]]=new_score(tsd[i[j]],ras,bas,outcome)\n",
" for j in range(5,8,1):\n",
" tsd[i[j]]=new_score(tsd[i[j]],bas,ras,1-outcome)\n",
" \n",
"rankinfs = sorted(tsd.items(), key=operator.itemgetter(1), reverse=True) "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('5934', 833.1830859510761),\n",
" ('48', 739.9728094005745),\n",
" ('16', 705.9551102513088),\n",
" ('3061', 702.9024075826381),\n",
" ('3695', 700.1366129603175),\n",
" ('2338', 696.932652524603),\n",
" ('4096', 652.7038522070818),\n",
" ('3488', 648.9766694246662),\n",
" ('4156', 638.0881039843185),\n",
" ('101', 626.9019952260375),\n",
" ('6823', 613.1453027540894),\n",
" ('930', 610.7992869961017),\n",
" ('2062', 608.0647276785079),\n",
" ('2830', 600.0239706519325),\n",
" ('5847', 589.0350788865741),\n",
" ('1736', 584.367394696335),\n",
" ('2358', 577.5524744241919),\n",
" ('5822', 575.4792058357157),\n",
" ('1675', 569.9944280943398),\n",
" ('111', 559.5150813478114),\n",
" ('1797', 537.9429025884093),\n",
" ('5148', 533.9623603303631),\n",
" ('1781', 519.5609268991466),\n",
" ('6651', 516.3195829730869),\n",
" ('6906', 501.7408783344565),\n",
" ('2022', 482.2765218696747),\n",
" ('7237', 474.4616019824547),\n",
" ('1884', 468.87487164611116),\n",
" ('2039', 467.0990375388428),\n",
" ('2451', 462.70812165138807),\n",
" ('7608', 462.0188420364676),\n",
" ('1739', 459.00590084129664),\n",
" ('2252', 456.43201385653043),\n",
" ('2151', 439.4118535382677),\n",
" ('4702', 435.5729578944645),\n",
" ('7738', 423.16353418538296),\n",
" ('4296', 420.5085609998351),\n",
" ('3734', 418.47615429198186),\n",
" ('7609', 409.29347746836567),\n",
" ('2709', 403.9793052336144),\n",
" ('3067', 402.77020998279653),\n",
" ('2136', 386.0798688817299),\n",
" ('5350', 383.4109800245315),\n",
" ('5125', 377.1609505922246),\n",
" ('4292', 357.43188113820975),\n",
" ('3110', 344.8643460008074),\n",
" ('2725', 332.21429556184444),\n",
" ('4645', 329.6452389079341),\n",
" ('6968', 329.08368400289095),\n",
" ('4241', 315.12115012426335),\n",
" ('4787', 288.64374620808815),\n",
" ('7560', 279.7779164676232),\n",
" ('2016', 247.25607506869346)]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rankinfs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,57 @@
Match,Time,Red1,Red2,Red3,Blue1,Blue2,Blue3,RedScore,BlueScore
Qualification 1  ,Fri 3/8 - 9:00 AM,7560,3061,3488,1675,2451,5148,37,26
Qualification 2  ,Fri 3/8 - 9:09 AM,7608,1884,2338,4702,2151,111,23,33
Qualification 3  ,Fri 3/8 - 9:18 AM,2830,7609,101,2039,4292,16,45,35
Qualification 4  ,Fri 3/8 - 9:27 AM,6968,1736,4096,4645,3067,2252,40,20
Qualification 5  ,Fri 3/8 - 9:36 AM,4156,2016,3695,2022,3110,3734,46,29
Qualification 6  ,Fri 3/8 - 9:45 AM,5934,5822,1739,7738,2062,4296,38,33
Qualification 7  ,Fri 3/8 - 9:54 AM,930,5125,4787,7237,6906,1781,37,41
Qualification 8  ,Fri 3/8 - 10:03 AM,2725,5847,5350,2709,1797,4241,25,24
Qualification 9  ,Fri 3/8 - 10:12 AM,2358,6823,2136,48,6651,3734,17,40
Qualification 10  ,Fri 3/8 - 10:21 AM,3067,7608,5148,2062,4292,5822,15,39
Qualification 11  ,Fri 3/8 - 10:30 AM,111,6968,4787,16,2022,1675,41,63
Qualification 12  ,Fri 3/8 - 10:39 AM,4702,7738,2830,6906,2725,2016,52,24
Qualification 13  ,Fri 3/8 - 10:48 AM,2709,2358,7609,101,930,6823,16,42
Qualification 14  ,Fri 3/8 - 10:56 AM,2136,5934,3695,1736,7237,2151,45,25
Qualification 15  ,Fri 3/8 - 11:04 AM,3110,1781,2252,1797,2338,3488,35,65
Qualification 16  ,Fri 3/8 - 11:12 AM,48,4156,4241,4296,1884,3061,48,34
Qualification 17  ,Fri 3/8 - 11:20 AM,2039,6651,5125,4096,7560,5350,31,23
Qualification 18  ,Fri 3/8 - 11:28 AM,5847,2451,16,4645,1739,7237,62,15
Qualification 19  ,Fri 3/8 - 11:36 AM,3734,3067,1797,7609,5148,5934,18,31
Qualification 20  ,Fri 3/8 - 11:44 AM,5822,2725,4241,2338,4156,930,20,55
Qualification 21  ,Fri 3/8 - 11:52 AM,6968,2016,2709,7608,2151,6823,12,14
Qualification 22,Fri 3/8 - 1:00 PM,1736,7560,1739,4292,5350,48,43,58
Qualification 23,Fri 3/8 - 1:09 PM,2062,1781,2022,2451,4096,6651,35,45
Qualification 24,Fri 3/8 - 1:18 PM,111,4296,3488,4787,2136,2039,49,27
Qualification 25,Fri 3/8 - 1:27 PM,101,3061,5847,2252,2830,6906,53,40
Qualification 26,Fri 3/8 - 1:36 PM,1675,4645,4702,3695,3110,7738,15,71
Qualification 27,Fri 3/8 - 1:44 PM,1736,1884,2358,2016,5125,7560,25,23
Qualification 28,Fri 3/8 - 1:52 PM,4156,2725,6651,3488,7237,3067,42,39
Qualification 29,Fri 3/8 - 2:00 PM,3734,5350,2151,6906,2062,101,18,36
Qualification 30,Fri 3/8 - 2:08 PM,5847,7738,6823,2338,111,4096,54,58
Qualification 31,Fri 3/8 - 2:16 PM,2709,48,4702,5934,2039,2252,20,49
Qualification 32,Fri 3/8 - 2:24 PM,1884,930,2830,1797,1675,6968,61,49
Qualification 33,Fri 3/8 - 2:32 PM,7609,1739,3695,5148,4241,4787,85,54
Qualification 34,Fri 3/8 - 2:40 PM,5125,4645,2022,3061,2136,4292,37,39
Qualification 35,Fri 3/8 - 2:48 PM,2451,2358,7608,4296,16,3110,37,18
Qualification 36,Fri 3/8 - 2:56 PM,1781,2039,3734,5822,7237,5847,30,61
Qualification 37,Fri 3/8 - 3:04 PM,3488,5350,930,1884,3695,111,52,54
Qualification 38,Fri 3/8 - 3:12 PM,2016,5934,2338,7609,7560,4156,66,24
Qualification 39,Fri 3/8 - 3:20 PM,2252,6651,2136,4787,7608,1739,27,23
Qualification 40,Fri 3/8 - 3:28 PM,4096,4702,5148,2358,4241,101,37,28
Qualification 41,Fri 3/8 - 3:36 PM,3110,5822,2451,48,6968,6906,42,68
Qualification 42,Fri 3/8 - 3:44 PM,16,1736,1781,7738,3061,2725,56,43
Qualification 43,Fri 3/8 - 3:52 PM,1797,5125,4292,6823,2709,2062,32,42
Qualification 44,Fri 3/8 - 4:00 PM,2022,4296,3067,2151,2830,1675,26,31
Qualification 45,Fri 3/8 - 4:08 PM,4645,48,5847,5148,3488,2016,63,48
Qualification 46,Fri 3/8 - 4:16 PM,3110,4096,930,3061,4787,5934,42,56
Qualification 47,Fri 3/8 - 4:24 PM,2725,6823,2451,7608,3695,2039,29,57
Qualification 48,Fri 3/8 - 4:32 PM,2062,1675,4156,101,4702,2136,40,31
Qualification 49,Fri 3/8 - 4:40 PM,2022,7738,7237,5350,2252,7609,51,37
Qualification 50,Fri 3/8 - 4:48 PM,7560,4296,2151,1781,1797,4645,21,39
Qualification 51,Fri 3/8 - 4:56 PM,2338,1736,5822,2830,2709,6651,68,37
Qualification 52,Fri 3/8 - 5:04 PM,6906,1739,2358,4292,6968,1884,33,29
Qualification 53,Fri 3/8 - 5:12 PM,111,16,3067,4241,3734,5125,65,41
Qualification 54,Fri 3/8 - 5:20 PM,3061,1675,48,7609,5847,7608,65,42
Qualification 55,Fri 3/8 - 5:28 PM,6651,2016,2062,930,2252,4296,43,77
Qualification 56,Fri 3/8 - 5:36 PM,4292,5148,2725,2151,4787,3110,19,3
1 Match Time Red1 Red2 Red3 Blue1 Blue2 Blue3 RedScore BlueScore
2 Qualification 1   Fri 3/8 - 9:00 AM 7560 3061 3488 1675 2451 5148 37 26
3 Qualification 2   Fri 3/8 - 9:09 AM 7608 1884 2338 4702 2151 111 23 33
4 Qualification 3   Fri 3/8 - 9:18 AM 2830 7609 101 2039 4292 16 45 35
5 Qualification 4   Fri 3/8 - 9:27 AM 6968 1736 4096 4645 3067 2252 40 20
6 Qualification 5   Fri 3/8 - 9:36 AM 4156 2016 3695 2022 3110 3734 46 29
7 Qualification 6   Fri 3/8 - 9:45 AM 5934 5822 1739 7738 2062 4296 38 33
8 Qualification 7   Fri 3/8 - 9:54 AM 930 5125 4787 7237 6906 1781 37 41
9 Qualification 8   Fri 3/8 - 10:03 AM 2725 5847 5350 2709 1797 4241 25 24
10 Qualification 9   Fri 3/8 - 10:12 AM 2358 6823 2136 48 6651 3734 17 40
11 Qualification 10   Fri 3/8 - 10:21 AM 3067 7608 5148 2062 4292 5822 15 39
12 Qualification 11   Fri 3/8 - 10:30 AM 111 6968 4787 16 2022 1675 41 63
13 Qualification 12   Fri 3/8 - 10:39 AM 4702 7738 2830 6906 2725 2016 52 24
14 Qualification 13   Fri 3/8 - 10:48 AM 2709 2358 7609 101 930 6823 16 42
15 Qualification 14   Fri 3/8 - 10:56 AM 2136 5934 3695 1736 7237 2151 45 25
16 Qualification 15   Fri 3/8 - 11:04 AM 3110 1781 2252 1797 2338 3488 35 65
17 Qualification 16   Fri 3/8 - 11:12 AM 48 4156 4241 4296 1884 3061 48 34
18 Qualification 17   Fri 3/8 - 11:20 AM 2039 6651 5125 4096 7560 5350 31 23
19 Qualification 18   Fri 3/8 - 11:28 AM 5847 2451 16 4645 1739 7237 62 15
20 Qualification 19   Fri 3/8 - 11:36 AM 3734 3067 1797 7609 5148 5934 18 31
21 Qualification 20   Fri 3/8 - 11:44 AM 5822 2725 4241 2338 4156 930 20 55
22 Qualification 21   Fri 3/8 - 11:52 AM 6968 2016 2709 7608 2151 6823 12 14
23 Qualification 22 Fri 3/8 - 1:00 PM 1736 7560 1739 4292 5350 48 43 58
24 Qualification 23 Fri 3/8 - 1:09 PM 2062 1781 2022 2451 4096 6651 35 45
25 Qualification 24 Fri 3/8 - 1:18 PM 111 4296 3488 4787 2136 2039 49 27
26 Qualification 25 Fri 3/8 - 1:27 PM 101 3061 5847 2252 2830 6906 53 40
27 Qualification 26 Fri 3/8 - 1:36 PM 1675 4645 4702 3695 3110 7738 15 71
28 Qualification 27 Fri 3/8 - 1:44 PM 1736 1884 2358 2016 5125 7560 25 23
29 Qualification 28 Fri 3/8 - 1:52 PM 4156 2725 6651 3488 7237 3067 42 39
30 Qualification 29 Fri 3/8 - 2:00 PM 3734 5350 2151 6906 2062 101 18 36
31 Qualification 30 Fri 3/8 - 2:08 PM 5847 7738 6823 2338 111 4096 54 58
32 Qualification 31 Fri 3/8 - 2:16 PM 2709 48 4702 5934 2039 2252 20 49
33 Qualification 32 Fri 3/8 - 2:24 PM 1884 930 2830 1797 1675 6968 61 49
34 Qualification 33 Fri 3/8 - 2:32 PM 7609 1739 3695 5148 4241 4787 85 54
35 Qualification 34 Fri 3/8 - 2:40 PM 5125 4645 2022 3061 2136 4292 37 39
36 Qualification 35 Fri 3/8 - 2:48 PM 2451 2358 7608 4296 16 3110 37 18
37 Qualification 36 Fri 3/8 - 2:56 PM 1781 2039 3734 5822 7237 5847 30 61
38 Qualification 37 Fri 3/8 - 3:04 PM 3488 5350 930 1884 3695 111 52 54
39 Qualification 38 Fri 3/8 - 3:12 PM 2016 5934 2338 7609 7560 4156 66 24
40 Qualification 39 Fri 3/8 - 3:20 PM 2252 6651 2136 4787 7608 1739 27 23
41 Qualification 40 Fri 3/8 - 3:28 PM 4096 4702 5148 2358 4241 101 37 28
42 Qualification 41 Fri 3/8 - 3:36 PM 3110 5822 2451 48 6968 6906 42 68
43 Qualification 42 Fri 3/8 - 3:44 PM 16 1736 1781 7738 3061 2725 56 43
44 Qualification 43 Fri 3/8 - 3:52 PM 1797 5125 4292 6823 2709 2062 32 42
45 Qualification 44 Fri 3/8 - 4:00 PM 2022 4296 3067 2151 2830 1675 26 31
46 Qualification 45 Fri 3/8 - 4:08 PM 4645 48 5847 5148 3488 2016 63 48
47 Qualification 46 Fri 3/8 - 4:16 PM 3110 4096 930 3061 4787 5934 42 56
48 Qualification 47 Fri 3/8 - 4:24 PM 2725 6823 2451 7608 3695 2039 29 57
49 Qualification 48 Fri 3/8 - 4:32 PM 2062 1675 4156 101 4702 2136 40 31
50 Qualification 49 Fri 3/8 - 4:40 PM 2022 7738 7237 5350 2252 7609 51 37
51 Qualification 50 Fri 3/8 - 4:48 PM 7560 4296 2151 1781 1797 4645 21 39
52 Qualification 51 Fri 3/8 - 4:56 PM 2338 1736 5822 2830 2709 6651 68 37
53 Qualification 52 Fri 3/8 - 5:04 PM 6906 1739 2358 4292 6968 1884 33 29
54 Qualification 53 Fri 3/8 - 5:12 PM 111 16 3067 4241 3734 5125 65 41
55 Qualification 54 Fri 3/8 - 5:20 PM 3061 1675 48 7609 5847 7608 65 42
56 Qualification 55 Fri 3/8 - 5:28 PM 6651 2016 2062 930 2252 4296 43 77
57 Qualification 56 Fri 3/8 - 5:36 PM 4292 5148 2725 2151 4787 3110 19 3

View File

@@ -0,0 +1,4 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,sandstormRocketCargoSuccess,size,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,9fv7QhcLPsfU59sRrPq7LcJlD8J3,fillChoice,sandstormCargoShipCargoSuccess,strongMedium,functional,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
,0,0,0,,1,0,,slow,,team-101,L2,,1,2,0,,0,0,,0,,"{'notes': 'not good with balls, was able to reach high with hatch', 'contribution': '', 'fillChoice': 'Cargo', 'strategy': 'place hatches, shoe off long arm. not defensive', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': '', 'match': 'match-13', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",,0,,,0,0,0,,,None,match-13,,,0
,,,,Neither,,,Medium,Medium,"Cargo, but couldn't pick up",team-101,L1,L1,,,,High,,,Mid,,Hab I,,Cargo,,Hatch,Yes,,,,Low Rocket,Weak,,match-25,N/A,L1,
"{'notes': '', 'contribution': 'Great', 'fillChoice': '', 'strategy': 'quick bottom hatches but still slow', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-29', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Both', 'endingHab': 'None', 'functional': 'No', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure sandstormRocketCargoSuccess size speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch 9fv7QhcLPsfU59sRrPq7LcJlD8J3 fillChoice sandstormCargoShipCargoSuccess strongMedium functional teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 0 0 0 1 0 slow team-101 L2 1 2 0 0 0 0 {'notes': 'not good with balls, was able to reach high with hatch', 'contribution': '', 'fillChoice': 'Cargo', 'strategy': 'place hatches, shoe off long arm. not defensive', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': '', 'match': 'match-13', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'} 0 0 0 0 None match-13 0
3 Neither Medium Medium Cargo, but couldn't pick up team-101 L1 L1 High Mid Hab I Cargo Hatch Yes Low Rocket Weak match-25 N/A L1
4 {'notes': '', 'contribution': 'Great', 'fillChoice': '', 'strategy': 'quick bottom hatches but still slow', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-29', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Both', 'endingHab': 'None', 'functional': 'No', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}

View File

@@ -0,0 +1,4 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,strongMediumTeleop,jouGPhPF0qME5wNIbd86MzYFsGw2,size,nTG6cThsi9TB9mTkcwuo5bKEo9B3,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,lowRocketSuccessTeleop,cargoSuccessTeleop,functional,fillChoice,strongMedium,fillChoiceTeleop,contrubution,hiRocketSuccessTeleop,match,endingHab,startingHatch
"{'contribution': 'Weak', 'notes': 'team ups, robot malfunction VOID THIS INFO', 'fillChoice': '', 'cargoSuccess': '', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1675', 'hiRocketSuccessTeleop': '', 'speed': 'Slow', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Medium', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}",,"{'notes': '', 'contribution': 'Weak', 'cargoSuccess': '', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': '', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Large', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}",,,,,,,,,,,,,,,,,,
,Hatch,,IDK,,slow,Hatch panels for rocket,team-1675,None,None,High,N/A,Yes,None,Neither,Low Rocket,Weak,N/A,match-26,L1,IDK
,,,,"{'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': 'pinning opponent and placing hatches on rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-54', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 strongMediumTeleop jouGPhPF0qME5wNIbd86MzYFsGw2 size nTG6cThsi9TB9mTkcwuo5bKEo9B3 speed strategy teamDBRef sandstormCross sandstormCrossBonus lowRocketSuccessTeleop cargoSuccessTeleop functional fillChoice strongMedium fillChoiceTeleop contrubution hiRocketSuccessTeleop match endingHab startingHatch
2 {'contribution': 'Weak', 'notes': 'team ups, robot malfunction VOID THIS INFO', 'fillChoice': '', 'cargoSuccess': '', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1675', 'hiRocketSuccessTeleop': '', 'speed': 'Slow', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Medium', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''} {'notes': '', 'contribution': 'Weak', 'cargoSuccess': '', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': '', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Large', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}
3 Hatch IDK slow Hatch panels for rocket team-1675 None None High N/A Yes None Neither Low Rocket Weak N/A match-26 L1 IDK
4 {'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': 'pinning opponent and placing hatches on rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-54', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab I'}

View File

@@ -0,0 +1,3 @@
sandstormCrossBonus,9fv7QhcLPsfU59sRrPq7LcJlD8J3,strongMediumTeleop,fillChoiceTeleop,cargoSuccessTeleop,contrubution,functional,lowRocketSuccessTeleop,startingHatch,size,hiRocketSuccessTeleop,speed,strategy,match,fillChoice,endingHab,teamDBRef,strongMedium,sandstormCross
,"{'contribution': '', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'place high hatches. except- its very inaccurate. has the reach, though ', 'cargoSuccessTeleop': '', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1736', 'hiRocketSuccessTeleop': 'Low', 'speed': '', 'match': 'match-14', 'size': '', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': '', 'endingHab': '', 'functional': 'Yes', 'startingHatch': 'Hab II', 'lowRocketSuccessTeleop': ''}",,,,,,,,,,,,,,,,,
L2,,Ball,Cargo,Low,Equal,No,N/A,Hab II,Medium,N/A,Medium,"Hatches, then balls",match-27,Cargo,None,team-1736,Neither,L2
1 sandstormCrossBonus 9fv7QhcLPsfU59sRrPq7LcJlD8J3 strongMediumTeleop fillChoiceTeleop cargoSuccessTeleop contrubution functional lowRocketSuccessTeleop startingHatch size hiRocketSuccessTeleop speed strategy match fillChoice endingHab teamDBRef strongMedium sandstormCross
2 {'contribution': '', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'place high hatches. except- it’s very inaccurate. has the reach, though ', 'cargoSuccessTeleop': '', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1736', 'hiRocketSuccessTeleop': 'Low', 'speed': '', 'match': 'match-14', 'size': '', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': '', 'endingHab': '', 'functional': 'Yes', 'startingHatch': 'Hab II', 'lowRocketSuccessTeleop': ''}
3 L2 Ball Cargo Low Equal No N/A Hab II Medium N/A Medium Hatches, then balls match-27 Cargo None team-1736 Neither L2

View File

@@ -0,0 +1,4 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,strongMediumTeleop,sandstormRocketHatchSuccess,teleOpCargoShipHatchFailure,nTG6cThsi9TB9mTkcwuo5bKEo9B3,size,sandstormRocketCargoSuccess,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,teleOpCargoShipCargoSuccess,functional,fillChoice,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,hiRocketSuccessTeleop,match,endingHab,startingHatch
,,,,,"{'contribution': 'Equal', 'notes': '', 'fillChoice': 'Cargo', 'strategy': 'hatch panels ', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Ball', 'teamDBRef': 'team-5934', 'hiRocketSuccessTeleop': '', 'speed': 'Fast', 'match': 'match-31', 'size': 'Large', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,Both,,,,Large,,Fast,,team-5934,L1,L1,,,,N/A,,,Mid,,,Yes,Cargo,,Ball,,,,Cargo,Equal,,N/A,match-37,None,Hab I
0,0,,0,0,,,0,Ludicrous,,team-5934,L1,,2,0,0,,0,0,,0,5,,,1,,0,0,0,,,L1,,match-6,,
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess strongMediumTeleop sandstormRocketHatchSuccess teleOpCargoShipHatchFailure nTG6cThsi9TB9mTkcwuo5bKEo9B3 size sandstormRocketCargoSuccess speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess teleOpCargoShipCargoSuccess functional fillChoice sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb hiRocketSuccessTeleop match endingHab startingHatch
2 {'contribution': 'Equal', 'notes': '', 'fillChoice': 'Cargo', 'strategy': 'hatch panels ', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Ball', 'teamDBRef': 'team-5934', 'hiRocketSuccessTeleop': '', 'speed': 'Fast', 'match': 'match-31', 'size': 'Large', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}
3 Both Large Fast team-5934 L1 L1 N/A Mid Yes Cargo Ball Cargo Equal N/A match-37 None Hab I
4 0 0 0 0 0 Ludicrous team-5934 L1 2 0 0 0 0 0 5 1 0 0 0 L1 match-6

View File

@@ -0,0 +1,5 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,nTG6cThsi9TB9mTkcwuo5bKEo9B3,sandstormRocketCargoSuccess,jouGPhPF0qME5wNIbd86MzYFsGw2,size,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,fillChoice,functional,sandstormCargoShipCargoSuccess,strongMedium,9fv7QhcLPsfU59sRrPq7LcJlD8J3,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
0,0,0,,0,"{'notes': '', 'contribution': 'Weak', 'fillChoice': '', 'strategy': 'did not do anything ', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-6906', 'speed': 'Slow', 'hiRocketSuccessTeleop': 'N/A', 'size': 'Jumbo', 'match': 'match-12', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': '', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",0,,,slow,,team-6906,L1,,0,0,0,,0,0,,0,,,,0,,,0,0,0,,,L1,match-12,,,0
,,,,,,,"{'notes': 'plays defense', 'contribution': 'Equal', 'fillChoice': 'None', 'strategy': 'very strong defensive robot also had limited capability to attach hatch panels', 'strongMedium': 'Neither', 'cargoSuccessTeleop': 'Low', 'teamDBRef': 'team-6906', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Jumbo', 'match': 'match-29', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,Neither,,,,,Medium,slow,Defense,team-6906,L1,L1,,,,N/A,,,N/A,,Hab I,None,Yes,,Neither,,,,,None,Weak,,match-53,N/A,L1,
,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'contribution': 'Weak', 'notes': 'defensive but miserably slow', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-6906', 'speed': 'Slow', 'hiRocketSuccessTeleop': '', 'match': 'match-7', 'size': '', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Neither', 'endingHab': 'None', 'functional': 'Sorta', 'lowRocketSuccessTeleop': 'Low', 'startingHatch': 'None'}",,,,,,,,,,
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure nTG6cThsi9TB9mTkcwuo5bKEo9B3 sandstormRocketCargoSuccess jouGPhPF0qME5wNIbd86MzYFsGw2 size speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch fillChoice functional sandstormCargoShipCargoSuccess strongMedium 9fv7QhcLPsfU59sRrPq7LcJlD8J3 teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 0 0 0 0 {'notes': '', 'contribution': 'Weak', 'fillChoice': '', 'strategy': 'did not do anything ', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-6906', 'speed': 'Slow', 'hiRocketSuccessTeleop': 'N/A', 'size': 'Jumbo', 'match': 'match-12', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': '', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'} 0 slow team-6906 L1 0 0 0 0 0 0 0 0 0 0 L1 match-12 0
3 {'notes': 'plays defense', 'contribution': 'Equal', 'fillChoice': 'None', 'strategy': 'very strong defensive robot also had limited capability to attach hatch panels', 'strongMedium': 'Neither', 'cargoSuccessTeleop': 'Low', 'teamDBRef': 'team-6906', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Jumbo', 'match': 'match-29', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}
4 Neither Medium slow Defense team-6906 L1 L1 N/A N/A Hab I None Yes Neither None Weak match-53 N/A L1
5 {'contribution': 'Weak', 'notes': 'defensive but miserably slow', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-6906', 'speed': 'Slow', 'hiRocketSuccessTeleop': '', 'match': 'match-7', 'size': '', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Neither', 'endingHab': 'None', 'functional': 'Sorta', 'lowRocketSuccessTeleop': 'Low', 'startingHatch': 'None'}

View File

@@ -0,0 +1,132 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import firebase_admin\n",
"from firebase_admin import credentials\n",
"from firebase_admin import firestore\n",
"import csv\n",
"import numpy as np\n",
"# Use a service account\n",
"cred = credentials.Certificate(r'../keys/fsk.json')\n",
"#add your own key as this is public. email me for details\n",
"firebase_admin.initialize_app(cred)\n",
"\n",
"db = firestore.client()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"teams=db.collection('data').document('team-2022').collection(\"Midwest 2019\").get()\n",
"full=[]\n",
"tms=[]\n",
"for team in teams:\n",
" data=[]\n",
" tms.append(team.id)\n",
" reports=db.collection('data').document('team-2022').collection(\"Midwest 2019\").document(team.id).collection(\"matches\").get()\n",
" for report in reports:\n",
" data.append(db.collection('data').document('team-2022').collection(\"Midwest 2019\").document(team.id).collection(\"matches\").document(report.id).get().to_dict())\n",
" full.append(data)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def expcsv(loc,data):\n",
" with open(loc+'.csv', 'w', newline='', encoding='utf-8') as csvfile:\n",
" w = csv.writer(csvfile, delimiter=',', quotechar=\"\\\"\", quoting=csv.QUOTE_MINIMAL)\n",
" for i in data:\n",
" w.writerow(i)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def keymatch(ld):\n",
" keys=set([])\n",
" for i in ld:\n",
" for j in i.keys():\n",
" keys.add(j)\n",
" kl=list(keys)\n",
" data=[]\n",
" for i in kl:\n",
" data.append([i])\n",
" for i in kl:\n",
" for j in ld:\n",
" try:\n",
" (data[kl.index(i)]).append(j[i])\n",
" except:\n",
" (data[kl.index(i)]).append(\"\")\n",
" return data\n",
"wn=[]\n",
"for i in full:\n",
" wn.append(np.transpose(np.array(keymatch(i))).tolist())\n",
"for i in range(len(wn)):\n",
" expcsv(tms[i],wn[i])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,191 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import operator\n",
"import csv\n",
"#constants\n",
"k=100\n",
"rdf=400\n",
"\n",
"def win_prob(yas,oas):\n",
" return 1/(1+10**(1/rdf*(oas-yas)))\n",
"def new_score(oscore,yas,oas,outcome):\n",
" return (oscore)+k*(outcome-win_prob(yas,oas))\n",
"\n",
"def readFile(filepath):\n",
"\n",
" with open(filepath) as csvfile:\n",
" lines = csv.reader(csvfile, delimiter=',', quotechar='|')\n",
" data = []\n",
" try:\n",
" for row in lines:\n",
" data.append((', '.join(row)).split(\", \"))\n",
" except:\n",
" pass\n",
"\n",
" return data\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"sb=readFile('scoreboard.csv')\n",
"teams=set([])\n",
"for i in sb:\n",
" teams.add(i[2])\n",
" teams.add(i[3])\n",
" teams.add(i[4])\n",
" teams.add(i[5])\n",
" teams.add(i[6])\n",
" teams.add(i[7])\n",
"list(teams)\n",
"tsd={}\n",
"for i in list(teams):\n",
" tsd[i]=500\n",
"for i in sb:\n",
" ras=tsd[i[2]]+tsd[i[3]]+tsd[i[4]]\n",
" bas=tsd[i[5]]+tsd[i[6]]+tsd[i[7]]\n",
" outcome=0\n",
" if i[8]>i[9]:\n",
" outcome=1\n",
" elif i[9]==i[8]:\n",
" outcome=.5\n",
" for j in range(2,5,1):\n",
" tsd[i[j]]=new_score(tsd[i[j]],ras,bas,outcome)\n",
" for j in range(5,8,1):\n",
" tsd[i[j]]=new_score(tsd[i[j]],bas,ras,1-outcome)\n",
" \n",
"rankinfs = sorted(tsd.items(), key=operator.itemgetter(1), reverse=True) "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('5934', 833.1830859510761),\n",
" ('48', 739.9728094005745),\n",
" ('16', 705.9551102513088),\n",
" ('3061', 702.9024075826381),\n",
" ('3695', 700.1366129603175),\n",
" ('2338', 696.932652524603),\n",
" ('4096', 652.7038522070818),\n",
" ('3488', 648.9766694246662),\n",
" ('4156', 638.0881039843185),\n",
" ('101', 626.9019952260375),\n",
" ('6823', 613.1453027540894),\n",
" ('930', 610.7992869961017),\n",
" ('2062', 608.0647276785079),\n",
" ('2830', 600.0239706519325),\n",
" ('5847', 589.0350788865741),\n",
" ('1736', 584.367394696335),\n",
" ('2358', 577.5524744241919),\n",
" ('5822', 575.4792058357157),\n",
" ('1675', 569.9944280943398),\n",
" ('111', 559.5150813478114),\n",
" ('1797', 537.9429025884093),\n",
" ('5148', 533.9623603303631),\n",
" ('1781', 519.5609268991466),\n",
" ('6651', 516.3195829730869),\n",
" ('6906', 501.7408783344565),\n",
" ('2022', 482.2765218696747),\n",
" ('7237', 474.4616019824547),\n",
" ('1884', 468.87487164611116),\n",
" ('2039', 467.0990375388428),\n",
" ('2451', 462.70812165138807),\n",
" ('7608', 462.0188420364676),\n",
" ('1739', 459.00590084129664),\n",
" ('2252', 456.43201385653043),\n",
" ('2151', 439.4118535382677),\n",
" ('4702', 435.5729578944645),\n",
" ('7738', 423.16353418538296),\n",
" ('4296', 420.5085609998351),\n",
" ('3734', 418.47615429198186),\n",
" ('7609', 409.29347746836567),\n",
" ('2709', 403.9793052336144),\n",
" ('3067', 402.77020998279653),\n",
" ('2136', 386.0798688817299),\n",
" ('5350', 383.4109800245315),\n",
" ('5125', 377.1609505922246),\n",
" ('4292', 357.43188113820975),\n",
" ('3110', 344.8643460008074),\n",
" ('2725', 332.21429556184444),\n",
" ('4645', 329.6452389079341),\n",
" ('6968', 329.08368400289095),\n",
" ('4241', 315.12115012426335),\n",
" ('4787', 288.64374620808815),\n",
" ('7560', 279.7779164676232),\n",
" ('2016', 247.25607506869346)]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rankinfs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,80 @@
Qualification 1  ,Fri 3/8 - 9:00 AM,7560,3061,3488,1675,2451,5148,37,26
Qualification 2  ,Fri 3/8 - 9:09 AM,7608,1884,2338,4702,2151,111,23,33
Qualification 3  ,Fri 3/8 - 9:18 AM,2830,7609,101,2039,4292,16,45,35
Qualification 4  ,Fri 3/8 - 9:27 AM,6968,1736,4096,4645,3067,2252,40,20
Qualification 5  ,Fri 3/8 - 9:36 AM,4156,2016,3695,2022,3110,3734,46,29
Qualification 6  ,Fri 3/8 - 9:45 AM,5934,5822,1739,7738,2062,4296,38,33
Qualification 7  ,Fri 3/8 - 9:54 AM,930,5125,4787,7237,6906,1781,37,41
Qualification 8  ,Fri 3/8 - 10:03 AM,2725,5847,5350,2709,1797,4241,25,24
Qualification 9  ,Fri 3/8 - 10:12 AM,2358,6823,2136,48,6651,3734,17,40
Qualification 10  ,Fri 3/8 - 10:21 AM,3067,7608,5148,2062,4292,5822,15,39
Qualification 11  ,Fri 3/8 - 10:30 AM,111,6968,4787,16,2022,1675,41,63
Qualification 12  ,Fri 3/8 - 10:39 AM,4702,7738,2830,6906,2725,2016,52,24
Qualification 13  ,Fri 3/8 - 10:48 AM,2709,2358,7609,101,930,6823,16,42
Qualification 14  ,Fri 3/8 - 10:56 AM,2136,5934,3695,1736,7237,2151,45,25
Qualification 15  ,Fri 3/8 - 11:04 AM,3110,1781,2252,1797,2338,3488,35,65
Qualification 16  ,Fri 3/8 - 11:12 AM,48,4156,4241,4296,1884,3061,48,34
Qualification 17  ,Fri 3/8 - 11:20 AM,2039,6651,5125,4096,7560,5350,31,23
Qualification 18  ,Fri 3/8 - 11:28 AM,5847,2451,16,4645,1739,7237,62,15
Qualification 19  ,Fri 3/8 - 11:36 AM,3734,3067,1797,7609,5148,5934,18,31
Qualification 20  ,Fri 3/8 - 11:44 AM,5822,2725,4241,2338,4156,930,20,55
Qualification 21  ,Fri 3/8 - 11:52 AM,6968,2016,2709,7608,2151,6823,12,14
Qualification 22,Fri 3/8 - 1:00 PM,1736,7560,1739,4292,5350,48,43,58
Qualification 23,Fri 3/8 - 1:09 PM,2062,1781,2022,2451,4096,6651,35,45
Qualification 24,Fri 3/8 - 1:18 PM,111,4296,3488,4787,2136,2039,49,27
Qualification 25,Fri 3/8 - 1:27 PM,101,3061,5847,2252,2830,6906,53,40
Qualification 26,Fri 3/8 - 1:36 PM,1675,4645,4702,3695,3110,7738,15,71
Qualification 27,Fri 3/8 - 1:44 PM,1736,1884,2358,2016,5125,7560,25,23
Qualification 28,Fri 3/8 - 1:52 PM,4156,2725,6651,3488,7237,3067,42,39
Qualification 29,Fri 3/8 - 2:00 PM,3734,5350,2151,6906,2062,101,18,36
Qualification 30,Fri 3/8 - 2:08 PM,5847,7738,6823,2338,111,4096,54,58
Qualification 31,Fri 3/8 - 2:16 PM,2709,48,4702,5934,2039,2252,20,49
Qualification 32,Fri 3/8 - 2:24 PM,1884,930,2830,1797,1675,6968,61,49
Qualification 33,Fri 3/8 - 2:32 PM,7609,1739,3695,5148,4241,4787,85,54
Qualification 34,Fri 3/8 - 2:40 PM,5125,4645,2022,3061,2136,4292,37,39
Qualification 35,Fri 3/8 - 2:48 PM,2451,2358,7608,4296,16,3110,37,18
Qualification 36,Fri 3/8 - 2:56 PM,1781,2039,3734,5822,7237,5847,30,61
Qualification 37,Fri 3/8 - 3:04 PM,3488,5350,930,1884,3695,111,52,54
Qualification 38,Fri 3/8 - 3:12 PM,2016,5934,2338,7609,7560,4156,66,24
Qualification 39,Fri 3/8 - 3:20 PM,2252,6651,2136,4787,7608,1739,27,23
Qualification 40,Fri 3/8 - 3:28 PM,4096,4702,5148,2358,4241,101,37,28
Qualification 41,Fri 3/8 - 3:36 PM,3110,5822,2451,48,6968,6906,42,68
Qualification 42,Fri 3/8 - 3:44 PM,16,1736,1781,7738,3061,2725,56,43
Qualification 43,Fri 3/8 - 3:52 PM,1797,5125,4292,6823,2709,2062,32,42
Qualification 44,Fri 3/8 - 4:00 PM,2022,4296,3067,2151,2830,1675,26,31
Qualification 45,Fri 3/8 - 4:08 PM,4645,48,5847,5148,3488,2016,63,48
Qualification 46,Fri 3/8 - 4:16 PM,3110,4096,930,3061,4787,5934,42,56
Qualification 47,Fri 3/8 - 4:24 PM,2725,6823,2451,7608,3695,2039,29,57
Qualification 48,Fri 3/8 - 4:32 PM,2062,1675,4156,101,4702,2136,40,31
Qualification 49,Fri 3/8 - 4:40 PM,2022,7738,7237,5350,2252,7609,51,37
Qualification 50,Fri 3/8 - 4:48 PM,7560,4296,2151,1781,1797,4645,21,39
Qualification 51,Fri 3/8 - 4:56 PM,2338,1736,5822,2830,2709,6651,68,37
Qualification 52,Fri 3/8 - 5:04 PM,6906,1739,2358,4292,6968,1884,33,29
Qualification 53,Fri 3/8 - 5:12 PM,111,16,3067,4241,3734,5125,65,41
Qualification 54,Fri 3/8 - 5:20 PM,3061,1675,48,7609,5847,7608,65,42
Qualification 55,Fri 3/8 - 5:28 PM,6651,2016,2062,930,2252,4296,43,77
Qualification 56,Fri 3/8 - 5:36 PM,4292,5148,2725,2151,4787,3110,19,3
Qualification 57,Sat 3/9 - 9:00 AM,2136,6906,1884,4096,16,2709,15,42
Qualification 58,Sat 3/9 - 9:09 AM,4156,101,1797,2451,111,1736,99,59
Qualification 59,Sat 3/9 - 9:18 AM,7237,3695,7560,3067,7738,6968,52,27
Qualification 60,Sat 3/9 - 9:27 AM,3734,3488,2830,1739,4702,5125,60,35
Qualification 61,Sat 3/9 - 9:36 AM,2039,2022,4241,4645,2338,2358,35,41
Qualification 62,Sat 3/9 - 9:44 AM,6823,5934,16,5822,5350,1781,77,48
Qualification 63,Sat 3/9 - 9:52 AM,7237,4096,4292,4296,2016,1675,43,35
Qualification 64,Sat 3/9 - 10:00 AM,7609,2151,7738,5125,3488,2451,29,44
Qualification 65,Sat 3/9 - 10:08 AM,2725,7608,1797,1739,101,2022,43,58
Qualification 66,Sat 3/9 - 10:16 AM,3695,3067,48,1781,111,2709,66,49
Qualification 67,Sat 3/9 - 10:24 AM,4241,3110,6906,6651,6823,1736,27,46
Qualification 68,Sat 3/9 - 10:32 AM,4702,930,5822,5847,2136,7560,65,14
Qualification 69,Sat 3/9 - 10:40 AM,4787,4156,4645,2358,2830,5350,39,42
Qualification 70,Sat 3/9 - 10:48 AM,5148,2062,3061,6968,2039,2338,56,34
Qualification 71,Sat 3/9 - 10:56 AM,1884,2252,2451,5934,3734,2725,40,46
Qualification 72,Sat 3/9 - 11:04 AM,2151,2022,4096,930,48,1736,30,72
Qualification 73,Sat 3/9 - 11:12 AM,4241,4292,7608,3488,1781,7738,28,71
Qualification 74,Sat 3/9 - 11:20 AM,16,1797,3061,6651,3695,4702,82,47
Qualification 75,Sat 3/9 - 11:28 AM,5350,6906,4645,3067,2338,7609,15,53
Qualification 76,Sat 3/9 - 11:36 AM,1675,2709,2039,1739,3734,4156,41,41
Qualification 77,Sat 3/9 - 11:44 AM,2830,4787,7237,6823,5148,1884,44,69
Qualification 78,Sat 3/9 - 11:52 AM,5125,101,6968,5934,5847,4296,35,59
Qualification 79,Sat 3/9 - 12:00 PM,2252,111,2062,7560,2358,3110,56,33
Qualification 80,Sat 3/9 - 12:08 PM,2016,7609,4241,2136,5822,1797,32,48
1 Qualification 1   Fri 3/8 - 9:00 AM 7560 3061 3488 1675 2451 5148 37 26
2 Qualification 2   Fri 3/8 - 9:09 AM 7608 1884 2338 4702 2151 111 23 33
3 Qualification 3   Fri 3/8 - 9:18 AM 2830 7609 101 2039 4292 16 45 35
4 Qualification 4   Fri 3/8 - 9:27 AM 6968 1736 4096 4645 3067 2252 40 20
5 Qualification 5   Fri 3/8 - 9:36 AM 4156 2016 3695 2022 3110 3734 46 29
6 Qualification 6   Fri 3/8 - 9:45 AM 5934 5822 1739 7738 2062 4296 38 33
7 Qualification 7   Fri 3/8 - 9:54 AM 930 5125 4787 7237 6906 1781 37 41
8 Qualification 8   Fri 3/8 - 10:03 AM 2725 5847 5350 2709 1797 4241 25 24
9 Qualification 9   Fri 3/8 - 10:12 AM 2358 6823 2136 48 6651 3734 17 40
10 Qualification 10   Fri 3/8 - 10:21 AM 3067 7608 5148 2062 4292 5822 15 39
11 Qualification 11   Fri 3/8 - 10:30 AM 111 6968 4787 16 2022 1675 41 63
12 Qualification 12   Fri 3/8 - 10:39 AM 4702 7738 2830 6906 2725 2016 52 24
13 Qualification 13   Fri 3/8 - 10:48 AM 2709 2358 7609 101 930 6823 16 42
14 Qualification 14   Fri 3/8 - 10:56 AM 2136 5934 3695 1736 7237 2151 45 25
15 Qualification 15   Fri 3/8 - 11:04 AM 3110 1781 2252 1797 2338 3488 35 65
16 Qualification 16   Fri 3/8 - 11:12 AM 48 4156 4241 4296 1884 3061 48 34
17 Qualification 17   Fri 3/8 - 11:20 AM 2039 6651 5125 4096 7560 5350 31 23
18 Qualification 18   Fri 3/8 - 11:28 AM 5847 2451 16 4645 1739 7237 62 15
19 Qualification 19   Fri 3/8 - 11:36 AM 3734 3067 1797 7609 5148 5934 18 31
20 Qualification 20   Fri 3/8 - 11:44 AM 5822 2725 4241 2338 4156 930 20 55
21 Qualification 21   Fri 3/8 - 11:52 AM 6968 2016 2709 7608 2151 6823 12 14
22 Qualification 22 Fri 3/8 - 1:00 PM 1736 7560 1739 4292 5350 48 43 58
23 Qualification 23 Fri 3/8 - 1:09 PM 2062 1781 2022 2451 4096 6651 35 45
24 Qualification 24 Fri 3/8 - 1:18 PM 111 4296 3488 4787 2136 2039 49 27
25 Qualification 25 Fri 3/8 - 1:27 PM 101 3061 5847 2252 2830 6906 53 40
26 Qualification 26 Fri 3/8 - 1:36 PM 1675 4645 4702 3695 3110 7738 15 71
27 Qualification 27 Fri 3/8 - 1:44 PM 1736 1884 2358 2016 5125 7560 25 23
28 Qualification 28 Fri 3/8 - 1:52 PM 4156 2725 6651 3488 7237 3067 42 39
29 Qualification 29 Fri 3/8 - 2:00 PM 3734 5350 2151 6906 2062 101 18 36
30 Qualification 30 Fri 3/8 - 2:08 PM 5847 7738 6823 2338 111 4096 54 58
31 Qualification 31 Fri 3/8 - 2:16 PM 2709 48 4702 5934 2039 2252 20 49
32 Qualification 32 Fri 3/8 - 2:24 PM 1884 930 2830 1797 1675 6968 61 49
33 Qualification 33 Fri 3/8 - 2:32 PM 7609 1739 3695 5148 4241 4787 85 54
34 Qualification 34 Fri 3/8 - 2:40 PM 5125 4645 2022 3061 2136 4292 37 39
35 Qualification 35 Fri 3/8 - 2:48 PM 2451 2358 7608 4296 16 3110 37 18
36 Qualification 36 Fri 3/8 - 2:56 PM 1781 2039 3734 5822 7237 5847 30 61
37 Qualification 37 Fri 3/8 - 3:04 PM 3488 5350 930 1884 3695 111 52 54
38 Qualification 38 Fri 3/8 - 3:12 PM 2016 5934 2338 7609 7560 4156 66 24
39 Qualification 39 Fri 3/8 - 3:20 PM 2252 6651 2136 4787 7608 1739 27 23
40 Qualification 40 Fri 3/8 - 3:28 PM 4096 4702 5148 2358 4241 101 37 28
41 Qualification 41 Fri 3/8 - 3:36 PM 3110 5822 2451 48 6968 6906 42 68
42 Qualification 42 Fri 3/8 - 3:44 PM 16 1736 1781 7738 3061 2725 56 43
43 Qualification 43 Fri 3/8 - 3:52 PM 1797 5125 4292 6823 2709 2062 32 42
44 Qualification 44 Fri 3/8 - 4:00 PM 2022 4296 3067 2151 2830 1675 26 31
45 Qualification 45 Fri 3/8 - 4:08 PM 4645 48 5847 5148 3488 2016 63 48
46 Qualification 46 Fri 3/8 - 4:16 PM 3110 4096 930 3061 4787 5934 42 56
47 Qualification 47 Fri 3/8 - 4:24 PM 2725 6823 2451 7608 3695 2039 29 57
48 Qualification 48 Fri 3/8 - 4:32 PM 2062 1675 4156 101 4702 2136 40 31
49 Qualification 49 Fri 3/8 - 4:40 PM 2022 7738 7237 5350 2252 7609 51 37
50 Qualification 50 Fri 3/8 - 4:48 PM 7560 4296 2151 1781 1797 4645 21 39
51 Qualification 51 Fri 3/8 - 4:56 PM 2338 1736 5822 2830 2709 6651 68 37
52 Qualification 52 Fri 3/8 - 5:04 PM 6906 1739 2358 4292 6968 1884 33 29
53 Qualification 53 Fri 3/8 - 5:12 PM 111 16 3067 4241 3734 5125 65 41
54 Qualification 54 Fri 3/8 - 5:20 PM 3061 1675 48 7609 5847 7608 65 42
55 Qualification 55 Fri 3/8 - 5:28 PM 6651 2016 2062 930 2252 4296 43 77
56 Qualification 56 Fri 3/8 - 5:36 PM 4292 5148 2725 2151 4787 3110 19 3
57 Qualification 57 Sat 3/9 - 9:00 AM 2136 6906 1884 4096 16 2709 15 42
58 Qualification 58 Sat 3/9 - 9:09 AM 4156 101 1797 2451 111 1736 99 59
59 Qualification 59 Sat 3/9 - 9:18 AM 7237 3695 7560 3067 7738 6968 52 27
60 Qualification 60 Sat 3/9 - 9:27 AM 3734 3488 2830 1739 4702 5125 60 35
61 Qualification 61 Sat 3/9 - 9:36 AM 2039 2022 4241 4645 2338 2358 35 41
62 Qualification 62 Sat 3/9 - 9:44 AM 6823 5934 16 5822 5350 1781 77 48
63 Qualification 63 Sat 3/9 - 9:52 AM 7237 4096 4292 4296 2016 1675 43 35
64 Qualification 64 Sat 3/9 - 10:00 AM 7609 2151 7738 5125 3488 2451 29 44
65 Qualification 65 Sat 3/9 - 10:08 AM 2725 7608 1797 1739 101 2022 43 58
66 Qualification 66 Sat 3/9 - 10:16 AM 3695 3067 48 1781 111 2709 66 49
67 Qualification 67 Sat 3/9 - 10:24 AM 4241 3110 6906 6651 6823 1736 27 46
68 Qualification 68 Sat 3/9 - 10:32 AM 4702 930 5822 5847 2136 7560 65 14
69 Qualification 69 Sat 3/9 - 10:40 AM 4787 4156 4645 2358 2830 5350 39 42
70 Qualification 70 Sat 3/9 - 10:48 AM 5148 2062 3061 6968 2039 2338 56 34
71 Qualification 71 Sat 3/9 - 10:56 AM 1884 2252 2451 5934 3734 2725 40 46
72 Qualification 72 Sat 3/9 - 11:04 AM 2151 2022 4096 930 48 1736 30 72
73 Qualification 73 Sat 3/9 - 11:12 AM 4241 4292 7608 3488 1781 7738 28 71
74 Qualification 74 Sat 3/9 - 11:20 AM 16 1797 3061 6651 3695 4702 82 47
75 Qualification 75 Sat 3/9 - 11:28 AM 5350 6906 4645 3067 2338 7609 15 53
76 Qualification 76 Sat 3/9 - 11:36 AM 1675 2709 2039 1739 3734 4156 41 41
77 Qualification 77 Sat 3/9 - 11:44 AM 2830 4787 7237 6823 5148 1884 44 69
78 Qualification 78 Sat 3/9 - 11:52 AM 5125 101 6968 5934 5847 4296 35 59
79 Qualification 79 Sat 3/9 - 12:00 PM 2252 111 2062 7560 2358 3110 56 33
80 Qualification 80 Sat 3/9 - 12:08 PM 2016 7609 4241 2136 5822 1797 32 48

View File

@@ -0,0 +1,2 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,teleOpCargoShipHatchFailure,sandstormRocketCargoSuccess,speed,teamDBRef,sandstormCross,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,teleOpRocketHatchFailure,teleOpRocketCargoFailure,sandstormCargoShipHatchSuccess,sandstormCargoShipCargoSuccess,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,HABClimb,match,teleOpCargoShipCargoSuccess
0,0,0,0,0,slow,team-1,L1,0,0,0,0,0,0,0,0,0,0,L1,match-5148,2
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess teleOpCargoShipHatchFailure sandstormRocketCargoSuccess speed teamDBRef sandstormCross teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure teleOpRocketHatchFailure teleOpRocketCargoFailure sandstormCargoShipHatchSuccess sandstormCargoShipCargoSuccess teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure HABClimb match teleOpCargoShipCargoSuccess
2 0 0 0 0 0 slow team-1 L1 0 0 0 0 0 0 0 0 0 0 L1 match-5148 2

View File

@@ -0,0 +1,4 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,sandstormRocketCargoSuccess,size,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,9fv7QhcLPsfU59sRrPq7LcJlD8J3,fillChoice,sandstormCargoShipCargoSuccess,strongMedium,functional,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
,0,0,0,,1,0,,slow,,team-101,L2,,1,2,0,,0,0,,0,,"{'notes': 'not good with balls, was able to reach high with hatch', 'contribution': '', 'fillChoice': 'Cargo', 'strategy': 'place hatches, shoe off long arm. not defensive', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': '', 'match': 'match-13', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",,0,,,0,0,0,,,None,match-13,,,0
,,,,Neither,,,Medium,Medium,"Cargo, but couldn't pick up",team-101,L1,L1,,,,High,,,Mid,,Hab I,,Cargo,,Hatch,Yes,,,,Low Rocket,Weak,,match-25,N/A,L1,
"{'notes': '', 'contribution': 'Great', 'fillChoice': '', 'strategy': 'quick bottom hatches but still slow', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-29', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Both', 'endingHab': 'None', 'functional': 'No', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure sandstormRocketCargoSuccess size speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch 9fv7QhcLPsfU59sRrPq7LcJlD8J3 fillChoice sandstormCargoShipCargoSuccess strongMedium functional teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 0 0 0 1 0 slow team-101 L2 1 2 0 0 0 0 {'notes': 'not good with balls, was able to reach high with hatch', 'contribution': '', 'fillChoice': 'Cargo', 'strategy': 'place hatches, shoe off long arm. not defensive', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': '', 'match': 'match-13', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'} 0 0 0 0 None match-13 0
3 Neither Medium Medium Cargo, but couldn't pick up team-101 L1 L1 High Mid Hab I Cargo Hatch Yes Low Rocket Weak match-25 N/A L1
4 {'notes': '', 'contribution': 'Great', 'fillChoice': '', 'strategy': 'quick bottom hatches but still slow', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-101', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-29', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Both', 'endingHab': 'None', 'functional': 'No', 'lowRocketSuccessTeleop': 'Mid', 'startingHatch': 'Hab I'}

View File

@@ -0,0 +1,6 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,sandstormRocketCargoSuccess,size,nTG6cThsi9TB9mTkcwuo5bKEo9B3,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,fillChoice,functional,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
,0,5,1,,0,0,,,Medium,,team-111,L1,,0,4,0,,1,1,,0,,,,0,,0,0,0,,,None,match-11,,,0
"{'contribution': 'Great', 'notes': '', 'cargoSuccess': '', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Hatch', 'teamDBRef': 'team-111', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'High', 'lowRocketSuccess': '', 'size': 'Medium', 'match': 'match-2', 'fillChoiceTeleop': '', 'strongMediumTeleop': 'Hatch', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': '', 'hiRocketSuccess': 'High'}",0,0,0,,0,0,,,Fast,,team-111,L1,,0,1,0,,1,1,,1,,,,0,,0,0,0,,,L1,match-2,,,0
,,,,Ball,,,Large,,Fast,Top-down rocket fill,team-111,L1,L1,,,,N/A,,,N/A,,Hab I,High Rocket,Yes,,Hatch,,,,High Rocket,Strong,,match-24,High,L2,
,,,,,,,,"{'contribution': 'Equal', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'rocket. i lost track of the robot', 'cargoSuccessTeleop': 'Mid', 'strongMedium': 'Hatch', 'teamDBRef': 'team-111', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-30', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': 'N/A'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,"{'notes': '', 'contribution': 'Great', 'fillChoice': 'High Rocket', 'strategy': 'hatch and ball in rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-111', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Medium', 'match': 'match-37', 'fillChoiceTeleop': '', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab II'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure sandstormRocketCargoSuccess size nTG6cThsi9TB9mTkcwuo5bKEo9B3 speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch fillChoice functional sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 0 5 1 0 0 Medium team-111 L1 0 4 0 1 1 0 0 0 0 0 None match-11 0
3 {'contribution': 'Great', 'notes': '', 'cargoSuccess': '', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Hatch', 'teamDBRef': 'team-111', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'High', 'lowRocketSuccess': '', 'size': 'Medium', 'match': 'match-2', 'fillChoiceTeleop': '', 'strongMediumTeleop': 'Hatch', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': '', 'hiRocketSuccess': 'High'} 0 0 0 0 0 Fast team-111 L1 0 1 0 1 1 1 0 0 0 0 L1 match-2 0
4 Ball Large Fast Top-down rocket fill team-111 L1 L1 N/A N/A Hab I High Rocket Yes Hatch High Rocket Strong match-24 High L2
5 {'contribution': 'Equal', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'rocket. i lost track of the robot', 'cargoSuccessTeleop': 'Mid', 'strongMedium': 'Hatch', 'teamDBRef': 'team-111', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-30', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': 'N/A'}
6 {'notes': '', 'contribution': 'Great', 'fillChoice': 'High Rocket', 'strategy': 'hatch and ball in rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'High', 'teamDBRef': 'team-111', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Medium', 'match': 'match-37', 'fillChoiceTeleop': '', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab II'}

View File

@@ -0,0 +1,6 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,jouGPhPF0qME5wNIbd86MzYFsGw2,sandstormRocketCargoSuccess,nTG6cThsi9TB9mTkcwuo5bKEo9B3,size,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,fillChoice,functional,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
,0,0,0,,1,"{'notes': 'working with us didnt see most of the match', 'contribution': 'Idk', 'fillChoice': 'Cargo', 'strategy': '', 'cargoSuccessTeleop': '', 'strongMedium': 'Ball', 'teamDBRef': 'team-16', 'speed': '', 'hiRocketSuccessTeleop': '', 'size': 'Jumbo', 'match': 'match-11', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': 'Sorta', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': ''}",0,,,slow,,team-16,L2,,0,1,0,,0,0,,0,,,,0,,0,0,1,,,L3,match-11,,,4
,0,0,0,,0,,0,,,Ludicrous,,team-16,L1,,0,0,0,,0,0,,0,,,,0,,0,0,1,,,L3,match-18,,,4
"{'contribution': 'Great', 'notes': 'almost ended on hab 3', 'cargoSuccess': 'High', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Hatch', 'teamDBRef': 'team-16', 'speed': 'Fast', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'size': 'Large', 'match': 'match-3', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Both', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': '', 'hiRocketSuccess': ''}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,"{'notes': 'tipped over', 'contribution': 'Weak', 'fillChoice': 'Cargo', 'strategy': 'did not stay up long enough to determine ', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-16', 'speed': 'Fast', 'hiRocketSuccessTeleop': '', 'size': 'Large', 'match': 'match-35', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,Both,,,,,Large,Ludicrous,,team-16,L1,L1,,,,Mid,,,High,,Hab I,Cargo,No,,Neither,,,,Cargo,Strong,,match-41,N/A,L3,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure jouGPhPF0qME5wNIbd86MzYFsGw2 sandstormRocketCargoSuccess nTG6cThsi9TB9mTkcwuo5bKEo9B3 size speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch fillChoice functional sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 0 0 0 1 {'notes': 'working with us didn’t see most of the match', 'contribution': 'Idk', 'fillChoice': 'Cargo', 'strategy': '', 'cargoSuccessTeleop': '', 'strongMedium': 'Ball', 'teamDBRef': 'team-16', 'speed': '', 'hiRocketSuccessTeleop': '', 'size': 'Jumbo', 'match': 'match-11', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': 'Sorta', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': ''} 0 slow team-16 L2 0 1 0 0 0 0 0 0 0 1 L3 match-11 4
3 0 0 0 0 0 Ludicrous team-16 L1 0 0 0 0 0 0 0 0 0 1 L3 match-18 4
4 {'contribution': 'Great', 'notes': 'almost ended on hab 3', 'cargoSuccess': 'High', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': 'High', 'strongMedium': 'Hatch', 'teamDBRef': 'team-16', 'speed': 'Fast', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'size': 'Large', 'match': 'match-3', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Both', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': '', 'hiRocketSuccess': ''}
5 {'notes': 'tipped over', 'contribution': 'Weak', 'fillChoice': 'Cargo', 'strategy': 'did not stay up long enough to determine ', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-16', 'speed': 'Fast', 'hiRocketSuccessTeleop': '', 'size': 'Large', 'match': 'match-35', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}
6 Both Large Ludicrous team-16 L1 L1 Mid High Hab I Cargo No Neither Cargo Strong match-41 N/A L3

View File

@@ -0,0 +1,4 @@
gmkR7hN4D1fQguey5X5V48d3PhO2,strongMediumTeleop,jouGPhPF0qME5wNIbd86MzYFsGw2,size,nTG6cThsi9TB9mTkcwuo5bKEo9B3,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,lowRocketSuccessTeleop,cargoSuccessTeleop,functional,fillChoice,strongMedium,fillChoiceTeleop,contrubution,hiRocketSuccessTeleop,match,endingHab,startingHatch
"{'contribution': 'Weak', 'notes': 'team ups, robot malfunction VOID THIS INFO', 'fillChoice': '', 'cargoSuccess': '', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1675', 'hiRocketSuccessTeleop': '', 'speed': 'Slow', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Medium', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}",,"{'notes': '', 'contribution': 'Weak', 'cargoSuccess': '', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': '', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Large', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}",,,,,,,,,,,,,,,,,,
,Hatch,,IDK,,slow,Hatch panels for rocket,team-1675,None,None,High,N/A,Yes,None,Neither,Low Rocket,Weak,N/A,match-26,L1,IDK
,,,,"{'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': 'pinning opponent and placing hatches on rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-54', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,
1 gmkR7hN4D1fQguey5X5V48d3PhO2 strongMediumTeleop jouGPhPF0qME5wNIbd86MzYFsGw2 size nTG6cThsi9TB9mTkcwuo5bKEo9B3 speed strategy teamDBRef sandstormCross sandstormCrossBonus lowRocketSuccessTeleop cargoSuccessTeleop functional fillChoice strongMedium fillChoiceTeleop contrubution hiRocketSuccessTeleop match endingHab startingHatch
2 {'contribution': 'Weak', 'notes': 'team ups, robot malfunction VOID THIS INFO', 'fillChoice': '', 'cargoSuccess': '', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1675', 'hiRocketSuccessTeleop': '', 'speed': 'Slow', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Medium', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''} {'notes': '', 'contribution': 'Weak', 'cargoSuccess': '', 'fillChoice': '', 'strongMedium': '', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': '', 'hiRocketSuccessTeleop': '', 'lowRocketSuccess': '', 'match': 'match-1', 'size': 'Large', 'fillChoiceTeleop': '', 'strongMediumTeleop': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab II', 'hiRocketSuccess': ''}
3 Hatch IDK slow Hatch panels for rocket team-1675 None None High N/A Yes None Neither Low Rocket Weak N/A match-26 L1 IDK
4 {'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': 'pinning opponent and placing hatches on rocket', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': '', 'teamDBRef': 'team-1675', 'speed': 'Medium', 'hiRocketSuccessTeleop': 'High', 'size': 'Large', 'match': 'match-54', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Hatch', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'High', 'startingHatch': 'Hab I'}

View File

@@ -0,0 +1,2 @@
sandstormCrossBonus,strongMediumTeleop,fillChoiceTeleop,cargoSuccessTeleop,contrubution,functional,lowRocketSuccessTeleop,startingHatch,size,hiRocketSuccessTeleop,speed,strategy,match,fillChoice,endingHab,teamDBRef,strongMedium,sandstormCross
L1,Neither,Cargo,Low,Weak,No,N/A,Hab I,Small,N/A,slow,,match-31,None,L1,team-1702,Neither,L1
1 sandstormCrossBonus strongMediumTeleop fillChoiceTeleop cargoSuccessTeleop contrubution functional lowRocketSuccessTeleop startingHatch size hiRocketSuccessTeleop speed strategy match fillChoice endingHab teamDBRef strongMedium sandstormCross
2 L1 Neither Cargo Low Weak No N/A Hab I Small N/A slow match-31 None L1 team-1702 Neither L1

View File

@@ -0,0 +1,3 @@
sandstormCrossBonus,9fv7QhcLPsfU59sRrPq7LcJlD8J3,strongMediumTeleop,fillChoiceTeleop,cargoSuccessTeleop,contrubution,functional,lowRocketSuccessTeleop,startingHatch,size,hiRocketSuccessTeleop,speed,strategy,match,fillChoice,endingHab,teamDBRef,strongMedium,sandstormCross
,"{'contribution': '', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'place high hatches. except- its very inaccurate. has the reach, though ', 'cargoSuccessTeleop': '', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1736', 'hiRocketSuccessTeleop': 'Low', 'speed': '', 'match': 'match-14', 'size': '', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': '', 'endingHab': '', 'functional': 'Yes', 'startingHatch': 'Hab II', 'lowRocketSuccessTeleop': ''}",,,,,,,,,,,,,,,,,
L2,,Ball,Cargo,Low,Equal,No,N/A,Hab II,Medium,N/A,Medium,"Hatches, then balls",match-27,Cargo,None,team-1736,Neither,L2
1 sandstormCrossBonus 9fv7QhcLPsfU59sRrPq7LcJlD8J3 strongMediumTeleop fillChoiceTeleop cargoSuccessTeleop contrubution functional lowRocketSuccessTeleop startingHatch size hiRocketSuccessTeleop speed strategy match fillChoice endingHab teamDBRef strongMedium sandstormCross
2 {'contribution': '', 'notes': '', 'fillChoice': 'High Rocket', 'strategy': 'place high hatches. except- it’s very inaccurate. has the reach, though ', 'cargoSuccessTeleop': '', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1736', 'hiRocketSuccessTeleop': 'Low', 'speed': '', 'match': 'match-14', 'size': '', 'fillChoiceTeleop': 'High Rocket', 'strongMediumTeleop': '', 'endingHab': '', 'functional': 'Yes', 'startingHatch': 'Hab II', 'lowRocketSuccessTeleop': ''}
3 L2 Ball Cargo Low Equal No N/A Hab II Medium N/A Medium Hatches, then balls match-27 Cargo None team-1736 Neither L2

View File

@@ -0,0 +1,6 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,strongMediumTeleop,sandstormRocketHatchSuccess,teleOpCargoShipHatchFailure,nTG6cThsi9TB9mTkcwuo5bKEo9B3,size,sandstormRocketCargoSuccess,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,teleOpCargoShipCargoSuccess,functional,fillChoice,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,hiRocketSuccessTeleop,match,endingHab,startingHatch
,,,,,"{'notes': 'dont know how accurate storm is', 'contribution': '', 'fillChoice': '', 'strategy': 'i got confused. i didnt really see what the robot did', 'cargoSuccessTeleop': 'N/A', 'strongMedium': 'Ball', 'teamDBRef': 'team-1739', 'speed': '', 'hiRocketSuccessTeleop': '', 'size': 'Large', 'match': 'match-18', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': '', 'endingHab': 'Hab 1', 'functional': 'Yes', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': ''}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,Ball,,,,Medium,,Medium,,team-1739,L1,L1,,,,Low,,,High,,,Sorta,Cargo,,Hatch,,,,Cargo,Equal,,Low,match-22,L2,Hab I
,,Neither,,,,Jumbo,,Medium,,team-1739,L1,L1,,,,N/A,,,Low,,,No,None,,Neither,,,,Cargo,Weak,,N/A,match-33,None,Hab I
,,Neither,,,,Small,,Medium,,team-1739,L1,L1,,,,N/A,,,Low,,,No,None,,Neither,,,,Cargo,Weak,,N/A,match-52,L1,Hab I
0,0,,0,0,,,0,slow,,team-1739,L1,,0,0,0,,0,0,,0,0,,,0,,0,0,0,,,L1,,match-6,,
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess strongMediumTeleop sandstormRocketHatchSuccess teleOpCargoShipHatchFailure nTG6cThsi9TB9mTkcwuo5bKEo9B3 size sandstormRocketCargoSuccess speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess teleOpCargoShipCargoSuccess functional fillChoice sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb hiRocketSuccessTeleop match endingHab startingHatch
2 {'notes': 'don’t know how accurate storm is', 'contribution': '', 'fillChoice': '', 'strategy': 'i got confused. i didnt really see what the robot did', 'cargoSuccessTeleop': 'N/A', 'strongMedium': 'Ball', 'teamDBRef': 'team-1739', 'speed': '', 'hiRocketSuccessTeleop': '', 'size': 'Large', 'match': 'match-18', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': '', 'endingHab': 'Hab 1', 'functional': 'Yes', 'startingHatch': 'Hab I', 'lowRocketSuccessTeleop': ''}
3 Ball Medium Medium team-1739 L1 L1 Low High Sorta Cargo Hatch Cargo Equal Low match-22 L2 Hab I
4 Neither Jumbo Medium team-1739 L1 L1 N/A Low No None Neither Cargo Weak N/A match-33 None Hab I
5 Neither Small Medium team-1739 L1 L1 N/A Low No None Neither Cargo Weak N/A match-52 L1 Hab I
6 0 0 0 0 0 slow team-1739 L1 0 0 0 0 0 0 0 0 0 0 0 L1 match-6

View File

@@ -0,0 +1,4 @@
sandstormCrossBonus,9fv7QhcLPsfU59sRrPq7LcJlD8J3,gmkR7hN4D1fQguey5X5V48d3PhO2,strongMediumTeleop,fillChoiceTeleop,cargoSuccessTeleop,contrubution,functional,lowRocketSuccessTeleop,startingHatch,size,speed,hiRocketSuccessTeleop,strategy,match,fillChoice,endingHab,teamDBRef,strongMedium,sandstormCross
,"{'contribution': 'Equal', 'notes': '', 'fillChoice': '', 'strategy': 'place balls in rocket, offensive, close to base', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1781', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': '', 'match': 'match-15', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 3', 'functional': 'Yes', 'startingHatch': '', 'lowRocketSuccessTeleop': ''}",,,,,,,,,,,,,,,,,,
None,,,Neither,None,N/A,IDK,No,N/A,None,IDK,slow,N/A,FTA Deactivation,match-36,None,None,team-1781,Neither,None
,,"{'contribution': 'Great', 'notes': 'potential for hab 3', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': '', 'strongMedium': 'Ball', 'teamDBRef': 'team-1781', 'hiRocketSuccessTeleop': 'N/A', 'speed': 'Medium', 'match': 'match-7', 'size': 'Large', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 2', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,
1 sandstormCrossBonus 9fv7QhcLPsfU59sRrPq7LcJlD8J3 gmkR7hN4D1fQguey5X5V48d3PhO2 strongMediumTeleop fillChoiceTeleop cargoSuccessTeleop contrubution functional lowRocketSuccessTeleop startingHatch size speed hiRocketSuccessTeleop strategy match fillChoice endingHab teamDBRef strongMedium sandstormCross
2 {'contribution': 'Equal', 'notes': '', 'fillChoice': '', 'strategy': 'place balls in rocket, offensive, close to base', 'cargoSuccessTeleop': '', 'strongMedium': '', 'teamDBRef': 'team-1781', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': '', 'match': 'match-15', 'fillChoiceTeleop': 'Low Rocket', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 3', 'functional': 'Yes', 'startingHatch': '', 'lowRocketSuccessTeleop': ''}
3 None Neither None N/A IDK No N/A None IDK slow N/A FTA Deactivation match-36 None None team-1781 Neither None
4 {'contribution': 'Great', 'notes': 'potential for hab 3', 'fillChoice': 'Cargo', 'cargoSuccessTeleop': '', 'strongMedium': 'Ball', 'teamDBRef': 'team-1781', 'hiRocketSuccessTeleop': 'N/A', 'speed': 'Medium', 'match': 'match-7', 'size': 'Large', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 2', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}

View File

@@ -0,0 +1,3 @@
sandstormCrossBonus,9fv7QhcLPsfU59sRrPq7LcJlD8J3,strongMediumTeleop,fillChoiceTeleop,cargoSuccessTeleop,contrubution,functional,lowRocketSuccessTeleop,startingHatch,size,speed,hiRocketSuccessTeleop,strategy,match,fillChoice,endingHab,teamDBRef,strongMedium,sandstormCross
L1,,Ball,Cargo,High,Equal,Yes,N/A,Hab I,Medium,slow,N/A,Cargo only,match-43,None,L1,team-1797,Neither,L1
,"{'contribution': '', 'notes': 'had a reach with the height of their grabber, yet it was extremely inaccurate. with the fast frequency they could make attempts, they were able to land 3', 'fillChoice': '', 'cargoSuccessTeleop': 'Low', 'strongMedium': '', 'teamDBRef': 'team-1797', 'hiRocketSuccessTeleop': '', 'speed': 'Medium', 'match': 'match-8', 'size': 'Jumbo', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'None'}",,,,,,,,,,,,,,,,,
1 sandstormCrossBonus 9fv7QhcLPsfU59sRrPq7LcJlD8J3 strongMediumTeleop fillChoiceTeleop cargoSuccessTeleop contrubution functional lowRocketSuccessTeleop startingHatch size speed hiRocketSuccessTeleop strategy match fillChoice endingHab teamDBRef strongMedium sandstormCross
2 L1 Ball Cargo High Equal Yes N/A Hab I Medium slow N/A Cargo only match-43 None L1 team-1797 Neither L1
3 {'contribution': '', 'notes': 'had a reach with the height of their grabber, yet it was extremely inaccurate. with the fast frequency they could make attempts, they were able to land 3', 'fillChoice': '', 'cargoSuccessTeleop': 'Low', 'strongMedium': '', 'teamDBRef': 'team-1797', 'hiRocketSuccessTeleop': '', 'speed': 'Medium', 'match': 'match-8', 'size': 'Jumbo', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': '', 'functional': '', 'lowRocketSuccessTeleop': '', 'startingHatch': 'None'}

View File

@@ -0,0 +1,5 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,sandstormRocketHatchSuccess,strongMediumTeleop,teleOpCargoShipHatchFailure,jouGPhPF0qME5wNIbd86MzYFsGw2,sandstormRocketCargoSuccess,size,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,klQQqapPjwO3jnpN8Dieequh3OI3,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,startingHatch,fillChoice,functional,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,match,hiRocketSuccessTeleop,endingHab,teleOpCargoShipCargoSuccess
,,,,,"{'contribution': '', 'notes': 'very unstable ', 'fillChoice': 'Cargo', 'strategy': 'ineffective ', 'cargoSuccessTeleop': 'Low', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1884', 'hiRocketSuccessTeleop': 'N/A', 'speed': 'Fast', 'match': 'match-16', 'size': '', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,0,0,,0,,0,,slow,,team-1884,L1,,0,0,0,,0,0,,,0,,,,0,,0,0,1,,,None,match-2,,,0
,,,,,,,,,,,,,,,,,,,"{'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': '', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-1884', 'speed': 'Slow', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-27', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'None', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,
,,,Both,,,,Large,Fast,,team-1884,L1,L1,,,,N/A,,,,High,,Hab I,Cargo,Yes,,Ball,,,,Cargo,Equal,,match-32,N/A,None,
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess sandstormRocketHatchSuccess strongMediumTeleop teleOpCargoShipHatchFailure jouGPhPF0qME5wNIbd86MzYFsGw2 sandstormRocketCargoSuccess size speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure klQQqapPjwO3jnpN8Dieequh3OI3 cargoSuccessTeleop sandstormCargoShipHatchSuccess startingHatch fillChoice functional sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb match hiRocketSuccessTeleop endingHab teleOpCargoShipCargoSuccess
2 {'contribution': '', 'notes': 'very unstable ', 'fillChoice': 'Cargo', 'strategy': 'ineffective ', 'cargoSuccessTeleop': 'Low', 'strongMedium': 'Hatch', 'teamDBRef': 'team-1884', 'hiRocketSuccessTeleop': 'N/A', 'speed': 'Fast', 'match': 'match-16', 'size': '', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Hatch', 'endingHab': '', 'functional': 'Yes', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}
3 0 0 0 0 0 slow team-1884 L1 0 0 0 0 0 0 0 0 0 1 None match-2 0
4 {'notes': '', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strategy': '', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-1884', 'speed': 'Slow', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-27', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'None', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}
5 Both Large Fast team-1884 L1 L1 N/A High Hab I Cargo Yes Ball Cargo Equal match-32 N/A None

View File

@@ -0,0 +1,5 @@
sandstormRocketCargoFailure,teleOpRocketCargoSuccess,strongMediumTeleop,sandstormRocketHatchSuccess,teleOpCargoShipHatchFailure,jouGPhPF0qME5wNIbd86MzYFsGw2,size,sandstormRocketCargoSuccess,speed,strategy,teamDBRef,sandstormCross,sandstormCrossBonus,teleOpCargoShipHatchSuccess,teleOpRocketHatchSuccess,sandstormCargoShipCargoFailure,lowRocketSuccessTeleop,teleOpRocketHatchFailure,teleOpRocketCargoFailure,cargoSuccessTeleop,sandstormCargoShipHatchSuccess,teleOpCargoShipCargoSuccess,functional,fillChoice,sandstormCargoShipCargoSuccess,strongMedium,teleOpCargoShipCargoFailure,sandstormRocketHatchFailure,sandstormCargoShipHatchFailure,fillChoiceTeleop,contrubution,HABClimb,hiRocketSuccessTeleop,match,endingHab,startingHatch
,,,,,"{'notes': '', 'contribution': 'Equal', 'fillChoice': '', 'strategy': '', 'strongMedium': 'Ball', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-2016', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'N/A', 'size': 'Medium', 'match': 'match-12', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Neither', 'endingHab': 'Hab 2', 'functional': 'Sorta', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,Ball,,,,Large,,Fast,Tried unsuccessfully to fill cargo ship then rammed defensively,team-2016,L2,L2,,,,N/A,,,Low,,,No,None,,Hatch,,,,Cargo,Weak,,N/A,match-27,L2,Hab II
,,Ball,,,,Small,,Medium,Pure cargo,team-2016,L2,L2,,,,N/A,,,High,,,Yes,None,,Neither,,,,Cargo,Weak,,Low,match-38,L1,Hab II
0,0,,0,0,,,0,slow,,team-2016,None,,0,0,0,,0,0,,0,0,,,0,,0,0,0,,,None,,match-5,,
1 sandstormRocketCargoFailure teleOpRocketCargoSuccess strongMediumTeleop sandstormRocketHatchSuccess teleOpCargoShipHatchFailure jouGPhPF0qME5wNIbd86MzYFsGw2 size sandstormRocketCargoSuccess speed strategy teamDBRef sandstormCross sandstormCrossBonus teleOpCargoShipHatchSuccess teleOpRocketHatchSuccess sandstormCargoShipCargoFailure lowRocketSuccessTeleop teleOpRocketHatchFailure teleOpRocketCargoFailure cargoSuccessTeleop sandstormCargoShipHatchSuccess teleOpCargoShipCargoSuccess functional fillChoice sandstormCargoShipCargoSuccess strongMedium teleOpCargoShipCargoFailure sandstormRocketHatchFailure sandstormCargoShipHatchFailure fillChoiceTeleop contrubution HABClimb hiRocketSuccessTeleop match endingHab startingHatch
2 {'notes': '', 'contribution': 'Equal', 'fillChoice': '', 'strategy': '', 'strongMedium': 'Ball', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-2016', 'speed': 'Fast', 'hiRocketSuccessTeleop': 'N/A', 'size': 'Medium', 'match': 'match-12', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Neither', 'endingHab': 'Hab 2', 'functional': 'Sorta', 'lowRocketSuccessTeleop': 'N/A', 'startingHatch': 'Hab I'}
3 Ball Large Fast Tried unsuccessfully to fill cargo ship then rammed defensively team-2016 L2 L2 N/A Low No None Hatch Cargo Weak N/A match-27 L2 Hab II
4 Ball Small Medium Pure cargo team-2016 L2 L2 N/A High Yes None Neither Cargo Weak Low match-38 L1 Hab II
5 0 0 0 0 0 slow team-2016 None 0 0 0 0 0 0 0 0 0 0 0 None match-5

View File

@@ -0,0 +1,2 @@
jouGPhPF0qME5wNIbd86MzYFsGw2
"{'notes': 'its us', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-2022', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-5', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}"
1 jouGPhPF0qME5wNIbd86MzYFsGw2
2 {'notes': 'it’s us', 'contribution': 'Equal', 'fillChoice': 'Cargo', 'strongMedium': 'Hatch', 'cargoSuccessTeleop': 'Mid', 'teamDBRef': 'team-2022', 'speed': 'Medium', 'hiRocketSuccessTeleop': '', 'size': 'Medium', 'match': 'match-5', 'fillChoiceTeleop': 'Cargo', 'strongMediumTeleop': 'Ball', 'endingHab': 'Hab 1', 'functional': 'Yes', 'lowRocketSuccessTeleop': '', 'startingHatch': 'Hab I'}

Some files were not shown because too many files have changed in this diff Show More