Package edu.wisc.game.engine
Class RuleSet
java.lang.Object
edu.wisc.game.engine.RuleSet
public class RuleSet extends Object
A RuleSet describes the rules of a game.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRuleSet.AtomSyntax:(counter,shape,color,position,bucketFunctions)static classRuleSet.BucketListA BucketList represents the information about the destination buckets given in the "buckets" field of an atom.static classRuleSet.BucketSelectorThe list of "legacy" variables that can be used in the bucket expression.static classRuleSet.PositionListRepresents the restrictions on the positions from which game pieces can be pickedclassRuleSet.ReportedSrcThis is used for pretty-printing in the GUI client.static classRuleSet.RowA row object represents the content of one line of the rule set description file, i.e. -
Field Summary
Fields Modifier and Type Field Description Vector<String>descriptionAn optional verbal description of the rule set, which may have been found in the comment lines on top of the rule set file.StringdisplayThe display name, to show in the Android app, without giving the user too much of a hint.TreeMap<String,Order>ordersAll ordersVector<RuleSet.Row>rowsAll rows of this rule set -
Constructor Summary
Constructors Constructor Description RuleSet(String ruleText)RuleSet(String[] rr)Creates a RuleSet based on the content of a rule set file.RuleSet(String[] rr, AutomaticRuleGenerator agen)RuleSet(String ruleText, AutomaticRuleGenerator agen) -
Method Summary
Modifier and Type Method Description FilegetFile()HashSet<String>listAllBucketVars()The list of variables mentioned in the bucket expressions in this rowHashSet<Piece.Color>listAllColors()Lists all colors used in this rule set.TreeMap<String,TreeSet<String>>listAllPropValues()Lists all properties, and all property values, used in this rule set.HashSet<Piece.Shape>listAllShapes()Lists all shapes used in this rule set.static voidmain(String[] argv)RuleSet.ReportedSrcreportSrc()StringtoSrc()Format as the source code of the rules setStringtoString()
-
Field Details
-
description
An optional verbal description of the rule set, which may have been found in the comment lines on top of the rule set file. -
display
The display name, to show in the Android app, without giving the user too much of a hint. (As per PK, 2023-01-24) -
orders
All orders -
rows
All rows of this rule set
-
-
Constructor Details
-
RuleSet
- Throws:
RuleParseException
-
RuleSet
- Throws:
RuleParseException
-
RuleSet
Creates a RuleSet based on the content of a rule set file. The file may contain some (optional) custom order definition lines, followed by one or more rule lines.- Parameters:
rr- The lines from the rule set file- Throws:
RuleParseException
-
RuleSet
- Throws:
RuleParseException
-
-
Method Details
-
getFile
-
toString
-
toSrc
Format as the source code of the rules set -
reportSrc
-
listAllShapes
Lists all shapes used in this rule set. -
listAllColors
Lists all colors used in this rule set. -
listAllPropValues
Lists all properties, and all property values, used in this rule set. This is primarily used for correctness checking during the experiment plan validation. -
listAllBucketVars
The list of variables mentioned in the bucket expressions in this row -
main
- Throws:
IOExceptionRuleParseException
-