include "lib.java.cd"; package gen; import edu.neu.ccs.demeterf.lib.*; import edu.neu.ccs.demeterf.*; import java.lang.Integer; // this is for one playground where games of the same kind take place // there is one domain and one claim kind // In other words only one court with one tournament Config = SCGConfig DomainConfig. SCGConfig = "scg_config[" *l*t "tournamentStyle:" *s TournamentStyle *l*t "turnDuration:" *s int // number of seconds *l*t "maxNumAvatars:" *s int // per tournament *l*t "minStrengthening:" *s double // minimum amount of strengthening by a strengthening oppose *l*t "initialReputation:" *s double // initial reputation of an avatar *l*t "maxReputation:" *s double // maximum reputation a scholar can reach // game ends when reached *l*t "reputationFactor:" *s double // a number in [0,1] used to determine reputation gain // upon successful defense of own claim or // upon successful refutation of claim of another scholar. *l*t "minProposals:" *s int *l*t "maxProposals:" *s int // scholars must stay active, but not too active *l*t "numRounds:" *s int // the number of rounds for a tournament *l*t "proposedClaimMustBeNew:" *s boolean // proposed claims must be different from previously proposed claims *l "]". TournamentStyle = FullRoundRobin | KnockOut | SwissStyleTournament. FullRoundRobin = "full" "round-robin". KnockOut = "knockout". SwissStyleTournament = "swiss". DomainConfig = "domain_config[" *l*t "maxSize:" *s int // InstanceI gets a method float size() that returns the size of an instance. // we want the size concept to be domain specific. // the value returned by size() <= maxSize *l "]".