前几天做用gen_server和gen_fsm实现了一个战队的基本功能,在导师的指导下改正后做一个复盘总结,战队实现的功能包括:创建战队、加入战队、退出战队、解散战队、查询战队信息、查询战队玩家信息、合并战队等,在gen_fsm的模式下我们还可以控制不同状态下实现不同功能,即实际中一天内不同的时段允许进行的操作,比如打战队赛时不允许创建战队、加入退出战队等操作。
框架分析
首先要搞清楚,战队管理和战队的进程之间的关系,在一个游戏里,战队管理进程只能有一个,而不同的战队则有不同的进程,即一对多的关系,如下图所示
那我们再敲代码之前就要想好,战队进程用熟悉的gen_server来实现,而战队的管理进程则用gen_fsm来实现。
他们之间的通信方式不必多说。