前端之路:黑白棋一

link on JianShu

HTML 5.3 W3C Working Draft, 18 October 2018 HTML Living Standard — Last Updated 18 July 2019 MDN Web/HTML MDN CSS

MDN CN JavaScript ECMAScript 6.0

about:blank Object.getOwnPropertyNames(window)

学习搜集整理基本的知识图谱路线图之后,今天开始——黑白棋开发之旅。

规则简述:

  • 8x8的棋盘
  • 初始时黑白各两子交叉落在居中的四个格子上
  • 落子必须至少可“吃掉”对方的一个棋子,否则对方继续落子
    • 吃掉的意思是:落子位置的8各方向上,与当前落子直接必须至少有一个对方的棋子
  1. 先画出棋盘的样子
  2. 根据规则:先做出一个方向上的实现
  3. 扩展到八个方向上的实现
  4. 判断“pass”场景:即对方是否没有可落子的情况
  5. 判断胜负(黑白子的总数)
  6. 加餐:悔棋

纯原生JS实现,不依赖任何第三方库。然后我在第一步就挂了,即使使用第三方库也不知道如何画棋盘。

在老师的带领下,一步一步实现。

更关键的是,实现基本逻辑之后的抽象。老师的演示举重若轻很快就抽象的很完美——这是真正的功力。出现问题时,调试一开,bug手到擒来。

照猫画虎最后的悔棋很没跑起来。明天看看到底是哪里的原因 = =。

 
comments powered by Disqus