From fd287beb9d001a42d78a8732ce3ab857096c3afe Mon Sep 17 00:00:00 2001 From: t-moe Date: Fri, 17 Jun 2016 13:37:45 +0200 Subject: [PATCH] More work on undo/freemove buttons. --- src/ch/bfh/sevennotseven/FieldCanvas.java | 2 +- src/ch/bfh/sevennotseven/Game.java | 2 +- src/ch/bfh/sevennotseven/Window.java | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ch/bfh/sevennotseven/FieldCanvas.java b/src/ch/bfh/sevennotseven/FieldCanvas.java index edc7c6e..3021a05 100644 --- a/src/ch/bfh/sevennotseven/FieldCanvas.java +++ b/src/ch/bfh/sevennotseven/FieldCanvas.java @@ -69,9 +69,9 @@ public class FieldCanvas extends JPanel{ if(dst != null && src!=null && !src.equals(dst)) { System.out.println("Moving from "+src.toString()+ " to "+dst.toString()); game.doMove(src, dst); - repaint(); } src = null; + repaint(); } }; diff --git a/src/ch/bfh/sevennotseven/Game.java b/src/ch/bfh/sevennotseven/Game.java index 779e886..a47cdd3 100644 --- a/src/ch/bfh/sevennotseven/Game.java +++ b/src/ch/bfh/sevennotseven/Game.java @@ -394,7 +394,7 @@ public class Game { field[lastPoint.x][lastPoint.y] = 0; freeBlocks++; - if(distinctmatches < 1){ + if(distinctmatches > 1){ freeMoves++; } diff --git a/src/ch/bfh/sevennotseven/Window.java b/src/ch/bfh/sevennotseven/Window.java index ecef823..ca348d4 100644 --- a/src/ch/bfh/sevennotseven/Window.java +++ b/src/ch/bfh/sevennotseven/Window.java @@ -54,8 +54,10 @@ public class Window extends JFrame { moves.setPreferredSize(new Dimension(200, 40)); - buttonFreeMove= new JButton("FreeMove"); - buttonUndo = new JButton("Undo"); + buttonFreeMove= new JButton("Free Move (0)"); + buttonFreeMove.setEnabled(false); + buttonUndo = new JButton("Undo (0)"); + buttonUndo.setEnabled(false); labelScore= new JLabel("Score: 0"); JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); @@ -70,6 +72,10 @@ public class Window extends JFrame { @Override public void gameUpdate() { labelScore.setText("Score: "+game.getScore()); + buttonFreeMove.setEnabled(game.getAvailFreeMoves()>0); + buttonUndo.setEnabled(game.getAvailUndo()>0); + buttonFreeMove.setText("Free Move ("+game.getAvailFreeMoves()+")"); + buttonUndo.setText("Undo ("+game.getAvailUndo()+")"); } });