diff --git a/src/ch/bfh/sevennotseven/Game.java b/src/ch/bfh/sevennotseven/Game.java index ea746c7..c49d490 100644 --- a/src/ch/bfh/sevennotseven/Game.java +++ b/src/ch/bfh/sevennotseven/Game.java @@ -21,6 +21,7 @@ public class Game { private Integer[][] field; private ArrayList nextBlocks; private ArrayList oldFields; + private ArrayList> oldNextBlocks; private int level; private int score; private int size; @@ -217,6 +218,7 @@ public class Game { if(getAvailUndo() > 0 && oldFields.size() > 0){ field= oldFields.remove(oldFields.size()-1); + nextBlocks = oldNextBlocks.remove(oldNextBlocks.size()-1); numUndos--; emitUpdateEvent(); @@ -233,6 +235,7 @@ public class Game { fieldCopy[i] = Arrays.copyOf(field[i], size); } + oldNextBlocks.add(new ArrayList(nextBlocks)); oldFields.add(fieldCopy); } @@ -288,7 +291,9 @@ public class Game { Arrays.fill(field[i], 0); } + //undo stuff oldFields = new ArrayList(); + oldNextBlocks = new ArrayList>(); level = 1; score = 0;