com.planet_ink.coffee_mud.Items.interfaces
Interface DeckOfCards

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

public interface DeckOfCards
extends HandOfCards

An interface for a deck of playing cards, like you'd use to play Gin or Poker or something. Includes methods for generating a Hand of cards, shuffling, and so forth.

See Also:
HandOfCards

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)
          This method adds to the base functionality found in HandOfCards.java by ensuring that all cards added to the deck are added face down.
 HandOfCards addPlayerHand(MOB player, HandOfCards cards)
          Adds and possibly creates a hand for the given player if no hand is passed in, a new empty one is created the hand is then added to our table, keyed by the player object
 DeckOfCards createDeck(Environmental owner)
          Creates a new deck of 52 cards of the same time as the underlying object.
 HandOfCards getPlayerHand(MOB player)
          If a hand of cards has previously been added to this deck for internal management, this method will return that hand given the player object.
 void removePlayerHand(MOB player)
          If the given player object has a hand of cards currently being managed by this deck, this method will remove all of the cards from the hand, return them to the deck, then remove the hand from management, and destroy the hand.
 boolean resetDeckBackTo52Cards()
          Resets the deck back to 52 cards.
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.HandOfCards
containsAtLeastOneOfSuit, containsAtLeastOneOfSuit, containsAtLeastOneOfValue, containsAtLeastOneOfValue, containsCard, containsCard, createEmptyHand, getCard, getCard, getContentsEncoded, getFirstCardOfSuit, getFirstCardOfSuit, getFirstCardOfValue, getFirstCardOfValue, getTopCardFromDeck, numberOfCards, removeAllCards, removeCard, shuffleDeck, sortByValueAceHigh, sortByValueAceLow
 
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

createDeck

DeckOfCards createDeck(Environmental owner)
Creates a new deck of 52 cards of the same time as the underlying object. The deck is then handed over to the mob or room specified.

Parameters:
owner - a mob or room to receive the new deck.
Returns:
the new deck of 52 cards, not shuffled.

resetDeckBackTo52Cards

boolean resetDeckBackTo52Cards()
Resets the deck back to 52 cards. It will grab cards from all external sources first and return them to the deck container owner. If this fails to produce 52 cards, it will create a set of cards for the deck. this method also destroys any hands being managed.

Returns:
true

getPlayerHand

HandOfCards getPlayerHand(MOB player)
If a hand of cards has previously been added to this deck for internal management, this method will return that hand given the player object.

Parameters:
player - the player whose hand to look for
Returns:
the hand belonging to that player, or null

addPlayerHand

HandOfCards addPlayerHand(MOB player,
                          HandOfCards cards)
Adds and possibly creates a hand for the given player if no hand is passed in, a new empty one is created the hand is then added to our table, keyed by the player object

Parameters:
player - the player whose hand this will be
cards - the hand, or null to make a new one
Returns:
the hand of cards passed in or created

removePlayerHand

void removePlayerHand(MOB player)
If the given player object has a hand of cards currently being managed by this deck, this method will remove all of the cards from the hand, return them to the deck, then remove the hand from management, and destroy the hand.

Parameters:
player - the player whose hand to remove.

addCard

boolean addCard(PlayingCard card)
This method adds to the base functionality found in HandOfCards.java by ensuring that all cards added to the deck are added face down.

Specified by:
addCard in interface HandOfCards
Parameters:
card - the card to add back to the deck.
Returns:
true if the card was moved, false if pigs fly