游戏中的物品交换逻辑抽象

如果总结一下游戏的内部逻辑,或许会让游戏变得很无趣,不过程序员大概会很高兴,比如说我。 如果把用户的各种信息都抽象成“物品”、“个数”,那么所有的游戏逻辑都是用户之间的物品交换。 为了方便描述,我来自定义一套语法表示这种交换。这里用的是类BNF语法,如果没耐心可跳过。 物品交换 := 物品描述 “=>” 物品描述 物品描述 := 物品描述 “+” 单个物品描述 | 单个物品描述 单个物品描述 := 用户 “(” 物品 “,” 数量 附加属性 “)” 物品 := 物品名称 | 物品函数 物品函数 := rand “(” 物品列表 “)” 物品列表 := 物品列表 “,” 物品 | 物品 附加属性 :=”,” “{” 附件属性列表 “}” | “” 附加属性列表 := 附加属性列表 “,” 属性 | [...]