package SnakePkg; /** * A class to represent a Ladder in the Board * @author Christos Choutouridis 8997 */ public class Ladder { /** @name Constructors */ /** @{ */ /** Default ctor */ Ladder () { ladderId = upStepId = downStepId =0; broken = false; } /** Main ctor */ Ladder (int ladderId, int upStepId, int downStepId) { this.ladderId = ladderId; this.upStepId = upStepId; this.downStepId = downStepId; this.broken = false; // A new ladder is always in good condition } /** Copy constructor * @note We don't use clone as long as we don't inherit Cloneable iface */ Ladder (Ladder l) { ladderId = l.getLadderId (); upStepId = l.getUpStepId (); downStepId = l.getDownStepId (); broken = l.getBroken (); } /** @} */ /** @name Get/Set interface */ /** @{ */ int getLadderId () { return ladderId; } void setLadderId (int ladderId) { this.ladderId = ladderId; } int getUpStepId () { return upStepId; } void setUpStepId (int upStepId) { this.upStepId = upStepId; } int getDownStepId () { return downStepId; } void setDownStepId (int downStepId) { this.downStepId = downStepId; } boolean getBroken () { return broken; } void setBroken (boolean broken) { this.broken = broken; } /** @} */ /** @name Data members (private) */ /** @{ */ private int ladderId; //!< Ladder's ID private int upStepId; //!< Ladder's upper step tile location private int downStepId; //!< Snake's down step tile location private boolean broken; //!< flag to indicate used/broken ladder /** @} */ }