From fa290c58fc840eb2210524314047948c0c08a825 Mon Sep 17 00:00:00 2001 From: marc barbier Date: Thu, 17 Dec 2020 11:22:42 +0100 Subject: [PATCH] supretion de code inutile et ajout de commentaire --- .../Game/Cards/CardRegistery.java | 22 ++++++++++- .../iutlaval/myapplication/Game/Command.java | 39 +++++++++++-------- .../myapplication/Game/Communication.java | 13 +++++++ .../myapplication/Game/GameLogicThread.java | 7 ++++ .../com/iutlaval/myapplication/Game/Hand.java | 5 +-- .../myapplication/Game/NetworkDeck.java | 22 +++++++++-- .../Game/PlayableZonesHandler.java | 25 +++++++++++- .../myapplication/Game/TouchHandler.java | 9 +++++ .../Video/Drawables/DrawableBitmap.java | 1 + .../Video/Drawables/DrawableSelfRemoving.java | 3 ++ .../iutlaval/myapplication/Video/FpsTime.java | 3 ++ .../myapplication/Video/Rectangle.java | 1 - .../myapplication/Video/Renderer.java | 1 + .../DrawableNotFoundException.java | 2 +- 14 files changed, 124 insertions(+), 29 deletions(-) rename app/src/main/java/com/iutlaval/myapplication/{Video => exception}/DrawableNotFoundException.java (59%) diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Cards/CardRegistery.java b/app/src/main/java/com/iutlaval/myapplication/Game/Cards/CardRegistery.java index 0e15ae1..141d79b 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Cards/CardRegistery.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Cards/CardRegistery.java @@ -94,6 +94,9 @@ import com.iutlaval.myapplication.Game.Cards.Renaissance.Renaissance_Vlad; import java.util.ArrayList; import java.util.List; +/** + * registre de carte identique a celui du serveur permet la déserialisation des decks et cartes + */ public class CardRegistery { public static List> registry; @@ -204,6 +207,13 @@ public class CardRegistery { registry.add(Moyen_Age_Pouvoir_Du_Franc.class); } + /** + * retourne l'index de la carte donné + * et lance une runtime exception si la carte n'existe pas car cela veut dire que le serveur + * est incompatible avec le client + * @param class1 class de la carte recherché + * @return index de la carte + */ public static int indexOf(Class class1) { if(registry == null)initCardRegistery(); int a = registry.indexOf(class1); @@ -215,14 +225,22 @@ public class CardRegistery { return a != -1 ? a : 0; } - + /** + * retourne la class de la carte a l'index donné + * @param index l'index de la carte + * @return class de la carte + */ public static Class get(int index) { if(registry == null)initCardRegistery(); if(registry.size() <= index || index < 0) return null; return registry.get(index); } - + /** + * retourne l'index de la carte + * @param card + * @return + */ public static int indexOf(Card card) { if(registry == null)initCardRegistery(); return indexOf(card.getClass()); diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Command.java b/app/src/main/java/com/iutlaval/myapplication/Game/Command.java index 648e05f..0f8dc32 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Command.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Command.java @@ -2,25 +2,32 @@ package com.iutlaval.myapplication.Game; public final class Command { - public static final String UPDATE = "update"; - public static final String PONG = "pong"; - private Command(){} // pas de contructor public on ne veut pas instancier cette classe - public static final String YOURTURN="yourturn"; - public static final String DRAW = "draw"; - public static final String GET_DECK = "getDeck"; - public static final String PUT_CARD = "putCard"; - public static final String PUT_ENEMY_CARD = "enemycard"; + private Command(){} // pas de contructor on ne veut pas instancier cette classe + public static final String YOURTURN="yourturn"; // commande de debut de tours + public static final String DRAW = "draw"; //demande a pioché + public static final String GET_DECK = "getDeck"; // demande le deck + public static final String PUT_CARD = "putCard"; // place une carte + public static final String PUT_ENEMY_CARD = "enemycard"; // place une carte sur le terrain adverse + public static final String PASS_TURN = "passTurn"; // passe son tours + public static final String POPUP = "pupup"; // affiche un messsage + public static final String ENEMYTURN = "enemyTurn"; // tours enemy + public static final String SETMANA = "setmana"; // defini la mana + public static final String WIN = "win"; // gagne + public static final String LOSE = "lose"; // perds + public static final String PING = "ping"; //envoie un ping en l'attente d'un pong + public static final String PONG = "pong"; + public static final String NOK = "nok"; // refuse une action + public static final String OK = "ok"; // accepte une actoin + public static final String MEULE = "meule"; // fait pioché mais n'ajoute pas a la main la carte sera donc perdu + public static final String UPDATE = "update";//fonction client uniquement a utilisé avec le serveur de débugage permet de mettre a jour l'écrans + + + //inutilisé public static final String SHUFFLE_DECK = "shuffleDeck"; public static final String SELECT_CARD = "selectCard"; public static final String ATTACK = "attack"; public static final String DEFEND = "defend"; - public static final String PASS_TURN = "passTurn"; - public static final String POPUP = "pupup"; - public static final String ENEMYTURN = "enemyTurn"; - public static final String SETMANA = "setmana"; - public static final String WIN = "win"; - public static final String LOSE = "lose"; - public static final String PING = "ping"; - public static final Object OK = "ok"; + public static final String CAST_SPELL = "castSpell"; + } 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 699615a..97c8959 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Communication.java @@ -59,6 +59,10 @@ public class Communication { send(""+message); } + /** + * recoit un message sous forme de chaine + * @return retourne ERROR ou TIMEOUT si une erreur ce produit + */ public String recieve(){ try { return (String) clientIn.readObject(); @@ -71,6 +75,11 @@ public class Communication { } } + /** + * retourne un entier recut + * + * @return + */ public int recieveInt() { String message = recieve(); @@ -87,6 +96,10 @@ public class Communication { } } + /** + * ferme la connection + * @throws IOException + */ public void close() throws IOException { if(clientOut != null)clientOut.close(); if(clientIn != null)clientIn.close(); 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 40f4474..9b8a3cd 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java @@ -223,6 +223,13 @@ public class GameLogicThread extends Thread{ //ajout la card au terain board.setEnemyCard(zone,cardPlayed); break; + + case Command.MEULE: + //la carte pioché va être perdu vu que l'on ne la met pas dans une main + //c'est le role de la command meule de faire perde des cartes au joeur + int nbmeule = coms.recieveInt(); + deck.draw(nbmeule); + case "timeout": //ceci est une erreur et non une commande elle se doit donc de ne rien faire break; diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Hand.java b/app/src/main/java/com/iutlaval/myapplication/Game/Hand.java index 330a123..15d5b05 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Hand.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Hand.java @@ -6,9 +6,6 @@ import java.util.ArrayList; import java.util.List; public class Hand { - - private static final int NUMBER_OF_CARDS_IN_STARTING_HAND = 5; - private List hand; public Hand() @@ -25,7 +22,7 @@ public class Hand { { for(int i = 0 ; i < amount;i++) { - hand.add(deck.getCards().pop()); + hand.add(deck.draw()); } } diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/NetworkDeck.java b/app/src/main/java/com/iutlaval/myapplication/Game/NetworkDeck.java index 5a2806d..3468cc0 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/NetworkDeck.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/NetworkDeck.java @@ -7,10 +7,15 @@ import com.iutlaval.myapplication.Game.Cards.CardRegistery; import com.iutlaval.myapplication.Game.Cards.Mythes.Mythes_Perséphone; import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.List; import java.util.Stack; +/** + * c'est un deck qui déserialise les info recut du serveur ce qui donne une deck de carte a terme + */ public class NetworkDeck{ - Stack cards; + private Stack cards; public NetworkDeck(String deckstring, Context context) { cards = new Stack<>(); @@ -31,7 +36,18 @@ public class NetworkDeck{ } } - public Stack getCards() { - return cards; + public Card draw() + { + return cards.pop(); + } + + public List draw(int amount) + { + List drawn = new ArrayList<>(); + for(int i = 0 ; i < amount ; i++) + { + drawn.add(cards.pop()); + } + return drawn; } } 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 904263c..0c383d3 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/PlayableZonesHandler.java @@ -14,19 +14,29 @@ import com.iutlaval.myapplication.Video.Renderer; import java.util.ArrayList; import java.util.List; + public class PlayableZonesHandler { private List playableZones; + private boolean isDisplayed; private Board board; public PlayableZonesHandler(Board board) { playableZones=new ArrayList<>(); this.board=board; + isDisplayed=false; } - //TODO verifier si elle ne sont pas deja afficher + /** + * affiche les zones de jeu libre + * @param renderer + */ public void displayPlayableZones(Renderer renderer) { + //on affiche pas si elle se sont deja + if(isDisplayed)return; + isDisplayed=true; + Card[] cardsOnBoard = board.getPlayerCardsOnBoard(); for(int i=0 ; i < cardsOnBoard.length ;i++) { @@ -35,8 +45,14 @@ public class PlayableZonesHandler { displayPlayableZoneOn(i,renderer); } } + } + /** + * affiche un rectangle gris représentant une zone jouable en la case i + * @param i car sur la quelle afficher la zone + * @param renderer + */ private void displayPlayableZoneOn(int i,Renderer renderer) { Rectangle pos = new Rectangle((DrawableCard.getCardWith()+1)*i,50F,DrawableCard.getCardWith(),DrawableCard.getCardHeight()); @@ -50,14 +66,19 @@ public class PlayableZonesHandler { } - + /** + * cache les zones de jeu + * @param renderer + */ public void hidePlayableZones(Renderer renderer) { + if(!isDisplayed)return; for(Drawable d : playableZones) { renderer.removeToDraw(d); } playableZones.clear(); + isDisplayed=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 62c4b5d..8ea6a0a 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/TouchHandler.java @@ -40,6 +40,7 @@ public class TouchHandler { /** * cette evenement doit recevoir le onTouchEvent d'une activité + * cette fonction gére l'integralité du tactile de l'application elle est divisé en de nombreuses sous fonction * @param event */ public void onTouchEvent(MotionEvent event) @@ -162,6 +163,10 @@ public class TouchHandler { } + /** + * gére la selection de carte dans la main + * @param event + */ private void handSelectionHandler(MotionEvent event) { DrawableCard smallCArd = renderer.getCardOn(unScalled_X,unScalled_Y); @@ -181,6 +186,10 @@ public class TouchHandler { } } + /** + * gére le button de fin de tours + * @param event + */ private void endTurnButtonHandle(MotionEvent event) { //si on appuie diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableBitmap.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableBitmap.java index 8bec9e9..80fbab1 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableBitmap.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableBitmap.java @@ -11,6 +11,7 @@ import com.iutlaval.myapplication.InvalidDataException; public class DrawableBitmap extends Drawable{ /** + * crée un drawable qui affiche une bitmap * @param bitmap a dessiner * @param x_pos position en x du texte * @param y_pos position en y du texte diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableSelfRemoving.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableSelfRemoving.java index 67633f7..438e348 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableSelfRemoving.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableSelfRemoving.java @@ -5,6 +5,9 @@ import android.graphics.Paint; import androidx.annotation.NonNull; +/** + * crée un drawable qui s'auto suprime + */ public class DrawableSelfRemoving extends Drawable{ private Drawable drawable; diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/FpsTime.java b/app/src/main/java/com/iutlaval/myapplication/Video/FpsTime.java index a6a7904..584389f 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/FpsTime.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/FpsTime.java @@ -2,6 +2,9 @@ package com.iutlaval.myapplication.Video; import android.view.Display; +/** + * cette class permet d'attendre le temps qui s'écoule entre 2image a l'écran plutot que sur dessiné et gaspillier la batterie + */ public class FpsTime { private static long frametime; diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java b/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java index a1f5516..8b54534 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java @@ -70,7 +70,6 @@ public class Rectangle { /** * retourne la bitmap entre mais avec un rectangle dessiner dedans - * @param bitmap la bitmap sur la quelle dessiner * @param color la couleur du carre */ private void brushInit(int color) diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java b/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java index fda900d..d61b897 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java @@ -16,6 +16,7 @@ import com.iutlaval.myapplication.GameActivity; import com.iutlaval.myapplication.Video.Drawables.Drawable; import com.iutlaval.myapplication.Video.Drawables.DrawableCard; import com.iutlaval.myapplication.Video.Drawables.DrawableSelfRemoving; +import com.iutlaval.myapplication.exception.DrawableNotFoundException; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/DrawableNotFoundException.java b/app/src/main/java/com/iutlaval/myapplication/exception/DrawableNotFoundException.java similarity index 59% rename from app/src/main/java/com/iutlaval/myapplication/Video/DrawableNotFoundException.java rename to app/src/main/java/com/iutlaval/myapplication/exception/DrawableNotFoundException.java index f5d7ddf..ebf4a49 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/DrawableNotFoundException.java +++ b/app/src/main/java/com/iutlaval/myapplication/exception/DrawableNotFoundException.java @@ -1,4 +1,4 @@ -package com.iutlaval.myapplication.Video; +package com.iutlaval.myapplication.exception; public class DrawableNotFoundException extends RuntimeException{ }