Class Index | File Index

Classes


Class DominionSetGenerator


Defined in: dominionSetGenerator.js.

Class Summary
Constructor Attributes Constructor Name and Description
 
Creates a DominionSetGenerator.
Method Summary
Method Attributes Method Name and Description
 
attrAlways(attr)
Set the given attribute to 'Always' -- try hard to pick these cards (by a factor of 10, currently).
 
attrAvoid(attr)
Set the given attribute to 'Avoid' -- don't pick these cards if at all possible.
 
attrDense(attr, importance)
Set the given attribute to 'Dense' -- try to pick so that the attribute either doesn't show up or shows up en masse.
 
attrFewer(attr)
Set the given attribute to 'Fewer' -- try to not pick these cards (by a factor of 10, currently).
 
attrMore(attr)
Set the given attribute to 'More' -- don't pick these cards if at all possible.
 
attrRange(attr, min, max, importance)
Set the given attribute to 'Range' -- try to pick so that the attribute shows up in a certain range.
 
attrSparse(attr, importance)
Set the given attribute to 'Sparse' -- try to pick so that the attribute either doesn't show up or shows up en masse.
 
Clears the internal log.
 
Clear the current set.
 
completeSet(maxSetSize)
Fill out a set of cards, assuming that the internal set is partially done.
 
Dumps the internal log to the Javascript Console (as multiple lines).
 
generateSet(maxSetSize)
Generate a new set of cards, using the most current values.
 
Get the current data for the given attribute.
 
Gets the effect strength of the "balanced" generator.
 
Gets the set that is currently being generated.
 
Gets the set that is currently being generated, in Goko camelCase form.
 
Gets the internal log.
 
Gets the size of the set to be generated.
 
Should we have Platinum/Colony in this game? Note that this only changes when the set is regenerated.
 
Should we have Platinum/Colony in this game? Note that this only changes when the set is regenerated.
 
Should we use shelters in this game? Note that this only changes when the set is regenerated.
 
Should we use shelters in this game? Note that this only changes when the set is regenerated.
 
What is the Bane for Young Witch? Note that this only changes when the set is regenerated.
 
What is the Bane for Young Witch? (Goko format) Note that this only changes when the set is regenerated.
 
putIntoSet(cards)
Put in some cards into the set.
 
Reset the current data for all attributes.
 
Reset the current data for the given attribute to the original (internal) value.
 
setAttributeData(attr, data)
Set the current data for the given attribute.
 
Sets the effect strength of the "balanced" generator.
 
setOwned(data)
Tells the generator what cards are 'owned'.
Class Detail
DominionSetGenerator()
Creates a DominionSetGenerator. The same SetGenerator can be used to generate multiple sets.
Method Detail
attrAlways(attr)
Set the given attribute to 'Always' -- try to not pick these cards (by a factor of 10, currently).
Parameters:
{String} attr
Which attribute to set.

attrAvoid(attr)
Set the given attribute to 'Avoid' -- don't pick these cards if at all possible.
Parameters:
{String} attr
Which attribute to set.

attrDense(attr, importance)
Set the given attribute to 'Dense' -- try to pick so that the attribute either doesn't show up or shows up en masse.
Parameters:
{String} attr
Which attribute to set.
{Number} importance
The multiplier for this attribute.

attrFewer(attr)
Set the given attribute to 'Fewer' -- try to not pick these cards (by a factor of 10, currently).
Parameters:
{String} attr
Which attribute to set.

attrMore(attr)
Set the given attribute to 'More' -- don't pick these cards if at all possible.
Parameters:
{String} attr
Which attribute to set.

attrRange(attr, min, max, importance)
Set the given attribute to 'Range' -- try to pick so that the attribute shows up in a certain range.
Parameters:
{String} attr
Which attribute to set.
{Number} min
Try to add cards to make the set exceed this value.
{Number} max
Try not to add cards that make the set exceed this value.
{Number} importance
The multiplier for this attribute.

attrSparse(attr, importance)
Set the given attribute to 'Sparse' -- try to pick so that the attribute either doesn't show up or shows up en masse.
Parameters:
{String} attr
Which attribute to set.
{Number} importance
The multiplier for this attribute.

clearLog()
Clears the internal log.

clearSet()
Clear the current set.

{Object} completeSet(maxSetSize)
Fill out a set of cards, assuming that the internal set is partially done.
Parameters:
{Number} maxSetSize
Number of cards to put in the set.
Returns:
{Object} An Object where all the keys are the cards that are chosen. (The values will be 1, but we might change this to something more fancy in the future).

dumpLogToConsole()
Dumps the internal log to the Javascript Console (as multiple lines).

{Object} generateSet(maxSetSize)
Generate a new set of cards, using the most current values.
Parameters:
{Number} maxSetSize
Number of cards to put in the set.
Returns:
{Object} An Object where all the keys are the cards that are chosen. (The values will be 1, but we might change this to something more fancy in the future).

{DominionSetGeneratorAttributeData} getAttributeData(attr)
Get the current data for the given attribute.
Parameters:
{String} attr
Which attribute to get.
Returns:
{DominionSetGeneratorAttributeData} The data for the given attribute.

{Number} getBalanceFactor()
Gets the effect strength of the "balanced" generator.
Returns:
{Number} The balance factor.

{Object} getCardset()
Gets the set that is currently being generated. Note that generateSet() returns the set anyway, so you might never need to call this unless you need to see the same set again.
Returns:
{Object} The set of cards, in the form of an Object where the keys are Strings with the names of cards.

{Object} getGokoCardset()
Gets the set that is currently being generated, in Goko camelCase form. Note that generateSet() returns the set anyway, so you might never need to call this unless you need to see the same set again.
Returns:
{Object} The set of cards, in the form of an Array where the contents are Strings with the names of cards.

{String} getLog()
Gets the internal log.
Returns:
{String} The internal log as one long string, with internal line-breaks.

{Number} getMaxSetSize()
Gets the size of the set to be generated.
Returns:
{Number} The size of the set to be generated.

{Boolean} getPlatinumColony()
Should we have Platinum/Colony in this game? Note that this only changes when the set is regenerated. The official rules don't specify what to do when there are more than 10 cards in the set (such as for veto mode), so we calculate it based on all the cards in the set (but not the Bane for the Young Witch). Note that this means it is theoretically possible for there to be Platinum/Colony but no Prosperity cards in a veto game.
Returns:
{Boolean} Whether to use Platinum/Colony.

{Boolean} getPlatinumColonyDonline()
Should we have Platinum/Colony in this game? Note that this only changes when the set is regenerated. This uses "Donline rules", where the choice of whether to use is based on the proportion of total cards owned.
Returns:
{Boolean} Whether to use Platinum/Colony.

{Boolean} getUseShelters()
Should we use shelters in this game? Note that this only changes when the set is regenerated. The official rules don't specify what to do when there are more than 10 cards in the set (such as for veto mode), so we calculate it based on all the cards in the set (but not the Bane for the Young Witch). Note that this means it is theoretically possible for there to be shelters but no Dark Ages cards in a veto game.
Returns:
{Boolean} Whether to use Shelters.

{Boolean} getUseSheltersDonline()
Should we use shelters in this game? Note that this only changes when the set is regenerated. This uses "Donline rules", where the choice of whether to use is based on the proportion of total cards owned.
Returns:
{Boolean} Whether to use Shelters.

{Boolean} getYoungWitchBane()
What is the Bane for Young Witch? Note that this only changes when the set is regenerated. Also, sets that don't have a Young Witch still have a Bane (in case it's needed for Black Market or some other weird card).
Returns:
{Boolean} Whether to use Shelters.

{Boolean} getYoungWitchBaneGoko()
What is the Bane for Young Witch? (Goko format) Note that this only changes when the set is regenerated. Also, sets that don't have a Young Witch still have a Bane (in case it's needed for Black Market or some other weird card).
Returns:
{Boolean} Whether to use Shelters.

{Object} putIntoSet(cards)
Put in some cards into the set.
Parameters:
{Object} cards
An Object where the keys are the cards that have to be put into the set. A card will be considered a "match" if after being changed to all lower-case with non-alphanumeric characters removed, it is the same string in sgd.cardNames. For example, "Worker's Village" matches "workersvillage".
Returns:
{Object} An Object where the keys are the cards that weren't understodd.

resetAllAttributes()
Reset the current data for all attributes.

resetAttribute(attr)
Reset the current data for the given attribute to the original (internal) value.
Parameters:
{String} attr
Which attribute to set.

setAttributeData(attr, data)
Set the current data for the given attribute.
Parameters:
{String} attr
Which attribute to set.
{DominionSetGeneratorAttributeData} data
The data for the given attribute.

setBalanceFactor(value)
Sets the effect strength of the "balanced" generator. The default value is 1.0; set this to 0.0 to get a generator that weights everything uniformly. Set this to a larger number to really exaggerate the selection towards balanced sets, and set this to a negative number to skew away from balanced sets.
Parameters:
{Number} value
The balance factor.

{Object} setOwned(data)
Tells the generator what cards are 'owned'. Cards that are not owned have zero chance of being picked (as opposed to the 'Try to Exclude' setting, which sets the probability of being picked to be very small but not zero). Note that if you own fewer cards than the size of the set, the generator may give unexpected results!
Parameters:
{Object} data
An Object where the keys are the names of the cards 'owned'.
Returns:
{Object} An Object where the keys are the cards that weren't understodd.

Documentation generated by JsDoc Toolkit 2.4.0 on Mon Jan 14 2013 16:33:01 GMT-0800 (PST)