From 66da973e029e3bca2d896222e9e7bd279573fd09 Mon Sep 17 00:00:00 2001 From: edoardoo Date: Sat, 8 Aug 2015 18:33:26 +0200 Subject: [PATCH] leaderboard with alarm on new points --- public/index.html | 12 +++- public/scripts/functions.js | 116 +++++++++++++++++++++++++++++++++--- public/sounds/bell.mp3 | Bin 0 -> 28170 bytes public/style/style.less | 90 +++++++++++++++++++++++++--- 4 files changed, 199 insertions(+), 19 deletions(-) create mode 100644 public/sounds/bell.mp3 diff --git a/public/index.html b/public/index.html index c2e9b62..9a1c25d 100644 --- a/public/index.html +++ b/public/index.html @@ -6,16 +6,22 @@ - + -
+
+ +
Loading...
+
- + \ No newline at end of file diff --git a/public/scripts/functions.js b/public/scripts/functions.js index 16ea345..bc09b87 100644 --- a/public/scripts/functions.js +++ b/public/scripts/functions.js @@ -1,6 +1,8 @@ +var points = 0; function updateDimensions( dimension ){ less.modifyVars({"@sizeWidth":dimension+"px"}); } + function populateHoneycomb( honeyCells ){ // honeyCells = jsonExample; @@ -10,8 +12,29 @@ function populateHoneycomb( honeyCells ){ var width = "innerWidth" in window ? window.innerWidth : document.documentElement.offsetWidth; - var cellWidth = (width - honeyCells.width)/(honeyCells.width+0.5); + + // var cellWidth = ( height/honeyCells.height )*Math.sqrt(3); + // if( width/honeyCells.width < height/honeyCells.height ){ + + var cellWidth = (width - honeyCells.width)/(honeyCells.width+0.5); + // } + + updateDimensions( cellWidth ); + + var horizontal = false; + if(width/height > 1){ + horizontal = true; + } + + var honeyCombHorizontal = false; + + if( honeyCells.width/honeyCells.height > 1){ + honeyCombHorizontal = true; + } + + + var honeyComb = document.getElementById("honeyComb"); honeyComb.innerHTML = ""; @@ -44,21 +67,98 @@ function populateHoneycomb( honeyCells ){ }; - setFilled( honeyCells ); + setFilled( honeyCells, honeyCells.filled, "active" ); + setFilled( honeyCells, honeyCells.touched, "touched" ); + setFilled( honeyCells, honeyCells.unit, "unitMember" ); } -function setFilled( honeyCells ){ +function setFilled( honeyCells, cellsToCheck, className ){ // honeyCells = jsonExample; var hexCells = document.getElementsByClassName("hex"); - for (var i = 0; i < honeyCells.filled.length; i++) { - var x = honeyCells.filled[i].x; - var y = honeyCells.filled[i].y; + for (var i = 0; i < cellsToCheck.length; i++) { + var x = cellsToCheck[i].x; + var y = cellsToCheck[i].y; var filledCell = ( y * honeyCells.width ) + x; var honeyCell = hexCells[ filledCell ]; - honeyCell.className += " disabled"; + honeyCell.className += " "+className; }; } - +function hasClass(el, cls) { + return el.className && new RegExp("(\\s|^)" + cls + "(\\s|$)").test(el.className); +} +function removeClass(ele,cls) { + if (hasClass(ele,cls)) { + var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); + ele.className=ele.className.replace(reg,' '); + } +} +function removeId(id) { + return (elem=document.getElementById(id)).parentNode.removeChild(elem); +} + +function toggleLeaderBoard(){ + var leaderBoard = document.getElementById("leaderBoard"); + if( hasClass(leaderBoard, "open")){ + removeClass(leaderBoard, "open"); + }else{ + leaderBoard.className += " open"; + } + updateLeaderBoard() +} +function populateBoard(){ + var listBoard = document.getElementById("listBoard"); + var results = ""; + var rankings = data.data.rankings; + for (var i = rankings.length - 1; i >= 0; i--) { + if( rankings[i].teamId == 235 ){ + results += "

Cazziammolla Placement: "+rankings[i].rank+"

"; + results += "

with a score of: "+rankings[i].score+"

"; + if (rankings[i].rank != points && points != 0){ + score = rankings[i].rank; + ringTheBell(); + } + } + }; + + var settings = data.data.settings; + for (var i = 0; i < settings.length; i++) { + for (var j = settings[i].rankings.length - 1; j >= 0; j--) { + if(settings[i].rankings[j].teamId == 235){ + results += ""+i+""+j+"" + } + }; + }; + var results = ""+results+"
SettingPlacement
"; + listBoard.innerHTML = results; + + + +} +function updateLeaderBoard(){ + var intervalID = setInterval( function(){ + loadRankingJs('https://davar.icfpcontest.org/rankings.js?cachebuster='+ new Date().getTime()); + }, 30000); + +} +function loadRankingJs(scriptName) { + var rankingScript = document.getElementById("rankingScript"); + if ( rankingScript ){ + removeId("rankingScript"); + } + var docHeadObj = document.getElementsByTagName("head")[0]; + var dynamicScript = document.createElement("script"); + dynamicScript.type = "text/javascript"; + dynamicScript.id = "rankingScript"; + dynamicScript.src = scriptName; + dynamicScript.onload = function(){ populateBoard();}; + docHeadObj.appendChild(dynamicScript); + + return dynamicScript; +} + +function ringTheBell(){ + document.getElementById("bell").play(); +} // jsonExample = {"height":15,"width":15,"sourceSeeds":[0],"units":[{"members":[{"x":0,"y":0}],"pivot":{"x":0,"y":0}}],"id":1,"filled":[{"x":2,"y":4},{"x":3,"y":4},{"x":4,"y":4},{"x":5,"y":4},{"x":6,"y":4},{"x":11,"y":4},{"x":2,"y":5},{"x":8,"y":5},{"x":11,"y":5},{"x":2,"y":6},{"x":11,"y":6},{"x":2,"y":7},{"x":3,"y":7},{"x":4,"y":7},{"x":8,"y":7},{"x":11,"y":7},{"x":2,"y":8},{"x":9,"y":8},{"x":11,"y":8},{"x":2,"y":9},{"x":8,"y":9},{"x":2,"y":10},{"x":3,"y":10},{"x":4,"y":10},{"x":5,"y":10},{"x":6,"y":10},{"x":9,"y":10},{"x":11,"y":10}],"sourceLength":100}; diff --git a/public/sounds/bell.mp3 b/public/sounds/bell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..eddcd2c300f557872ad7fbf2490103d1adc267a5 GIT binary patch literal 28170 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

QSr@zc``Y351GgO~GMWPqnwR9Z%q8Xpg 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