changeset 194:f8626a142c4d

Adjust scoring method.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 23 Apr 2019 15:43:24 +0300
parents 60871afc2702
children ad336d22c3e8
files game/Engine.java
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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