//general cd to be included in classic/csp version of the game include "lib.cd"; package gen; Price = double. Quality = double. PlayerID = int. Player = "player" *s PlayerID *s String. Type = "type" "[" List(TypeInstance) "]". Derivative = "deriv[" String *s PlayerID *s Option(PlayerID) *s Price *s Type *s Option(RawMaterial) *s Option(FinishedProduct) "]". RawMaterial = "rm[" RawMaterialInstance "]". FinishedProduct = "finish[" IntermediateProduct *s Quality "]". History = "history[" List(Round) "]". Round = "round" *s int *s "[" List(PlayerTransaction) "]". PlayerTransaction = "ptrans[" Player *s List(Transaction) "]". Transaction = "trans[" TransactionType *s Derivative "]". TransactionType: Buy | Create | Reoffer | Deliver | Finish. Buy = "BUY". Create = "CREATE". Reoffer = "REOFFER". Deliver = "DELIVER". Finish = "FINISH". Players = "players[" List(Player) "]". Pair(A,B) = *s A *s B *s. Accounts = "accounts[" List(Pair(PlayerID,Double)) "]". Store = "store[" List(Pair(PlayerID,PlayerStore))"]". PlayerStore = "pstore" *s "forsale" *s List(Derivative) *s "bought" *s List(Derivative). Config = "Money:" double *s "Rounds:" int *s "Time:"