net.sf.colossus.server
Class PenaltyOption

java.lang.Object
  extended by net.sf.colossus.server.PenaltyOption
All Implemented Interfaces:
java.lang.Comparable<PenaltyOption>

final class PenaltyOption
extends java.lang.Object
implements java.lang.Comparable<PenaltyOption>

Holds the information for one possible strike penalty, including the null no-penalty option.

Author:
David Ripton

Field Summary
private  java.util.Set<BattleHex> carryTargets
           
private  int dice
           
private static java.util.logging.Logger LOGGER
           
private  int strikeNumber
           
private  CreatureServerSide striker
           
private  CreatureServerSide target
           
 
Constructor Summary
PenaltyOption(CreatureServerSide striker, CreatureServerSide target, int dice, int strikeNumber)
           
 
Method Summary
(package private)  void addCarryTarget(BattleHex carryTarget)
           
(package private)  void addCarryTargets(java.util.Set<BattleHex> targets)
           
 int compareTo(PenaltyOption other)
          Sort first by ascending dice, then by descending strike number, then by striker and target.
 boolean equals(java.lang.Object object)
          Do not consider carryTargets.
(package private)  java.util.Set<BattleHex> getCarryTargets()
           
(package private)  int getDice()
           
(package private)  int getStrikeNumber()
           
(package private)  CreatureServerSide getStriker()
           
(package private)  CreatureServerSide getTarget()
           
 int hashCode()
          Do not consider carryTargets.
(package private)  int numCarryTargets()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LOGGER

private static final java.util.logging.Logger LOGGER

striker

private final CreatureServerSide striker

target

private final CreatureServerSide target

carryTargets

private final java.util.Set<BattleHex> carryTargets

dice

private final int dice

strikeNumber

private final int strikeNumber
Constructor Detail

PenaltyOption

PenaltyOption(CreatureServerSide striker,
              CreatureServerSide target,
              int dice,
              int strikeNumber)
Method Detail

getStriker

CreatureServerSide getStriker()

getTarget

CreatureServerSide getTarget()

getDice

int getDice()

getStrikeNumber

int getStrikeNumber()

addCarryTarget

void addCarryTarget(BattleHex carryTarget)

addCarryTargets

void addCarryTargets(java.util.Set<BattleHex> targets)

getCarryTargets

java.util.Set<BattleHex> getCarryTargets()

numCarryTargets

int numCarryTargets()

compareTo

public int compareTo(PenaltyOption other)
Sort first by ascending dice, then by descending strike number, then by striker and target. Do not consider carryTargets.

Specified by:
compareTo in interface java.lang.Comparable<PenaltyOption>

equals

public boolean equals(java.lang.Object object)
Do not consider carryTargets.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Do not consider carryTargets.

Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object