From 30f5a16e9dd08bb1335d372a32fe7ef08ac67225 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Wed, 25 Jan 2017 20:13:24 +0100 Subject: [PATCH] Clear put piece and take more if hand is finished --- .../lonamiwebs/klooni/game/PieceHolder.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java index 2cbbe3e..3a08dd1 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java +++ b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java @@ -41,6 +41,14 @@ public class PieceHolder { } } + boolean handFinished() { + for (int i = 0; i < count; i++) + if (pieces[i] != null) + return false; + + return true; + } + // Pick the piece below the finger/mouse public boolean pickPiece() { Vector2 mouse = new Vector2( @@ -48,7 +56,7 @@ public class PieceHolder { Gdx.graphics.getHeight() - Gdx.input.getY()); // Y axis is inverted for (int i = 0; i < count; i++) { - if (pieces[i].getRectangle().contains(mouse)) { + if (pieces[i] != null && pieces[i].getRectangle().contains(mouse)) { heldPiece = i; return true; } @@ -61,9 +69,12 @@ public class PieceHolder { public boolean dropPiece(Board board) { if (heldPiece > -1) { if (board.putScreenPiece(pieces[heldPiece])) { - // TODO Remove the piece + pieces[heldPiece] = null; } heldPiece = -1; + if (handFinished()) + takeMore(); + return true; } return false;