【五子棋实战】第6章 调用接口进行联调

简介: 【五子棋实战】第6章 调用接口进行联调Ajax调用接口调用五子棋接口点击优化尾声更多待开发的功能

Ajax调用接口


  引入Jquery,使用JQ封装的ajax,demo如下:


<script src="jquery-3.5.0.min.js"></script>
<script>
$.ajax({
  url: 'http://localhost:5000/api/next_step',
  type: 'POST',
  data: { 'board':board.value.toString(), 'depth': 3, 'ratio':1, 'length': 15},
  dataType: 'json',
  success: function(response) {
    console.log(response);
  },
  error: function(error) {
    console.log(error);
  }
});
</script>


调用五子棋接口


$.ajax({
  url: 'http://localhost:5000/api/next_step',
  type: 'POST',
  data: { 'board':board.value.toString(), 'depth': 3, 'ratio':1, 'length': 15},
  dataType: 'json',
  success: function(response) {
    console.log(response);
    if(response.code === 200){
      if(response.data.flag === true){
        alert(response.data.player + "win !!");
        return;
      }
      var data = response.data;
      var i = data.x;
      var j = data.y;
      if(currentPlayer == 1){
        var c = new Chess(i,j,black_flag);
        board.value[i][j]=black_flag;
      }else{
        var c = new Chess(i,j,white_flag);
        board.value[i][j]=white_flag;
      }
      board.chessList.push(c);
      draw.drawChessAll(board.chessList);
      currentPlayer = (currentPlayer === 1) ? 2 : 1;
    }else{
      alert(response.msg);
    }
    $("span").css("display","none");
  },
  error: function(error) {
    console.log(error);
  }
});


 以上代码是一个使用 Ajax 进行 POST 请求的示例。请求发送到 http://localhost:5000/api/next_step,请求参数包括 board、depth、ratio 和 length。成功响应后,根据返回结果进行相应的处理。如果返回的 code 为 200,且 flag 为 true,则显示获胜信息;否则根据返回结果更新棋盘状态,并进行相应的绘制和切换玩家操作。若请求出错,则输出错误信息到控制台。


点击优化


  在电脑计算过程中,我们要控制再次点击并不会绘制棋子。我采取的方法是在点击之后,取消和棋盘绑定的点击事件函数,等到电脑算完之后,再次重新绑定。


尾声


  一切准备就绪后,就可以下棋了:


image.png


  可以看到每次接口调用,服务器后台都会打印日志:


image.png


更多待开发的功能


 1、可以改写下棋逻辑,让电脑分别扮演黑白棋和自己下,看看能不能下满棋盘


 2、本项目只提供了核心功能,支持前端界面跨平台、自定义


 3、在游戏工具栏上,我也预留了配置项,比如棋盘边长、游戏难度(进攻系数和遍历深度)、棋子统计(step)、电脑计算时间等等,包括你可以自定义自己的工具栏,比如玩家姓名、菜单页面等等


相关文章
|
人工智能 算法 前端开发
【五子棋实战】第3章 算法包装成第三方接口
【五子棋实战】第3章 算法包装成第三方接口
|
8月前
|
SQL 前端开发 Java
Java后端接口编写流程
Java后端接口编写流程
136 0
|
SQL NoSQL Oracle
萌新妹纸不会写后端代码,还不是照样开发API速度贼快
萌新妹纸不会写后端代码,还不是照样开发API速度贼快
289 0
|
测试技术 数据库 数据安全/隐私保护
接口测试数据引发的接口测试代码改进(之二)
接口测试数据引发的接口测试代码改进(之二)
140 0
接口测试数据引发的接口测试代码改进(之二)
|
前端开发 测试技术 网络架构
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
|
JSON 前端开发 JavaScript
【测试开发】十四、接口测试-接口定义功能-前后端-实现新增
【测试开发】十四、接口测试-接口定义功能-前后端-实现新增
|
JSON 数据格式 微服务
接口测试开发之:一篇搞懂微服务测试中的参数传递
接口测试开发之:一篇搞懂微服务测试中的参数传递
220 0
|
负载均衡 前端开发 JavaScript
接口测试平台代码实现85: 多接口用例-25:博主巧计求点赞,优化章节水漫天
本节课会对多用例模块进行最后的优化等,内容不多。本教程基本都是最浅显和基础的一期产品,后续能优化到什么程度,全看各位的造诣了。
接口测试平台代码实现85: 多接口用例-25:博主巧计求点赞,优化章节水漫天
|
测试技术
接口测试平台代码实现84: 多接口用例-24
接口测试平台代码实现84: 多接口用例-24
接口测试平台代码实现84: 多接口用例-24
|
JavaScript 测试技术
接口测试平台代码实现65: 多接口用例-5
接口测试平台代码实现65: 多接口用例-5
接口测试平台代码实现65: 多接口用例-5