supretion de code inutile et ajout de commentaire

This commit is contained in:
marc barbier
2020-12-17 11:22:42 +01:00
parent 0345dcddec
commit fa290c58fc
14 changed files with 124 additions and 29 deletions
@@ -94,6 +94,9 @@ import com.iutlaval.myapplication.Game.Cards.Renaissance.Renaissance_Vlad;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* registre de carte identique a celui du serveur permet la déserialisation des decks et cartes
*/
public class CardRegistery { public class CardRegistery {
public static List<Class<? extends Card>> registry; public static List<Class<? extends Card>> registry;
@@ -204,6 +207,13 @@ public class CardRegistery {
registry.add(Moyen_Age_Pouvoir_Du_Franc.class); 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<? extends Card> class1) { public static int indexOf(Class<? extends Card> class1) {
if(registry == null)initCardRegistery(); if(registry == null)initCardRegistery();
int a = registry.indexOf(class1); int a = registry.indexOf(class1);
@@ -215,14 +225,22 @@ public class CardRegistery {
return a != -1 ? a : 0; 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<? extends Card> get(int index) { public static Class<? extends Card> get(int index) {
if(registry == null)initCardRegistery(); if(registry == null)initCardRegistery();
if(registry.size() <= index || index < 0) return null; if(registry.size() <= index || index < 0) return null;
return registry.get(index); return registry.get(index);
} }
/**
* retourne l'index de la carte
* @param card
* @return
*/
public static int indexOf(Card card) { public static int indexOf(Card card) {
if(registry == null)initCardRegistery(); if(registry == null)initCardRegistery();
return indexOf(card.getClass()); return indexOf(card.getClass());
@@ -2,25 +2,32 @@ package com.iutlaval.myapplication.Game;
public final class Command { 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 private Command(){} // pas de contructor on ne veut pas instancier cette classe
public static final String YOURTURN="yourturn"; public static final String YOURTURN="yourturn"; // commande de debut de tours
public static final String DRAW = "draw"; public static final String DRAW = "draw"; //demande a pioché
public static final String GET_DECK = "getDeck"; public static final String GET_DECK = "getDeck"; // demande le deck
public static final String PUT_CARD = "putCard"; public static final String PUT_CARD = "putCard"; // place une carte
public static final String PUT_ENEMY_CARD = "enemycard"; 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 SHUFFLE_DECK = "shuffleDeck";
public static final String SELECT_CARD = "selectCard"; public static final String SELECT_CARD = "selectCard";
public static final String ATTACK = "attack"; public static final String ATTACK = "attack";
public static final String DEFEND = "defend"; public static final String DEFEND = "defend";
public static final String PASS_TURN = "passTurn"; public static final String CAST_SPELL = "castSpell";
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";
} }
@@ -59,6 +59,10 @@ public class Communication {
send(""+message); send(""+message);
} }
/**
* recoit un message sous forme de chaine
* @return retourne ERROR ou TIMEOUT si une erreur ce produit
*/
public String recieve(){ public String recieve(){
try { try {
return (String) clientIn.readObject(); return (String) clientIn.readObject();
@@ -71,6 +75,11 @@ public class Communication {
} }
} }
/**
* retourne un entier recut
*
* @return
*/
public int recieveInt() public int recieveInt()
{ {
String message = recieve(); String message = recieve();
@@ -87,6 +96,10 @@ public class Communication {
} }
} }
/**
* ferme la connection
* @throws IOException
*/
public void close() throws IOException { public void close() throws IOException {
if(clientOut != null)clientOut.close(); if(clientOut != null)clientOut.close();
if(clientIn != null)clientIn.close(); if(clientIn != null)clientIn.close();
@@ -223,6 +223,13 @@ public class GameLogicThread extends Thread{
//ajout la card au terain //ajout la card au terain
board.setEnemyCard(zone,cardPlayed); board.setEnemyCard(zone,cardPlayed);
break; 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": 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;
@@ -6,9 +6,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class Hand { public class Hand {
private static final int NUMBER_OF_CARDS_IN_STARTING_HAND = 5;
private List<Card> hand; private List<Card> hand;
public Hand() public Hand()
@@ -25,7 +22,7 @@ public class Hand {
{ {
for(int i = 0 ; i < amount;i++) for(int i = 0 ; i < amount;i++)
{ {
hand.add(deck.getCards().pop()); hand.add(deck.draw());
} }
} }
@@ -7,10 +7,15 @@ import com.iutlaval.myapplication.Game.Cards.CardRegistery;
import com.iutlaval.myapplication.Game.Cards.Mythes.Mythes_Perséphone; import com.iutlaval.myapplication.Game.Cards.Mythes.Mythes_Perséphone;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack; 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{ public class NetworkDeck{
Stack<Card> cards; private Stack<Card> cards;
public NetworkDeck(String deckstring, Context context) public NetworkDeck(String deckstring, Context context)
{ {
cards = new Stack<>(); cards = new Stack<>();
@@ -31,7 +36,18 @@ public class NetworkDeck{
} }
} }
public Stack<Card> getCards() { public Card draw()
return cards; {
return cards.pop();
}
public List<Card> draw(int amount)
{
List<Card> drawn = new ArrayList<>();
for(int i = 0 ; i < amount ; i++)
{
drawn.add(cards.pop());
}
return drawn;
} }
} }
@@ -14,19 +14,29 @@ import com.iutlaval.myapplication.Video.Renderer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class PlayableZonesHandler { public class PlayableZonesHandler {
private List<Drawable> playableZones; private List<Drawable> playableZones;
private boolean isDisplayed;
private Board board; private Board board;
public PlayableZonesHandler(Board board) public PlayableZonesHandler(Board board)
{ {
playableZones=new ArrayList<>(); playableZones=new ArrayList<>();
this.board=board; 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) public void displayPlayableZones(Renderer renderer)
{ {
//on affiche pas si elle se sont deja
if(isDisplayed)return;
isDisplayed=true;
Card[] cardsOnBoard = board.getPlayerCardsOnBoard(); Card[] cardsOnBoard = board.getPlayerCardsOnBoard();
for(int i=0 ; i < cardsOnBoard.length ;i++) for(int i=0 ; i < cardsOnBoard.length ;i++)
{ {
@@ -35,8 +45,14 @@ public class PlayableZonesHandler {
displayPlayableZoneOn(i,renderer); 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) { private void displayPlayableZoneOn(int i,Renderer renderer) {
Rectangle pos = new Rectangle((DrawableCard.getCardWith()+1)*i,50F,DrawableCard.getCardWith(),DrawableCard.getCardHeight()); 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) public void hidePlayableZones(Renderer renderer)
{ {
if(!isDisplayed)return;
for(Drawable d : playableZones) for(Drawable d : playableZones)
{ {
renderer.removeToDraw(d); renderer.removeToDraw(d);
} }
playableZones.clear(); playableZones.clear();
isDisplayed=false;
} }
/** /**
@@ -40,6 +40,7 @@ public class TouchHandler {
/** /**
* cette evenement doit recevoir le onTouchEvent d'une activité * 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 * @param event
*/ */
public void onTouchEvent(MotionEvent 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) private void handSelectionHandler(MotionEvent event)
{ {
DrawableCard smallCArd = renderer.getCardOn(unScalled_X,unScalled_Y); 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) private void endTurnButtonHandle(MotionEvent event)
{ {
//si on appuie //si on appuie
@@ -11,6 +11,7 @@ import com.iutlaval.myapplication.InvalidDataException;
public class DrawableBitmap extends Drawable{ public class DrawableBitmap extends Drawable{
/** /**
* crée un drawable qui affiche une bitmap
* @param bitmap a dessiner * @param bitmap a dessiner
* @param x_pos position en x du texte * @param x_pos position en x du texte
* @param y_pos position en y du texte * @param y_pos position en y du texte
@@ -5,6 +5,9 @@ import android.graphics.Paint;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
/**
* crée un drawable qui s'auto suprime
*/
public class DrawableSelfRemoving extends Drawable{ public class DrawableSelfRemoving extends Drawable{
private Drawable drawable; private Drawable drawable;
@@ -2,6 +2,9 @@ package com.iutlaval.myapplication.Video;
import android.view.Display; 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 { public class FpsTime {
private static long frametime; private static long frametime;
@@ -70,7 +70,6 @@ public class Rectangle {
/** /**
* retourne la bitmap entre mais avec un rectangle dessiner dedans * retourne la bitmap entre mais avec un rectangle dessiner dedans
* @param bitmap la bitmap sur la quelle dessiner
* @param color la couleur du carre * @param color la couleur du carre
*/ */
private void brushInit(int color) private void brushInit(int color)
@@ -16,6 +16,7 @@ import com.iutlaval.myapplication.GameActivity;
import com.iutlaval.myapplication.Video.Drawables.Drawable; import com.iutlaval.myapplication.Video.Drawables.Drawable;
import com.iutlaval.myapplication.Video.Drawables.DrawableCard; import com.iutlaval.myapplication.Video.Drawables.DrawableCard;
import com.iutlaval.myapplication.Video.Drawables.DrawableSelfRemoving; import com.iutlaval.myapplication.Video.Drawables.DrawableSelfRemoving;
import com.iutlaval.myapplication.exception.DrawableNotFoundException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -1,4 +1,4 @@
package com.iutlaval.myapplication.Video; package com.iutlaval.myapplication.exception;
public class DrawableNotFoundException extends RuntimeException{ public class DrawableNotFoundException extends RuntimeException{
} }