第一部分,实现与服务器的交互
共 25 分

当我们在实现第一部分的时候也已经涉及到了如何落子的问题,但是在开始的时候我们可以不用考虑太多,就随机下也可以最终完成比赛,就是分数会比较低而已。这一部分的目的就是不择手段的提升自己的分数,提升比分的方法也很多,可以从不同的角度入手。

第二部分,算法部分
共 15 分

当我们在实现第一部分的时候也已经涉及到了如何落子的问题,但是在开始的时候我们可以不用考虑太多,就随机下也可以最终完成比赛,就是分数会比较低而已。这一部分的目的就是不择手段的提升自己的分数,提升比分的方法也很多,可以从不同的角度入手。

最后一个部分就是一些比较细节的要求了
共 10 分

最后一个部分就是一些比较细节的要求了,共10分。比如代码整洁度,代码耦合度,报告质量。还有一些额外创新性的加分项。 对题目的解析差不多就到这里,整个实现思路我觉得也比较清晰了。

实现过程

小    明:高老板,我来找你下棋了。
高老板:好啊,这是给你的游戏规则,我的落子,我落子后的棋盘状态,还有密钥。
高老板:记得下次来找我的时候规则,棋盘状态和密钥不能有变哦,变动了我就不和你玩儿了!
小    明:好的。
……
小    明:高老板,这是你给我的游戏规则,当时的棋盘状态和密钥。然后这是我的落子。
高老板:好的。
……
高老板:这是原来的游戏规则,这是我的落子。然后这里是你落完子并且我也落完子之后的棋盘状态和新的密钥。
小    明:好的。
……
小    明:……
高老板:这局下完了,你最后的得分是50分~

之后我们再来说一下大家的学习步骤:

这道题能够看出来就是一道编程题目,原则上编程语言都是相通的,所以大家选用什么语言来实现这里不做任何要求,个人推荐使用Python。
互加的同学可能会觉得上课可能会学C语言,我个人认为比赛的时候还是应该选择最适合比赛的语言,还有就是即使互加的同学没有Python课程,之后的很多涉及到编程的课程还是一样要学Python,所以使躲不掉的。当然大家如果坚持用C当然可以,不仅可以我还会适当加分。

编程语言的学习主要有这么两个部分,第一个部分就是基础语法,这个肯定是最基础的。第二部分就是网络编程,也就是解决本道题第一部分与服务器之间的交互。第二部分就看大家发挥了。

接下来就是详细的说明一下网络接口部分:

网络接口文档也叫作API接口文档,Application Programming Interface。API接口文档实际上是用来给前后端交互时候需要使用的,它规定了前端开发者如何向后端请求数据的,也规定了后端开发者如何响应前端开发者的请求的。
那么我们这个题目本质上就是用程序代替人与前端的工作,所以API接口文档告诉我们如何与后端交互,也就是如何找我下棋,如果请求的格式和数据不对,那么自然得不到正确的相应文件。
关于这道题,我就说这么多。我觉得我已经把答案送到你们面前了。祝大家玩儿的开心。

更新日志:

Version:2.1 -- Date:2018/9/18 -- Description:更新了API接口文档中的URL部分。

Version:2.0 -- Date:2018/9/9 -- Description:正式完成发布首版,包括介绍页,教程页以及API文档页。

Version:1.1 -- Date:2018/9/4 -- Description:完成了API文档页的上线。

Version:1.0 -- Date:2018/9/1 -- Description:上线系统并测试使用。