fork download
  1. 'use strict';
  2.  
  3. var CLOUD_WIDTH = 420;
  4. var CLOUD_HEIGHT = 270;
  5. var GAP = 90;
  6. var TEXTX = 150;
  7. var TEXTYFIRST = 30;
  8. var TEXTTIMES = 270;
  9. var TEXTNAMES = 80;
  10. var RECTX = 190;
  11. var RECTY = 250;
  12. var RECT_WIDTH = -40;
  13. var RECT_HEIGHT = 150;
  14.  
  15. var renderCloud = function (ctx, x, y, color) {
  16. ctx.fillStyle = color;
  17. ctx.fillRect(x, y, CLOUD_WIDTH, CLOUD_HEIGHT);
  18. };
  19.  
  20. var getMaxElement = function (arr) {
  21. if (arr !== []) {
  22. var max = 0;
  23. for (var i = 0; i < arr.length; i++) {
  24. if (max < arr[i]) {
  25. max = arr[i];
  26. }
  27. }
  28. }
  29. return max;
  30. };
  31. var getGistogram = function (ctx, names, times) {
  32. var bestplayer = getMaxElement(times);
  33. for (var n = 0; n < times.length; n++) {
  34. if (names[n] === 'Вы') {
  35. ctx.fillStyle = 'rgba(255, 0, 0, 1)';
  36. } else {
  37. ctx.fillStyle = 'rgba(0, 0, 255,' + Math.random() + ' )';
  38. }
  39. ctx.fillRect(RECTX + n * GAP, RECTY, RECT_WIDTH, -((RECT_HEIGHT) * times[n]) / bestplayer);
  40.  
  41. ctx.fillStyle = 'rgba(0, 0, 0, 1)';
  42. ctx.font = '16px PT Mono';
  43. ctx.fillText(Math.round(times[n]), TEXTX + n * GAP, TEXTTIMES);
  44. ctx.fillText(names[n], TEXTX + n * GAP, TEXTNAMES);
  45. }
  46. };
  47.  
  48. var getText = function (ctx, word) {
  49. var textgap = 0;
  50. for (var n = 0; n < word.length; n++) {
  51.  
  52. ctx.fillText(word[n], TEXTX, TEXTYFIRST + textgap);
  53. textgap += 30;
  54. }
  55. };
  56.  
  57. window.renderStatistics = function (ctx, names, times) {
  58.  
  59. renderCloud(ctx, 110, 20, 'rgba(0, 0, 0, 0.7)');
  60. renderCloud(ctx, 100, 10, '#fff');
  61.  
  62. getGistogram(ctx, names, times);
  63. var words = ['Ура вы победили!', 'Список результатов:'];
  64. getText(ctx, words);
  65. };
  66.  
Runtime error #stdin #stdout #stderr 0s 105856KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
prog.js:57:0 ReferenceError: window is not defined