为了演示博弈树的搜索和评估算法,对比各种评估算法 AI 的智商,我做了一个井字棋(TIC-TAC-TOE)游戏的对战框架,让人类玩家可以和游戏的 AI 进行对战博弈。这个 Chat 的内容就是这个框架的设计和重构的过程,这是一个从朴素的面向对象实现到面向接口实现,并引入模式的设计过程。完整看完这个重构的过程,读者可以加深对“要对接口编程,而不是对实现编程”这句话的理解,了解“虚的接口”如何解除“实的对象”之间的耦合,并给设计带来灵活性的实现原理。
本场 Chat 的主要内容:
- 玩家对象、搜索算法对象和棋局评估算法对象的抽象接口设计,以及它们的设计原则;
- 模板方法(Template Method)模式的原理和使用实践;
- 一个井字棋(TIC-TAC-TOE)棋类游戏框架的完整设计。
阅读全文: http://gitbook.cn/gitchat/activity/5c76b9248597af55013738cd
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。