ajiout combat joueur partiel + ajout affichage hp

This commit is contained in:
marc barbier
2021-01-04 14:18:38 +01:00
parent 581353457a
commit 9722822159
4 changed files with 21 additions and 6 deletions
@@ -25,7 +25,8 @@ public final class Command {
public static final String DESTROY_CARD = "destroyself"; //demande au clien de retirer une carte du terrain public static final String DESTROY_CARD = "destroyself"; //demande au clien de retirer une carte du terrain
public static final String DESTROY_ADV_CARD = "destroyadv"; //demande au client de retirer une carte adverse du terrain public static final String DESTROY_ADV_CARD = "destroyadv"; //demande au client de retirer une carte adverse du terrain
public static final String BATTLE = "battlephase"; public static final String BATTLE = "battlephase";
public static final String SET_ENEMY_HP = "setenemhp";
public static final String SET_HP = "sethp";
//inutilisé //inutilisé
public static final String SELECT_CARD = "selectCard"; public static final String SELECT_CARD = "selectCard";
@@ -278,6 +278,17 @@ public class GameLogicThread extends Thread{
renderer.removeToDraw(enemyCardToDestroy); renderer.removeToDraw(enemyCardToDestroy);
break; break;
case Command.SET_ENEMY_HP:
renderer.removeToDrawWithoutUpdate("advHp");
renderer.addToDraw(new DrawableText(" Hp : "+coms.recieve(),1F,10F,"advHp",100,12,Color.WHITE));
break;
case Command.SET_HP:
renderer.removeToDrawWithoutUpdate("playerHp");
renderer.addToDraw(new DrawableText(" Hp : " + coms.recieve(),85F,80F,"playerHp",100,12,Color.WHITE));
break;
case "timeout": case "timeout":
//ceci est une erreur et non une commande elle se doit donc de ne rien faire //ceci est une erreur et non une commande elle se doit donc de ne rien faire
break; break;
@@ -382,10 +393,9 @@ public class GameLogicThread extends Thread{
} }
public synchronized boolean setOnCardAttackRequest(DrawableCard card, int zoneCible) { public synchronized boolean setOnCardAttackRequest(DrawableCard card, int zoneCible) {
if(board.getAdvCardsOnBoard()[zoneCible] == null if(zoneCible == -1 || zoneCible != 100 && 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;
} }
@@ -110,6 +110,13 @@ public class PlayableZonesHandler {
* @return * @return
*/ */
public int getEnemyHoveredZone(Drawable card) { public int getEnemyHoveredZone(Drawable card) {
if(card.getX() < 10F && card.getY() < 10F)
{
//cent veut dire que l'on attaque le joueur
return 100;
}
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 + DrawableCard.getCardWith()/2; int cardX =(DrawableCard.getCardWith()+1)*i + 20 + DrawableCard.getCardWith()/2;
@@ -122,7 +129,6 @@ public class PlayableZonesHandler {
return i; return i;
} }
else { else {
Log.e("NO CARD ON ",""+i);
break; break;
} }
} }
@@ -210,7 +210,6 @@ public class TouchHandler {
unScalled_X > GameLogicThread.BUTTON_X_POS && unScalled_X < GameLogicThread.BUTTON_X_POS + GameLogicThread.BUTTON_X_SIZE && unScalled_X > GameLogicThread.BUTTON_X_POS && unScalled_X < GameLogicThread.BUTTON_X_POS + GameLogicThread.BUTTON_X_SIZE &&
unScalled_Y > GameLogicThread.BUTTON_Y_POS && unScalled_Y < GameLogicThread.BUTTON_Y_POS + GameLogicThread.BUTTON_Y_SIZE) unScalled_Y > GameLogicThread.BUTTON_Y_POS && unScalled_Y < GameLogicThread.BUTTON_Y_POS + GameLogicThread.BUTTON_Y_SIZE)
{ {
Log.e("push","detected");
gameLogic.requestEndTurn(); gameLogic.requestEndTurn();
} }
} }
@@ -220,7 +219,6 @@ 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);