Advertisement
Guest User

OK

a guest
Mar 22nd, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.24 KB | None | 0 0
  1. const {events, zoneChanges, shifts, playerProfiles} = require('./game_7997');
  2.  
  3. gamer = 197;
  4.  
  5. let ZoneChanges = zoneChanges.filter((item) => item.playerId === gamer);
  6. var idPlayer = ZoneChanges[0].gamePlayerId;
  7. console.log(idPlayer);
  8. var NamePlayer = playerProfiles.find((item) => item.id === gamer);
  9. console.log(NamePlayer.nameLatin);
  10. let PlayerEvents = events.filter((item) => item.gamePlayerId === idPlayer);
  11. let TeamStat = PlayerEvents[0].eventTeamStatus;
  12. var idTeamStat = 0;
  13. if (TeamStat == "HOME") {
  14. idTeamStat = zoneChanges[0].homeTeamId;
  15. } else if (TeamStat == "AWAY") {
  16. idTeamStat = zoneChanges[0].awayTeamId;
  17. }
  18.  
  19. var goal = 0;
  20. var goal2 = 0;
  21. var goalMass = [];
  22. var shotsIncludes = "SHOT_ATTEMPT_";
  23. var remGame = "PENALTY_";
  24. let needarray2 = [];
  25.  
  26. const fs = require('fs');
  27.  
  28. //Точность бросков
  29. var shots, shotsBad, shotsGood, goalMomentsBad, goalMoments, goalFinish;
  30. var shots = shotsBad = shotsGood = goalMomentsBad = goalMoments = goalFinish = 0;
  31.  
  32. for (i=0;i<PlayerEvents.length;i++) {
  33. if (PlayerEvents[i].eventType == "GOAL") {
  34. shots++;
  35. }
  36. if (PlayerEvents[i].eventType.includes(shotsIncludes) && PlayerEvents[i].shotOnGoal === true) {
  37. shotsGood++;
  38. } else if (PlayerEvents[i].eventType.includes(shotsIncludes) && PlayerEvents[i].shotOnGoal === false) {
  39. shotsBad++;
  40. }
  41. if (PlayerEvents[i].danger === true) {
  42. goalMoments++;
  43. }
  44. }
  45.  
  46. console.log("Точность бросков:");
  47. console.log("Голы:", shots);
  48. console.log("Успешные броски: (shotOnGoal: true):", shotsGood);
  49. console.log("Броски (shotOnGoal: false):", shotsBad);
  50. console.log("Голевые моменты:", goalMoments);
  51. console.log("Добивание:", goalFinish);
  52. console.log("");
  53. console.log("_________________________");
  54. console.log("");
  55.  
  56. //Владение шайбой
  57. var tv = 0;
  58.  
  59. for (i=0;i<shifts.length;i++) {
  60. if (shifts[i].playerId == gamer) {
  61. tv += shifts[i].possessionTime;
  62. }
  63. }
  64.  
  65. var d = new Date(tv*100);
  66.  
  67. console.log("Владение шайбой:", d.getUTCMinutes() + " мин." + " " + d.getUTCSeconds() + " сек.");
  68.  
  69.  
  70. var o = 0;
  71.  
  72. //Время владения команды
  73. for (i=0;i<shifts.length;i++) {
  74. if (shifts[i].teamId == 4 && shifts[i].playerId != 83) {
  75. o += shifts[i].possessionTime;
  76. }
  77. }
  78. var d = new Date(o*100);
  79. console.log("Владение шайбой команды:", d.getUTCMinutes() + " мин." + " " + d.getUTCSeconds() + " сек.");
  80.  
  81.  
  82.  
  83.  
  84. console.log("_________________________")
  85. console.log("");
  86.  
  87. //Точность передач
  88. var gollPass, potentialpass, noPotentialpass, passS, passN, passD, npass1, npass2, npass0;
  89. var gollPass = potentialpass = noPotentialpass = passS = passD = passN = npass1 = npass2 = npass0 = 0;
  90.  
  91. for (f=0;f<PlayerEvents.length;f++) {
  92. if (PlayerEvents[f].assist === true) {
  93. gollPass++;
  94. }
  95. if (PlayerEvents[f].assistType == "POTENTIAL_ASSIST_1" || PlayerEvents[f].assistType == "POTENTIAL_ASSIST_2" && PlayerEvents[f].successPass === true) {
  96. potentialpass++;
  97. } else if (PlayerEvents[f].assistType == "POTENTIAL_ASSIST_1" || PlayerEvents[f].assistType == "POTENTIAL_ASSIST_2" && PlayerEvents[f].successPass === false) {
  98. noPotentialpass++;
  99. }
  100. //
  101. if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "DEFENSIVE" && PlayerEvents[f].successPass === true) {
  102. passD++;
  103.  
  104. }
  105. if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "DEFENSIVE" && PlayerEvents[f].successPass === false) {
  106. npass1++;
  107. }
  108.  
  109. if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "NEUTRAL" && PlayerEvents[f].successPass === true) {
  110. passN++; } else if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "NEUTRAL" && PlayerEvents[f].successPass === false) {
  111. npass2++;
  112. }
  113.  
  114. if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "OFFENSIVE" && PlayerEvents[f].successPass === false)
  115. {
  116. npass0++;
  117. }
  118. if (PlayerEvents[f].eventType == "PASS" && PlayerEvents[f].zoneType == "OFFENSIVE" && PlayerEvents[f].successPass === true)
  119. {
  120. passS++;
  121. }
  122.  
  123. }
  124.  
  125. console.log("Точность передач:");
  126. console.log("Голевая передача", gollPass);
  127. console.log("Обостряющая передача (successPass: true):", potentialpass);
  128. console.log("Обостряющая передача (successPass: false):", noPotentialpass);
  129. console.log("Передача в зоне соперника:", passS, "/", npass0);
  130. console.log("Передача в средней зоне:", passN, "/", npass2);
  131. console.log("Передача в своей зоне:", passD, "/", npass1);
  132. console.log("");
  133. console.log("_________________________");
  134. console.log("");
  135.  
  136. // Вбрасывания
  137. var vb1, nvb1, vb2, nvb2, vb3, nvb3;
  138. var vb1 = vb2 = vb3 = nvb3 = nvb2 = nvb1 = 0;
  139. for (i=0;i<PlayerEvents.length;i++) {
  140. if (PlayerEvents[i].eventType == "FACE_OFF" && PlayerEvents[i].zoneType == "NEUTRAL" && PlayerEvents[i].wonFaceOff === true) {
  141. vb1++;
  142. }
  143.  
  144. if (PlayerEvents[i].eventType == "FACE_OFF" && PlayerEvents[i].zoneType == "OFFENSIVE" && PlayerEvents[i].wonFaceOff === true) {
  145. vb2++;
  146. // needarray2.push(PlayerEvents[i])
  147. }
  148.  
  149. if (PlayerEvents[i].eventType == "FACE_OFF" && PlayerEvents[i].zoneType == "DEFENSIVE" && PlayerEvents[i].wonFaceOff === true) {
  150. vb3++;
  151. }
  152. }
  153.  
  154. for (i=0;i<events.length;i++) {
  155. if (events[i].eventType == "FACE_OFF" && events[i].zoneType == "NEUTRAL" && events[i].faceOffLossPlayerId == idPlayer) {
  156. nvb1++;
  157. }
  158. if (events[i].eventType == "FACE_OFF" && events[i].zoneType =="OFFENSIVE" && events[i].faceOffLossPlayerId ==idPlayer ) {
  159. nvb2++;
  160. }
  161. if (events[i].eventType == "FACE_OFF" && events[i].zoneType == "DEFENSIVE" && events[i].faceOffLossPlayerId == idPlayer ) {
  162. nvb3++;
  163. }
  164. }
  165.  
  166. console.log("Вбрасывание:")
  167. console.log("Вбрасывания в зоне соперника (wonFaceOff: true): ", vb2);
  168. console.log("Вбрасывания в зоне соперника (wonFaceOff: false): ", nvb2);
  169. console.log("Вбрасывания в средней зоне (wonFaceOff: true): ", vb1);
  170. console.log("Вбрасывания в средней зоне (wonFaceOff: false): ", nvb1);
  171. console.log("Вбрасывания в своей зоне (wonFaceOff: true): ", vb3);
  172. console.log("Вбрасывания в своей зоне (wonFaceOff: false): ", nvb3);
  173. console.log("+", vb1+vb2+vb3)
  174. console.log("-", nvb1+nvb2+nvb3)
  175. console.log("");
  176. console.log("_________________________");
  177. console.log("");
  178.  
  179.  
  180. var checkbody, checkstick, crosspass, givepass;
  181. var checkbody = checkstick = givepass = crosspass = 0;
  182.  
  183. //Борьба
  184. console.log("Борьба:")
  185. for (i=0;i<PlayerEvents.length;i++) {
  186. if (PlayerEvents[i].eventType == "CHECK_BODY") {
  187. checkbody++;
  188. }
  189. if (PlayerEvents[i].eventType == "CHECK_STICK") {
  190. checkstick++;
  191. }
  192.  
  193. if (PlayerEvents[i].recovery === true || PlayerEvents[i].reboundRecovery === true) {
  194. givepass++;
  195. }
  196. }
  197.  
  198. for (i=0;i<events.length;i++) {
  199. if (events[i].eventType == "PASS" && events[i].successPass === false && events[i+1].takeaway === true && events[i+1].gamePlayerId == idPlayer){
  200. crosspass++;
  201. }
  202. }
  203.  
  204.  
  205. //&& events[i].gamePlayerId == idPlayer
  206. var goalFinish = 0;
  207. //Добивание и Перехват && events[i].gamePlayerId == idPlayer)
  208. for (i=1;i<events.length;i++) {
  209. if (((events[i].eventType.includes(shotsIncludes) && events[i].eventType != "SHOT_ATTEMPT_BLOCKED" && events[i].eventTeamStatus == "HOME")) && events[i-1].reboundRecovery === true) {
  210. goalFinish++;
  211. } needarray2.push(events[i+1])
  212. }
  213.  
  214. console.log("goalfnish", goalFinish)
  215.  
  216.  
  217.  
  218.  
  219. // for (i=0;i<events.length;i++) {
  220. // if (events[i].recovery === true || events[i].reboundRecovery === true) {
  221. // crosspass++;
  222. // }
  223. // }
  224.  
  225. // console.log("crosspass", crosspass)
  226.  
  227. // console.log("crosspass", crosspass)
  228.  
  229. // var gm = 0;
  230. // for (i=1;i<events.length;i++) {
  231. // if (events[i].eventType.includes(shotsIncludes) && (events[i].eventTeamStatus == "HOME" && events[i+1].eventType == "RECEPTION")) {
  232. // gm++;
  233. // }
  234. // }
  235.  
  236.  
  237.  
  238.  
  239.  
  240. //Перехваты команда
  241. // for (i=0;i<events.length;i++) {
  242. // if (events[i].eventType == "PASS" && events[i].successPass === false && (events[i+1].takeaway === true) ) {
  243. // crosspass++;
  244. // // needarray2.push(events[i+1]);
  245. // }
  246. // }
  247.  
  248. //Перехваты игрок
  249. for (i=0;i<events.length;i++) {
  250. if (events[i].eventType == "PASS" && events[i].successPass === false && (events[i+1].takeaway === true && events[i+1].gamePlayerId == idPlayer)) {
  251. crosspass++;
  252. // needarray2.push(events[i+1]);
  253. }
  254. }
  255.  
  256. console.log("Отбор корпусом", checkbody)
  257. console.log("Отбор клюшкой", checkstick)
  258. console.log("Перехват", crosspass)
  259. console.log("Подбор", givepass)
  260. console.log("")
  261. console.log("_________________________")
  262. console.log("")
  263.  
  264. //Потери
  265.  
  266. var giveaw, blckr, deleting;
  267. var giveaw = blckr = deleting = 0;
  268.  
  269. for (i=0;i<PlayerEvents.length;i++) {
  270.  
  271. if (PlayerEvents[i].giveaway === true) {
  272. giveaw++;
  273. }
  274.  
  275. if (PlayerEvents[i].eventType.includes(remGame)) {
  276. deleting++;
  277. }
  278. }
  279.  
  280. for (i=0;i<events.length;i++) {
  281. if (events[i].eventType == "SHOT_ATTEMPT_BLOCKED" && (events[i+1].gamePlayerId == idPlayer && events[i+1].eventType == "RECEPTION")) {
  282. blckr++;
  283. // needarray2.push(events[i])
  284. }
  285. }
  286.  
  287. console.log("Потери:", giveaw);
  288. console.log("Блокировки:", blckr);
  289. console.log("Удаления:", deleting);
  290. console.log("")
  291. console.log("_________________________")
  292. console.log("")
  293.  
  294.  
  295. let PlayerChanges = zoneChanges.filter((item) => item.gamePlayerId === idPlayer);
  296.  
  297. var carryin = 0;
  298. var passin = 0;
  299. var dumpin = 0;
  300. var necarryin = 0;
  301. var nepassin = 0;
  302. var nedumpin = 0;
  303.  
  304. for (j=0;j<PlayerChanges.length;j++) {
  305. if (PlayerChanges[j].type == "CARRY_IN" && PlayerChanges[j].success === true) {
  306. carryin++;
  307. } else if (PlayerChanges[j].type == "CARRY_IN" && PlayerChanges[j].success === false) {
  308. necarryin++;
  309. }
  310. if (PlayerChanges[j].type == "PASS_IN" && PlayerChanges[j].success === true) {
  311. passin++;
  312. } else if (PlayerChanges[j].type == "PASS_IN" && PlayerChanges[j].success === false) {
  313. nepassin++;
  314. }
  315. if (PlayerChanges[j].type == "DUMP_IN" && PlayerChanges[j].success === true) {
  316. dumpin++;
  317. } else if (PlayerChanges[j].type == "DUMP_IN" && PlayerChanges[j].success === false) {
  318. nedumpin++;
  319. }
  320. }
  321.  
  322. console.log("+ входы", carryin,passin,dumpin);
  323. console.log("- входы", necarryin,nepassin,nedumpin);
  324. console.log("сумма", carryin+necarryin+nepassin+nedumpin+passin+dumpin);
  325.  
  326. var vccarry = 0;
  327. var vcpass = 0;
  328. var vcdump = 0;
  329. var nvccarry = 0;
  330. var nvcpass = 0;
  331. var nvcdump = 0;
  332.  
  333. for (j=0;j<PlayerChanges.length;j++) {
  334. if (PlayerChanges[j].type == "CARRY_OUT" && PlayerChanges[j].success === true) {
  335. vccarry++;
  336. } else if (PlayerChanges[j].type == "CARRY_OUT" && PlayerChanges[j].success === false) {
  337. nvccarry++;
  338. }
  339. if (PlayerChanges[j].type == "PASS_OUT" && PlayerChanges[j].success === true) {
  340. vcpass++;
  341. } else if (PlayerChanges[j].type == "PASS_OUT" && PlayerChanges[j].success === false) {
  342. nvcpass++;
  343. }
  344. if (PlayerChanges[j].type == "DUMP_OUT" && PlayerChanges[j].success === true) {
  345. vcdump++;
  346. } else if (PlayerChanges[j].type == "DUMP_OUT" && PlayerChanges[j].success === false) {
  347. nvcdump++;
  348. }
  349. }
  350.  
  351. console.log("+ выходы", vccarry,vcpass,vcdump);
  352. console.log("- выходы", nvccarry,nvcpass,nvcdump);
  353. console.log("сумма", vccarry+vcpass+nvccarry+nvcpass+vcdump+nvcdump)
  354. console.log("")
  355. console.log("________________________")
  356. console.log("")
  357.  
  358. let TimePlayer = shifts.filter((item) => item.playerId === gamer);
  359. var SummTime = 0;
  360.  
  361. for (i=0;i<TimePlayer.length;i++) {
  362. SummTime += TimePlayer[i].duration;
  363. }
  364. //
  365. // console.log(SummTime)
  366.  
  367. var d = new Date(SummTime*100);
  368. console.log("Чистое игровое время:", d.getUTCMinutes() + " мин." + " " + d.getUTCSeconds() + " сек.");
  369.  
  370.  
  371. var goalKeeperMomen = "SAVE_";
  372. var keeps = 0;
  373. var nkeeps = 0;
  374.  
  375. for (i=1;i<events.length;i++) {
  376. if ((events[i].eventType.includes(goalKeeperMomen) && events[i].gamePlayerId == idPlayer) && events[i-1].shotWithRebound === true) {
  377. keeps++;
  378.  
  379. }
  380. }
  381.  
  382. for (i=1;i<events.length;i++) {
  383. if ((events[i].eventType.includes(goalKeeperMomen) && events[i].gamePlayerId == idPlayer) && events[i-1].shotWithRebound === false) {
  384. nkeeps++;
  385. }
  386. }
  387.  
  388. // console.log("keeps", keeps, nkeeps);
  389. //Head
  390. var JSONdata = JSON.stringify(needarray2);
  391.  
  392. fs.writeFile("./notNullactions.js", JSONdata, function(err) {
  393. if(err) {
  394. return console.log(err);
  395. }
  396. });
  397.  
  398.  
  399.  
  400.  
  401. m0nk3yt3st1ng00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement