【五子棋实战】第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)、电脑计算时间等等,包括你可以自定义自己的工具栏,比如玩家姓名、菜单页面等等


相关文章
|
7月前
|
人工智能 算法 前端开发
【五子棋实战】第3章 算法包装成第三方接口
【五子棋实战】第3章 算法包装成第三方接口
|
2天前
|
JSON 前端开发 测试技术
接口管理测试繁琐复杂?何不试试Eolink
接口管理测试繁琐复杂?何不试试Eolink
27 0
|
2天前
|
SQL 前端开发 Java
Java后端接口编写流程
Java后端接口编写流程
65 0
|
前端开发 测试技术 网络架构
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
【测试开发】十五、接口测试-接口定义-实现接口编辑功能
|
JSON 前端开发 JavaScript
【测试开发】十四、接口测试-接口定义功能-前后端-实现新增
【测试开发】十四、接口测试-接口定义功能-前后端-实现新增
【测试开发】十四、接口测试-接口定义功能-前后端-实现新增
|
JSON 前端开发 Java
【测试开发】十六、接口测试-接口定义-实现发送接口请求功能
【测试开发】十六、接口测试-接口定义-实现发送接口请求功能
【测试开发】十六、接口测试-接口定义-实现发送接口请求功能
接口测试平台代码实现107:登录态接口-4
接口测试平台代码实现107:登录态接口-4
接口测试平台代码实现107:登录态接口-4
|
前端开发 测试技术 数据库
接口测试平台代码实现112:登录态接口-8
本节我们要搞定普通接口调试时自动加入登陆态接口返回参数到请求头/体中的后台实现。
接口测试平台代码实现112:登录态接口-8
|
前端开发 JavaScript 测试技术
接口测试平台代码实现109:登录态接口-5
我们本节来制作登陆态接口的请求js函数, 为什么要制作这个调试请求功能? 这个功能在正常使用中是不会用到的,这里只用来给调试用,也就是测试。
接口测试平台代码实现109:登录态接口-5
|
JavaScript 前端开发 测试技术
接口测试平台代码实现107:登录态接口-3
接口测试平台代码实现107:登录态接口-3
接口测试平台代码实现107:登录态接口-3