一个对弈游戏框架的重构过程

作者/分享人:氢氧化钠
向 Ta 提问
资深程序员,中兴通讯 PON 业务软件开发经理,《算法的乐趣》作者以及 SourceInsight 开源外挂 TabsiPlus 的作者,18 年软件开发相关经验。在 Windows 系统软件开发、加密解密和软件架构方面有一些经验和见解。

为了演示博弈树的搜索和评估算法,对比各种评估算法 AI 的智商,我做了一个井字棋(TIC-TAC-TOE)游戏的对战框架,让人类玩家可以和游戏的 AI 进行对战博弈。这个 Chat 的内容就是这个框架的设计和重构的过程,这是一个从朴素的面向对象实现到面向接口实现,并引入模式的设计过程。完整看完这个重构的过程,读者可以加深对“要对接口编程,而不是对实现编程”这句话的理解,了解“虚的接口”如何解除“实的对象”之间的耦合,并给设计带来灵活性的实现原理。

本场 Chat 的主要内容:

  1. 玩家对象、搜索算法对象和棋局评估算法对象的抽象接口设计,以及它们的设计原则;
  2. 模板方法(Template Method)模式的原理和使用实践;
  3. 一个井字棋(TIC-TAC-TOE)棋类游戏框架的完整设计。
已有105人预订
预订达标
文章出炉
     
03月02日
03月13日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张氢氧化钠的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
110 道 Python 面试笔试题超强汇总
嘉美伯爵
Redis 实战场景详解
驰骋
轻松搞定机器学习中的概率统计知识
Evan
Git 扫盲,用命令行优雅的理解 Git 底层机制
叫我闪电
架构师成长之路之服务治理漫谈
飞狐
从学生到职场,这位百万爬虫博主都经历了什么?
崔庆才丨静觅
打造高效「Mac 工具栈」,提高工作效率
易水寒
Java 与底层操作系统的交互细节
小强
Azkaban 分布式任务调度部署实战
火币集团研发中心
架构师成长之路之限流
飞狐
架构师成长之路之服务发现与注册
飞狐
Java 进阶之路:异常处理的内在原理及优雅的处理方式
应书澜
人工智能物联网极简入门
Peter Liu
手把手教你做人脸搜索系统
天马行空
百无一用是管理:从技术到管理的 3 个典型困惑释疑
Paullin
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!