保存成功
保存失败,请重试
提交成功

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

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

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

本场 Chat 的主要内容:

  1. 玩家对象、搜索算法对象和棋局评估算法对象的抽象接口设计,以及它们的设计原则;
  2. 模板方法(Template Method)模式的原理和使用实践;
  3. 一个井字棋(TIC-TAC-TOE)棋类游戏框架的完整设计。
已有149人预订
预订达标
文章出炉
     
03月02日
03月13日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张氢氧化钠的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
被动收入 101 :使用云开发和 Taro 开发一个小程序
白宦成
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
史上最全 Redis 面试题及答案,搞懂这套题征服面试官
ilomilo
10 个代码细节助你培养大牛思维
zaqweb
支付宝支付流程与服务端实现
江水
不把握好这 3 个原则,你的简历就是废纸
白朔天
快速成长:大学期间 0 到 100000 + 、拿到阿里 offer,我都做了什么?
latent
Zookeeper 详解与实践,你面试工作都绕不开的必考题!
latent
Java 编程(程序可靠性的 30 点建议)
OverWrite
深入浅出华为鸿蒙操作系统
闪客sun
轻松 TDD 之旅 2.0
张晓龙
进击的 Java ,云原生时代的蜕变
阿里巴巴云原生
Vue 实操指南
Fengy
基于爬取的 GitChat 平台数据进行分析
大数据和远方
Redis 数据库详解
小天空
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效