Coverage Summary for Class: AssistantCard (it.polimi.ingsw.Model)

Class Class, % Method, % Line, %
AssistantCard 100% (1/1) 100% (5/5) 100% (7/7)


1 package it.polimi.ingsw.Model; 2  3 import java.io.Serial; 4 import java.io.Serializable; 5  6 /** 7  * This class represents one of the 10 player owned assistant cards 8  */ 9 public class AssistantCard implements Serializable { 10  @Serial 11  private static final long serialVersionUID = 102L; // convention: 1 for model, (01 -> 99) for objects 12  private final int priority; 13  private boolean used; 14  15  /** 16  * Constructs an Assistant card based on its priority. 17  * 18  * @param priority the priority of the card 19  */ 20  public AssistantCard(int priority) { 21  this.priority = priority; 22  this.used = false; 23  } 24  25  /** 26  * Every card has a maximum value for the movement to use in {@link it.polimi.ingsw.Controller.Actions.MoveMotherNature} 27  * 28  * @return an integer value representing max mother nature movement 29  */ 30  public int getMaxMovement() { 31  return (int) Math.ceil((double) priority / 2); 32  } 33  34  /** 35  * Returns the priority of turn linked to the use of the card. 36  * 37  * @return an integer value representing priority 38  */ 39  public int getPriority() { 40  return priority; 41  } 42  43  /** 44  * If a card is used in a turn by the player, this flag must be set to true. 45  * 46  * @return the used flag of the card 47  */ 48  public boolean getUsed() { 49  return used; 50  } 51  52  /** 53  * If a card is used in a turn by the player, this flag must be set to true. <br> 54  * Use this function to set the value to true. Keep in mind there is no way to revert this flag once set. 55  */ 56  public void setUsed() { 57  this.used = true; 58  } 59  60 } 61  62  63