# HG changeset patch # User Matti Hamalainen # Date 1556023404 -10800 # Node ID f8626a142c4d6bc18d4fc36660ab4c04babfcc56 # Parent 60871afc2702a576fb3977b386de692d17709981 Adjust scoring method. diff -r 60871afc2702 -r f8626a142c4d game/Engine.java --- a/game/Engine.java Tue Apr 23 15:11:35 2019 +0300 +++ b/game/Engine.java Tue Apr 23 15:43:24 2019 +0300 @@ -454,7 +454,7 @@ public void pieceFinishTurn() { boolean finished = false; - int connections = 0; + int connections = 0, addScore = 0; if (currPiece != null) { @@ -466,11 +466,14 @@ if (currX >= 0 && currX < boardSize && currY >= 0 && currY < boardSize) { int oldX = currX, oldY = currY; + finished = pieceCheck(board[currX][currY]); + connections++; - finished = pieceCheck(board[currX][currY]); if (!finished) { + addScore += connections * connections; + Lock write = pointLock.writeLock(); write.lock(); try @@ -479,14 +482,13 @@ new IDMPoint( getScaledX() + ((oldX + 0.5f) * pscale), getScaledY() + ((oldY + 0.5f) * pscale)), - "" + connections)); + "" + addScore)); } finally { write.unlock(); } } - } else { @@ -496,8 +498,8 @@ } } - // Compute and add score - gameScore += connections * connections; + // Increase number of moves + gameScore += addScore; moves++; // If game over, clear the game