diff --git a/core/src/com/monjaro/gamejam/main/Game.java b/core/src/com/monjaro/gamejam/main/Game.java index 1988005..a45174b 100644 --- a/core/src/com/monjaro/gamejam/main/Game.java +++ b/core/src/com/monjaro/gamejam/main/Game.java @@ -68,7 +68,7 @@ public class Game extends ApplicationAdapter { if (input.isKeyJustPressed(Input.Keys.R) && round.getRerolls() > 0) { //reroll dice that aren't locked reroll(); - round.reduceRerolls(0); + round.reduceRerolls(1); } if (input.isKeyPressed(Input.Keys.SHIFT_LEFT)) { @@ -78,11 +78,13 @@ public class Game extends ApplicationAdapter { if (input.isKeyJustPressed(keyCode)) { Segment segment = round.getSegments().get(i); - if (segment.isDestroyedBy(getSelectedDice())) { //if can be destroyed with selected + if (!segment.isDestroyed() && segment.isDestroyedBy(getSelectedDice())) { //if can be destroyed with selected segment.destroy(); + round.getDecays().forEach(d -> d.getDecayed(getSelectedDice()).forEach(Die::decay)); //apply all decay rules - dice.forEach(d -> d.setSelected(false)); -// reroll(); + + dice.forEach(d -> d.setSelected(false)); //unselect all dice + reroll(); //reroll } } } diff --git a/core/src/com/monjaro/gamejam/segment/DualSegment.java b/core/src/com/monjaro/gamejam/segment/DualSegment.java index ee60a13..7613e66 100644 --- a/core/src/com/monjaro/gamejam/segment/DualSegment.java +++ b/core/src/com/monjaro/gamejam/segment/DualSegment.java @@ -55,4 +55,14 @@ public class DualSegment extends Segment { && (!firstTrio || countCounts.getOrDefault(3, 0) >= 1); } + @Override + public int getSpriteColumn() { + return 0; + } + + @Override + public int getSpriteRow() { + return 0; + } + } diff --git a/core/src/com/monjaro/gamejam/segment/KinSegment.java b/core/src/com/monjaro/gamejam/segment/KinSegment.java index f862249..8869620 100644 --- a/core/src/com/monjaro/gamejam/segment/KinSegment.java +++ b/core/src/com/monjaro/gamejam/segment/KinSegment.java @@ -36,4 +36,14 @@ public class KinSegment extends Segment { //multiple dice of the same value return false; } + @Override + public int getSpriteColumn() { + return 0; + } + + @Override + public int getSpriteRow() { + return 0; + } + } diff --git a/core/src/com/monjaro/gamejam/segment/OlympicSegment.java b/core/src/com/monjaro/gamejam/segment/OlympicSegment.java index 3236ad7..05869d1 100644 --- a/core/src/com/monjaro/gamejam/segment/OlympicSegment.java +++ b/core/src/com/monjaro/gamejam/segment/OlympicSegment.java @@ -47,4 +47,14 @@ public class OlympicSegment extends Segment { return best >= length; } + @Override + public int getSpriteColumn() { + return 0; + } + + @Override + public int getSpriteRow() { + return 0; + } + } diff --git a/core/src/com/monjaro/gamejam/segment/Segment.java b/core/src/com/monjaro/gamejam/segment/Segment.java index f821986..07d476f 100644 --- a/core/src/com/monjaro/gamejam/segment/Segment.java +++ b/core/src/com/monjaro/gamejam/segment/Segment.java @@ -39,4 +39,8 @@ public abstract class Segment { return destroyed; } + public abstract int getSpriteColumn(); + + public abstract int getSpriteRow(); + }