·
#include __FILE__

稍微看了一下,从你说的代码延展性方面上提出一点建议

三子棋和五子棋之间的界面上(比如棋盘的绘制,棋盘的存储等)的泛化做得还行,

但关键部分特化做得还不够,就是他们之间的差别,比如机器人下棋的策略上,你仅仅使用了一个坐标随机填充,这实际上是电脑下棋的核心部分,有点太简单了,五子棋电脑应该使用一个策略,三子棋使用另一个策略,以及选择不同难度时使用不同的策略,这都是需要好好考虑的

最后就是你有些地方的代码重复度很高,可以单独抽出来复用,这也是好”代码延展性“的一种表现