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_ADV_CARD = "destroyadv"; //demande au client de retirer une carte adverse du terrain
public static final String BATTLE = "battlephase";
public static final String SET_ENEMY_HP = "setenemhp";
public static final String SET_HP = "sethp";
//inutilisé
public static final String SELECT_CARD = "selectCard";
@@ -278,6 +278,17 @@ public class GameLogicThread extends Thread{
renderer.removeToDraw(enemyCardToDestroy);
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":
//ceci est une erreur et non une commande elle se doit donc de ne rien faire
break;
@@ -382,10 +393,9 @@ public class GameLogicThread extends Thread{
}
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)
{
Log.e("DENIED",""+ board.getAdvCardsOnBoard()[zoneCible] + " r "+card.getCard().getAttack());
return false;
}
@@ -110,6 +110,13 @@ public class PlayableZonesHandler {
* @return
*/
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++)
{
int cardX =(DrawableCard.getCardWith()+1)*i + 20 + DrawableCard.getCardWith()/2;
@@ -122,7 +129,6 @@ public class PlayableZonesHandler {
return i;
}
else {
Log.e("NO CARD ON ",""+i);
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_Y > GameLogicThread.BUTTON_Y_POS && unScalled_Y < GameLogicThread.BUTTON_Y_POS + GameLogicThread.BUTTON_Y_SIZE)
{
Log.e("push","detected");
gameLogic.requestEndTurn();
}
}
@@ -220,7 +219,6 @@ 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);