package com.planet_ink.coffee_mud.Items.interfaces; import java.util.Vector; import com.planet_ink.coffee_mud.Locales.interfaces.Room; import com.planet_ink.coffee_mud.MOBS.interfaces.MOB; import com.planet_ink.coffee_mud.core.interfaces.Environmental; public interface DeckOfCards extends HandOfCards { public DeckOfCards createDeck(Environmental owner); // 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. public boolean resetDeckBackTo52Cards(); // 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. public HandOfCards getPlayerHand(MOB player); // 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 public HandOfCards addPlayerHand(MOB player, HandOfCards cards); // 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. public void removePlayerHand(MOB player); // 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. public boolean addCard(PlayingCard card); }