From 581353457a0ad9acba25319846e87a91e59fc2f4 Mon Sep 17 00:00:00 2001 From: marc barbier Date: Mon, 4 Jan 2021 13:45:26 +0100 Subject: [PATCH] patch mauvais colision combat --- .../iutlaval/myapplication/Game/GameLogicThread.java | 1 + .../myapplication/Game/PlayableZonesHandler.java | 11 ++++++++--- .../com/iutlaval/myapplication/Game/TouchHandler.java | 3 ++- .../myapplication/Video/Drawables/DrawableCard.java | 10 ++-------- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java index ff2feee..9b228cb 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java @@ -385,6 +385,7 @@ public class GameLogicThread extends Thread{ if(board.getAdvCardsOnBoard()[zoneCible] == null || card.getCard().getAttack() == 0) { + Log.e("DENIED",""+ board.getAdvCardsOnBoard()[zoneCible] + " r "+card.getCard().getAttack()); return false; } diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java b/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java index 16aca74..e668748 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java @@ -112,14 +112,19 @@ public class PlayableZonesHandler { public int getEnemyHoveredZone(Drawable card) { for(int i=0 ; i< board.MAX_CARD_ON_BOARD;i++) { - int cardX =(DrawableCard.getCardWith()+1)*i + 20; + int cardX =(DrawableCard.getCardWith()+1)*i + 20 + DrawableCard.getCardWith()/2; //es que on survole sur l'axe x if(cardX > card.getX() && card.getY() < 50F) { //on a trouvé l'emplacement de la carte //si il y a une carte a l'emplacement on retourne le numero - if(board.getPlayerCardsOnBoard()[i] == null)return i; - else break; + if(board.getAdvCardsOnBoard()[i] != null){ + return i; + } + else { + Log.e("NO CARD ON ",""+i); + break; + } } } return -1; diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java b/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java index e0e6a2a..92ac696 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java @@ -88,7 +88,7 @@ public class TouchHandler { if(dragAndDropCard != null && !dragAndDropCard.isDraggable()) dragAndDropCard = null; //si la carte est dans la main durant la phase de combat on ne la prend pas - //if(dragAndDropCard != null && isBattleTurn && !dragAndDropCard.isOnBoard())dragAndDropCard = null; + if(dragAndDropCard != null && isBattleTurn && !dragAndDropCard.isOnBoard())dragAndDropCard = null; //si la carte est sur le terrain durant la phase principale on ne la prends pas if(dragAndDropCard != null && !isBattleTurn && dragAndDropCard.isOnBoard())dragAndDropCard = null; @@ -220,6 +220,7 @@ public class TouchHandler { if(dragAndDropCard != null){ if(event.getAction() == MotionEvent.ACTION_UP) { int zone = playableZonesHandler.getEnemyHoveredZone(dragAndDropCard); + Log.e("hovered : ",""+zone); if(zone != -1) { gameLogic.setOnCardAttackRequest(dragAndDropCard,zone); diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java index 35ce53e..740c366 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java @@ -160,14 +160,8 @@ public class DrawableCard extends Drawable{ if(c.getDescription() != null) cardDescription = new DrawableText(c.getDescription(),0,0,toString()+"description",DESCRIPTION_WIDTH*ratio,DESCRIPTION_HEIGHT*ratio,DESCRIPTION_FONT_SIZE,DESCRIPTION_TEXT_X_RES,DESCRIPTION_TEXT_Y_RES,Color.BLACK); - if(c.getName().length() < 16) - { - //cardTitle = new DrawableText(c.getName(),0,0,toString()+"name",TITLE_WIDTH*ratio,TITLE_HEIGHT*ratio,TITLE_FONT_SIZE,TEXT_TITLE_X_RES,TEXT_TITLE_Y_RES,Color.BLACK,16); - cardTitle = new DrawableText(c.getName(),0,0,toString()+"name",TITLE_FONT_SIZE,TITLE_WIDTH,Color.BLACK,16); - }else{ - cardTitle = new DrawableText(c.getName(),0,0,toString()+"name",TITLE_WIDTH*ratio,TITLE_HEIGHT*ratio,TITLE_FONT_SIZE*0.75F,TEXT_TITLE_X_RES,TEXT_TITLE_Y_RES,Color.BLACK,30); - //cardTitle = new DrawableText(c.getName(),0,0,toString()+"name",TITLE_FONT_SIZE,TITLE_WIDTH,Color.BLACK,40); - } + cardTitle = new DrawableText(c.getName(),0,0,toString()+"name",TITLE_WIDTH*ratio,TITLE_HEIGHT*ratio,TITLE_FONT_SIZE*0.75F,TEXT_TITLE_X_RES,TEXT_TITLE_Y_RES,Color.BLACK,30); + cardCostDrawable = new DrawableText(c.getCost() + "", 0, 0, toString() + "cost", OFFBOARD_ATK_HP_WIDTH*ratio, OFFBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE, TEXT_ATK_HP_X_RES, TEXT_ATK_HP_Y_RES,Color.BLACK);