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

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

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

本场 Chat 的主要内容:

  1. 玩家对象、搜索算法对象和棋局评估算法对象的抽象接口设计,以及它们的设计原则;
  2. 模板方法(Template Method)模式的原理和使用实践;
  3. 一个井字棋(TIC-TAC-TOE)棋类游戏框架的完整设计。
已有135人预订
预订达标
文章出炉
     
03月02日
03月13日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张氢氧化钠的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
高并发、低 RT 的风控系统架构及技术架构的实现
火币集团研发中心
全栈开发入门实战:后台管理系统
鲁鹏
程序员副业赚钱的 8 种模式
安晓辉
每一个开发人员都应该懂的 UML 规范
码匠笔记
“花式吊打”系列之逻辑回归讲透透
天马行空
带你全面了解高级 Java 面试中需要掌握的 JVM 知识点
当年明月
批量任务处理神器:Spring Batch
天涯阁主
如何打造爆款付费文章
老王
设计模式架构解析
疯狂的架构
理理 Java 开发中常见的设计模式
woodwang
深度学习卷积神经网络架构设计核心技术
言有三
如何快速准备面试中的算法,获得 Offer?
我爱大口吃饭
从本质如何理解机器学习
李韬
BAT + 程序员校招指南
黄小斜
基于 WebSocket 的点对点实时通讯项目
Aeasringnar
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
添加小助手微信×