【五子棋实战】第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章 算法包装成第三方接口
|
4月前
|
API
RestSharp编写api接口测试,并实现异步调用(不卡顿)
【7月更文挑战第14天】以下是使用 `RestSharp` 进行 API 接口测试并实现异步调用的示例代码,以避免发送请求和等待响应过程中导致的界面或程序卡顿。关键步骤包括:创建 `RestClient` 并指定基础 URL;创建 `RestRequest` 并指定端点及方法;使用 `ExecuteAsync` 异步发送请求,并通过 `await` 等待响应。 对于特定需求,如需测试获取用户信息的 API,可在请求中添加身份验证头或查询参数。 通过灵活配置请求参数和处理响应,可以满足各种 API 测试的需求。
100 10
|
4月前
|
存储 Java
软件开发常用之SpringBoot文件上传接口编写(中),一本书,代码大全(里面有很多代码重构的方法),屎山代码的原因是不断追加逻辑,在错误代码上堆积新的功能,在写完逻辑之后去思考一下,逻辑合理不
软件开发常用之SpringBoot文件上传接口编写(中),一本书,代码大全(里面有很多代码重构的方法),屎山代码的原因是不断追加逻辑,在错误代码上堆积新的功能,在写完逻辑之后去思考一下,逻辑合理不
|
6月前
|
JSON 前端开发 测试技术
接口管理测试繁琐复杂?何不试试Eolink
接口管理测试繁琐复杂?何不试试Eolink
63 0
|
6月前
|
SQL 前端开发 Java
Java后端接口编写流程
Java后端接口编写流程
119 0
|
存储 NoSQL MongoDB
变形记---抽象接口,屎山烂代码如何改造成优质漂亮的代码
在游戏服务器开发过程中,我们经常会在动手码代码之前好好的设计一番,如何设计类,如何设计接口,如何调用,有没有什么隐患,在这些问题考虑评审可以Cover现阶段的需求的情况下再动手。不过,对于一些初级,甚至中高级开发者,仍然不可避免的进入了一个死胡同,缺少设计,屎山代码堆积,越堆越臭,越写越烂,直到很难维护必须要重新改造。最近我给M部门面试服务器主程序开发的职位,我不问开发语言的语法,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验。
|
存储 JSON API
带你掌握开发者必备的WebStorageAPI,客户端案例细讲
带你掌握开发者必备的WebStorageAPI,客户端案例细讲
|
C语言
C项目(贪吃蛇BUG解决及功能扩展)
C项目(贪吃蛇BUG解决及功能扩展)
126 0
|
前端开发
前端学习笔记202307学习笔记第六十天-实现第一种调试方式1
前端学习笔记202307学习笔记第六十天-实现第一种调试方式1
41 0
|
前端开发
前端学习笔记202307学习笔记第六十天-实现第一种调试方式2
前端学习笔记202307学习笔记第六十天-实现第一种调试方式2
48 0