From 9b7567a9665ab65123d5463c8a288eda917b1117 Mon Sep 17 00:00:00 2001 From: JBM Date: Fri, 22 May 2020 22:13:15 +0200 Subject: [PATCH 1/1] Break stone counter. FIX AVATAR DEFEAT ANIMATION AT LAST!!!cos0!! --- src/main/java/com/codingame/game/View.java | 67 ++++++++++---------- src/main/resources/view/assets/frame.png | Bin 0 -> 6736 bytes src/main/resources/view/assets/frame_bg.png | Bin 0 -> 817 bytes 3 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 src/main/resources/view/assets/frame.png create mode 100644 src/main/resources/view/assets/frame_bg.png diff --git a/src/main/java/com/codingame/game/View.java b/src/main/java/com/codingame/game/View.java index 65bacea..dd350fe 100644 --- a/src/main/java/com/codingame/game/View.java +++ b/src/main/java/com/codingame/game/View.java @@ -37,34 +37,34 @@ class View { int x = p0 ? 280 : 1920 - 280; int y = 220; - Rectangle border1 = graphicEntityModule - .createRectangle() - .setWidth(140) - .setHeight(140) - .setX(x - 70) - .setY(y - 70) - .setLineWidth(0) - .setFillColor(colorToken); - - Rectangle border2 = graphicEntityModule - .createRectangle() - .setWidth(120) - .setHeight(120) - .setX(x - 60) - .setY(y - 60) - .setLineWidth(0) - .setFillColor(0xffffff); + Sprite border1 = graphicEntityModule.createSprite() + // .setX(x) + // .setY(y) + .setImage("frame.png") + .setAnchor(0.5) + .setScale(p0 ? -1 : 1) + .setZIndex(22) + .setTint(colorToken); + + Sprite border2 = graphicEntityModule.createSprite() + // .setX(x) + // .setY(y) + .setImage("frame_bg.png") + .setAnchor(0.5) + .setZIndex(20); Sprite avatarSprite = graphicEntityModule.createSprite() - .setX(x) - .setY(y) - .setZIndex(20) - .setImage(avatarToken) - .setAnchor(0.5) - .setBaseHeight(116) - .setBaseWidth(116); + // .setX(x) + // .setY(y) + .setZIndex(21) + .setImage(avatarToken) + .setAnchor(0.5) + .setBaseHeight(116) + .setBaseWidth(116); - avatar = graphicEntityModule.createGroup(border1, border2, avatarSprite); + avatar = graphicEntityModule + .createGroup(border1, border2, avatarSprite) + .setX(x).setY(y); Text text = graphicEntityModule.createText(nicknameToken) .setX(x) @@ -113,7 +113,7 @@ class View { void setStone() { int stones = model.getStones(); if (stones <= 0) { - stoneCounter.setText("No stones!"); + stoneCounter.setText("Out of stones!"); stoneCounter.setFillColor(0xff7777); } else if (stones == 1) { @@ -124,6 +124,7 @@ class View { stoneCounter.setText(stones + " stones"); } } + void animateStones(int stones) { stone.setX(castle.getX()); stone.setY(castle.getY() - 100); @@ -144,18 +145,19 @@ class View { stone.setAlpha(0, Curve.EASE_IN); graphicEntityModule.commitEntityState(0.5, stone); } + void displayMessage(String msg) { message.setText(msg); graphicEntityModule.commitEntityState(0, message); } void destroy() { - avatar.setRotation(170*Math.PI/180, Curve.ELASTIC); + avatar.setRotation(170*Math.PI/180, Curve.ELASTIC); - graphicEntityModule.commitEntityState(0.5, castle); - castle.setX(castle.getX(), Curve.ELASTIC); - castle.setScaleY(-0.2, Curve.EASE_IN); - } + graphicEntityModule.commitEntityState(0.5, castle); + castle.setX(castle.getX(), Curve.ELASTIC); + castle.setScaleY(-0.2, Curve.EASE_IN); + } } Model model; @@ -166,10 +168,11 @@ class View { void init(Model m) { model = m; + drawBackground(); + p0.init(gameManager.getPlayer(0)); p1.init(gameManager.getPlayer(1)); - drawBackground(); drawTroll(); } diff --git a/src/main/resources/view/assets/frame.png b/src/main/resources/view/assets/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..5f815887a5ad1bce3a611aa5b97ac5a0115491c7 GIT binary patch literal 6736 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 literal 0 HcmV?d00001 -- 2.30.2