patch mauvais colision combat

This commit is contained in:
marc barbier
2021-01-04 13:45:26 +01:00
parent 90e71adeb7
commit 581353457a
4 changed files with 13 additions and 12 deletions
@@ -385,6 +385,7 @@ public class GameLogicThread extends Thread{
if(board.getAdvCardsOnBoard()[zoneCible] == null if(board.getAdvCardsOnBoard()[zoneCible] == null
|| card.getCard().getAttack() == 0) || card.getCard().getAttack() == 0)
{ {
Log.e("DENIED",""+ board.getAdvCardsOnBoard()[zoneCible] + " r "+card.getCard().getAttack());
return false; return false;
} }
@@ -112,14 +112,19 @@ public class PlayableZonesHandler {
public int getEnemyHoveredZone(Drawable card) { public int getEnemyHoveredZone(Drawable card) {
for(int i=0 ; i< board.MAX_CARD_ON_BOARD;i++) 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 //es que on survole sur l'axe x
if(cardX > card.getX() && card.getY() < 50F) if(cardX > card.getX() && card.getY() < 50F)
{ {
//on a trouvé l'emplacement de la carte //on a trouvé l'emplacement de la carte
//si il y a une carte a l'emplacement on retourne le numero //si il y a une carte a l'emplacement on retourne le numero
if(board.getPlayerCardsOnBoard()[i] == null)return i; if(board.getAdvCardsOnBoard()[i] != null){
else break; return i;
}
else {
Log.e("NO CARD ON ",""+i);
break;
}
} }
} }
return -1; return -1;
@@ -88,7 +88,7 @@ public class TouchHandler {
if(dragAndDropCard != null && !dragAndDropCard.isDraggable()) dragAndDropCard = null; if(dragAndDropCard != null && !dragAndDropCard.isDraggable()) dragAndDropCard = null;
//si la carte est dans la main durant la phase de combat on ne la prend pas //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 //si la carte est sur le terrain durant la phase principale on ne la prends pas
if(dragAndDropCard != null && !isBattleTurn && dragAndDropCard.isOnBoard())dragAndDropCard = null; if(dragAndDropCard != null && !isBattleTurn && dragAndDropCard.isOnBoard())dragAndDropCard = null;
@@ -220,6 +220,7 @@ public class TouchHandler {
if(dragAndDropCard != null){ if(dragAndDropCard != null){
if(event.getAction() == MotionEvent.ACTION_UP) { if(event.getAction() == MotionEvent.ACTION_UP) {
int zone = playableZonesHandler.getEnemyHoveredZone(dragAndDropCard); int zone = playableZonesHandler.getEnemyHoveredZone(dragAndDropCard);
Log.e("hovered : ",""+zone);
if(zone != -1) if(zone != -1)
{ {
gameLogic.setOnCardAttackRequest(dragAndDropCard,zone); gameLogic.setOnCardAttackRequest(dragAndDropCard,zone);
@@ -160,14 +160,8 @@ public class DrawableCard extends Drawable{
if(c.getDescription() != null) 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); 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*0.75F,TEXT_TITLE_X_RES,TEXT_TITLE_Y_RES,Color.BLACK,30);
{
//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);
}
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); 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);