diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Board.java b/app/src/main/java/com/iutlaval/myapplication/Game/Board.java index c91865f..b89b64f 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Board.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Board.java @@ -1,5 +1,7 @@ package com.iutlaval.myapplication.Game; +import android.util.Log; + import com.iutlaval.myapplication.Game.Cards.Card; import com.iutlaval.myapplication.Video.Drawables.DrawableCard; @@ -68,4 +70,5 @@ public class Board { public Card[] getAdvCardsOnBoard() { return advCardsOnBoard; } + } diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java b/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java index 97c8959..2007ad5 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java @@ -47,6 +47,7 @@ public class Communication { * @param message */ public void send(String message) throws IOException { + Log.i("sending",message); clientOut.writeObject(message); } @@ -65,7 +66,9 @@ public class Communication { */ public String recieve(){ try { - return (String) clientIn.readObject(); + String message = (String) clientIn.readObject(); + Log.i("recived",message); + return message; } catch (ClassNotFoundException e) { e.printStackTrace(); //on crash 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 eb11b87..4b05ad4 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java @@ -117,8 +117,6 @@ public class GameLogicThread extends Thread{ Log.e("ERROR SERVER DEAD","srv"); gameActivity.runOnUiThread(new PopupRunable("erreur de comunication avec le serveur",gameActivity)); renderer.terminate(); - - gameActivity.startActivity(intent); return; } @@ -303,12 +301,24 @@ public class GameLogicThread extends Thread{ case Command.SET_CARD_HP : zonecartecible = coms.recieveInt(); - board.getPlayerCardsOnBoard()[zonecartecible].setHealth(coms.recieveInt()); + int health = coms.recieveInt(); + if(board.getPlayerCardsOnBoard()[zonecartecible] == null) + { + Log.e("erro card",""+zonecartecible); + coms.recieveInt(); + }else{ + board.getPlayerCardsOnBoard()[zonecartecible].setHealth(health); + } + renderer.updateFrame(); break; case Command.SET_ADV_CARD_HP: zonecartecible = coms.recieveInt(); + if(board.getAdvCardsOnBoard()[zonecartecible] == null) + { + Log.e("erro card",""+zonecartecible); + } board.getAdvCardsOnBoard()[zonecartecible].setHealth(coms.recieveInt()); renderer.updateFrame(); break; @@ -357,7 +367,7 @@ public class GameLogicThread extends Thread{ } /** - * cette methode est UNIQUEMENT a bute de test elle ne sert a rien d'autre ne pas s'en servir + * cette methode permet d'afficher la main */ private void drawHandPreview() { int i = 0; @@ -410,8 +420,15 @@ public class GameLogicThread extends Thread{ protected synchronized boolean setOnCardPlayedRequest(DrawableCard card,int zone) { + Log.e("request","recived"); + //on ne peut pas avoir 2 requette simultané - if(!requestPlaceCardDone)return false; + while(!requestPlaceCardDone) + { + try { + Thread.sleep(100); + } catch (InterruptedException e) { } + } this.requestDrawableCard =card; this.requestCardZone =zone; @@ -430,7 +447,7 @@ public class GameLogicThread extends Thread{ public synchronized boolean setOnCardAttackRequest(DrawableCard card, int zoneCible) { if(zoneCible == -1 || zoneCible != 100 && board.getAdvCardsOnBoard()[zoneCible] == null - || card.getCard().getDefaultAttack() == 0) + || card.getCard().getAttack() == 0) { return false; } 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 7ef88bd..75fd0a7 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java @@ -48,6 +48,7 @@ public class TouchHandler { */ public void onTouchEvent(MotionEvent event) { + unScalled_X = event.getX() / GameActivity.screenWidth * 100; unScalled_Y = event.getY() / GameActivity.screenHeight * 100; //on ignore le multi touch @@ -57,6 +58,7 @@ public class TouchHandler { handSelectionHandler(event); //afficher grosse carte bigCardHandler(event); + if(gameLogic.isYourMainPhase() && ! gameLogic.isYourBattlePhase()) { //selectionne la carte dans la main @@ -175,6 +177,7 @@ public class TouchHandler { }else if(event.getAction() == MotionEvent.ACTION_UP) { int zone = playableZonesHandler.getHoveredZone(dragAndDropCard); + Log.e("hovered","zone :"+zone); if(zone != -1 && gameLogic.setOnCardPlayedRequest(dragAndDropCard,zone)) { dragAndDropCard.setOnBoard(true); diff --git a/app/src/main/res/drawable/t_b_board_background.jpg b/app/src/main/res/drawable/t_b_board_background.jpg index de91063..e0146e9 100644 Binary files a/app/src/main/res/drawable/t_b_board_background.jpg and b/app/src/main/res/drawable/t_b_board_background.jpg differ diff --git a/app/src/main/res/drawable/t_b_board_background_handicapted.jpg b/app/src/main/res/drawable/t_b_board_background_handicapted.jpg new file mode 100644 index 0000000..de91063 Binary files /dev/null and b/app/src/main/res/drawable/t_b_board_background_handicapted.jpg differ