# HG changeset patch # User Oleksandr Gavenko # Date 1409671149 -10800 # Node ID 8fb744f2df13c5703c2ff438d695a44e75763cc2 # Parent 2821cc5e018991a82652fd659b2debf5e3b37e64 Speed measure. diff -r 2821cc5e0189 -r 8fb744f2df13 2048.html --- a/2048.html Tue Sep 02 01:10:03 2014 +0300 +++ b/2048.html Tue Sep 02 18:19:09 2014 +0300 @@ -28,7 +28,7 @@

2048

-
Score: 0, Max: 0
+
Score: 0, Max: 0, Speed: 0 t/s, Turn: 0
@@ -282,15 +282,23 @@ ui.score = {}; var scoreDom = document.getElementById("score"); var maxDom = document.getElementById("max"); + var speedDom = document.getElementById("speed"); + var turnDom = document.getElementById("turn"); ui.score.clear = function(brd) { scoreDom.innerHTML = '0'; maxDom.innerHTML = '0'; + speedDom.innerHTML = '0'; + turnDom.innerHTML = '0'; } ui.score.update = function(brd) { var score = board.score(brd); scoreDom.innerHTML = '' + score.score; maxDom.innerHTML = '' + score.max; } + ui.score.speed = function(speed, turn) { + speedDom.innerHTML = '' + speed; + turnDom.innerHTML = '' + turn; + } function start() { ui.score.clear(); @@ -384,6 +392,8 @@ function finish() { ui.message.clear(); + var step = 0; + var tsFrom = new Date().getTime(); while (!board.gameOver(board.current)) { var tmpBrd = board.create(); board.copy(board.current, tmpBrd); @@ -401,9 +411,12 @@ ui.message.set("Wrong move!"); return; } + step++; } + var tsTo = new Date().getTime(); ui.board.update(board.current); ui.score.update(board.current); + ui.score.speed(step*1000.0/(tsTo-tsFrom), step); ui.message.set("Game over!"); } document.getElementById("finish").addEventListener("click", finish);