com.planet_ink.coffee_mud.Items.interfaces
Interface HandOfCards

All Superinterfaces:
Affectable, Behavable, java.lang.Cloneable, CloseableLockable, CMObject, java.lang.Comparable<CMObject>, Container, Contingent, DBIdentifiable, Environmental, Item, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Wearable
All Known Subinterfaces:
DeckOfCards
All Known Implementing Classes:
StdDeckOfCards, StdHandOfCards

public interface HandOfCards
extends Container

A hand of cards is a partial group of cards container, containing individual cards. It is typically managed by the DeckOfCards object that created it.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Container
CONTAIN_ANYTHING, CONTAIN_BODIES, CONTAIN_CAGED, CONTAIN_CLOTHES, CONTAIN_COINS, CONTAIN_DAGGERS, CONTAIN_DESCS, CONTAIN_DRINKABLES, CONTAIN_EATABLES, CONTAIN_FOOTWEAR, CONTAIN_KEYS, CONTAIN_LIQUID, CONTAIN_ONEHANDWEAPONS, CONTAIN_OTHERWEAPONS, CONTAIN_RAWMATERIALS, CONTAIN_READABLES, CONTAIN_SCROLLS, CONTAIN_SMOKEABLES, CONTAIN_SSCOMPONENTS, CONTAIN_SWORDS
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
DEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD
 
Method Summary
 boolean addCard(PlayingCard card)
          Returns the given card item object to the deck by removing it from its current owner and adding it back to the decks owner and container.
 boolean containsAtLeastOneOfSuit(int cardBitCode)
          Returns whether a PlayingCard in this deck or hand of the given suit is to be found herein.
 boolean containsAtLeastOneOfSuit(java.lang.String cardStringCode)
          Returns whether a PlayingCard in this deck or hand of the given suit is to be found herein.
 boolean containsAtLeastOneOfValue(int cardBitCode)
          Returns whether a PlayingCard in this deck or hand of the given value is to be found herein.
 boolean containsAtLeastOneOfValue(java.lang.String cardStringCode)
          Returns whether a PlayingCard in this deck or hand of the given value is to be found herein.
 boolean containsCard(int cardBitCode)
          Returns whether this hand contains a card of the given bit code value.
 boolean containsCard(java.lang.String cardStringCode)
          Returns whether this hand contains a card of the given string code value.
 HandOfCards createEmptyHand(Environmental player)
          Creates an empty HandOfCards object if the player passed in is not null, it will add the new hand to the inventory of the given hand-holder.
 PlayingCard getCard(int cardBitCode)
          Returns the PlayingCard from this deck or hand if it is to be found herein.
 PlayingCard getCard(java.lang.String cardStringCode)
          Gets the PlayingCard from this deck or hand if it is to be found herein.
 java.lang.String[] getContentsEncoded()
          This method builds a string array equal in size to the deck.
 PlayingCard getFirstCardOfSuit(int cardBitCode)
          Returns the first PlayingCard from this deck or hand of the given suit is to be found herein.
 PlayingCard getFirstCardOfSuit(java.lang.String cardStringCode)
          Returns the first PlayingCard from this deck or hand of the given suit is to be found herein.
 PlayingCard getFirstCardOfValue(int cardBitCode)
          Returns the first PlayingCard from this deck or hand of the given value is to be found herein.
 PlayingCard getFirstCardOfValue(java.lang.String cardStringCode)
          Returns the first PlayingCard from this deck or hand of the given value is to be found herein.
 PlayingCard getTopCardFromDeck()
          Returns the top card item object from the deck
 int numberOfCards()
          Returns the current number of cards in the deck.
 boolean removeAllCards()
          Removes all cards from the deck and places them in limbo.
 boolean removeCard(PlayingCard card)
          Removes the given card from the deck and places it in limbo.
 boolean shuffleDeck()
          Shuffles the hand of cards, randomizing them.
 void sortByValueAceHigh()
          This method is a sort of anti-shuffle.
 void sortByValueAceLow()
          This method is a sort of anti-shuffle.
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Container
canContain, capacity, containTypes, emptyPlease, getContents, getDeepContents, hasContent, isInside, setCapacity, setContainTypes
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Physical
description, displayText, name
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, name, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, recoverPhyStats, setBasePhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, readableText, setReadable, setReadableText
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CloseableLockable
defaultsClosed, defaultsLocked, hasADoor, hasALock, isLocked, isOpen, keyName, openDelayTicks, setDoorsNLocks, setKeyName, setOpenDelayTicks
 

Method Detail

shuffleDeck

boolean shuffleDeck()
Shuffles the hand of cards, randomizing them.

Returns:
the hand of cards, randomizing them.

getTopCardFromDeck

PlayingCard getTopCardFromDeck()
Returns the top card item object from the deck

Returns:
the top card item object from the deck

addCard

boolean addCard(PlayingCard card)
Returns the given card item object to the deck by removing it from its current owner and adding it back to the decks owner and container. If doing this causes a players hand to be devoid of cards, the hand container is destroyed.

Parameters:
card - the card to remove
Returns:
true if the card was moved, false if pigs fly

numberOfCards

int numberOfCards()
Returns the current number of cards in the deck.

Returns:
number of cards in the deck

removeCard

boolean removeCard(PlayingCard card)
Removes the given card from the deck and places it in limbo. Calls to this method should be followed by an addCard method on another deck.

Parameters:
card - the card to remove
Returns:
true if the card was there to remove, false otherwise

removeAllCards

boolean removeAllCards()
Removes all cards from the deck and places them in limbo. Calls to this method should be followed by either a destroy method on the cards themselves or an addCard method on another deck.

Returns:
true if there were any cards removed, false otherwise

getContentsEncoded

java.lang.String[] getContentsEncoded()
This method builds a string array equal in size to the deck. It then returns the contents of the deck encoded in cardStringCode format. See convertCardBitCodeToCardStringCode

Returns:
string encoded list of the cards

sortByValueAceHigh

void sortByValueAceHigh()
This method is a sort of anti-shuffle. It puts the cards in order, first by value, then by suit, with ace considered high.


sortByValueAceLow

void sortByValueAceLow()
This method is a sort of anti-shuffle. It puts the cards in order, first by value, then by suit, with ace low.


createEmptyHand

HandOfCards createEmptyHand(Environmental player)
Creates an empty HandOfCards object if the player passed in is not null, it will add the new hand to the inventory of the given hand-holder. Either way, it will return the empty hand object.

Parameters:
player - the holder can be a mob or a room
Returns:
the new empty hand of cards created.

containsCard

boolean containsCard(java.lang.String cardStringCode)
Returns whether this hand contains a card of the given string code value. A string code is a single letter suit followed by a single letter for face cards and the ace, or a number for other cards.

Parameters:
cardStringCode - the encoded card string
Returns:
true if that card is here, false otherwise.

getCard

PlayingCard getCard(java.lang.String cardStringCode)
Gets the PlayingCard from this deck or hand if it is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. a string code is a single letter suit followed by a single letter for face cards and the ace, or a number for other cards.

Parameters:
cardStringCode - the encoded card string
Returns:
the card object, or null.

getFirstCardOfValue

PlayingCard getFirstCardOfValue(java.lang.String cardStringCode)
Returns the first PlayingCard from this deck or hand of the given value is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. a string code is a single letter for face cards and the ace, or a number for other cards.

Parameters:
cardStringCode - the encoded card string
Returns:
the card object, or null.

containsAtLeastOneOfValue

boolean containsAtLeastOneOfValue(java.lang.String cardStringCode)
Returns whether a PlayingCard in this deck or hand of the given value is to be found herein. A string code is a single letter for face cards and the ace, or a number for other cards.

Parameters:
cardStringCode - the encoded card string
Returns:
true if one was found, false otherwise

containsAtLeastOneOfSuit

boolean containsAtLeastOneOfSuit(java.lang.String cardStringCode)
Returns whether a PlayingCard in this deck or hand of the given suit is to be found herein. A string code is a single letter suit.

Parameters:
cardStringCode - the encoded card string
Returns:
true if one was found, false otherwise

getFirstCardOfSuit

PlayingCard getFirstCardOfSuit(java.lang.String cardStringCode)
Returns the first PlayingCard from this deck or hand of the given suit is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. A string code is a single letter suit.

Parameters:
cardStringCode - the encoded card string
Returns:
the card object, or null.

containsCard

boolean containsCard(int cardBitCode)
Returns whether this hand contains a card of the given bit code value. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
true if one was found, false otherwise
See Also:
PlayingCard.getBitEncodedValue()

getCard

PlayingCard getCard(int cardBitCode)
Returns the PlayingCard from this deck or hand if it is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
the card object, or null.
See Also:
PlayingCard.getBitEncodedValue()

getFirstCardOfValue

PlayingCard getFirstCardOfValue(int cardBitCode)
Returns the first PlayingCard from this deck or hand of the given value is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
the card object, or null.
See Also:
PlayingCard.getBitEncodedValue()

containsAtLeastOneOfValue

boolean containsAtLeastOneOfValue(int cardBitCode)
Returns whether a PlayingCard in this deck or hand of the given value is to be found herein. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
true if one was found, false otherwise
See Also:
PlayingCard.getBitEncodedValue()

containsAtLeastOneOfSuit

boolean containsAtLeastOneOfSuit(int cardBitCode)
Returns whether a PlayingCard in this deck or hand of the given suit is to be found herein. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
true if one was found, false otherwise
See Also:
PlayingCard.getBitEncodedValue()

getFirstCardOfSuit

PlayingCard getFirstCardOfSuit(int cardBitCode)
Returns the first PlayingCard from this deck or hand of the given suit is to be found herein. DOES NOT REMOVE! removeCard should be called next to do that. A bit code is as described in PlayingCard.java

Parameters:
cardBitCode - the card bit code
Returns:
the card object, or null.
See Also:
PlayingCard.getBitEncodedValue()