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

这篇具有很好参考价值的文章主要介绍了【五子棋实战】第6章 调用接口进行联调。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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,请求参数包括 boarddepthratiolength。成功响应后,根据返回结果进行相应的处理。如果返回的 code200,且 flagtrue,则显示获胜信息;否则根据返回结果更新棋盘状态,并进行相应的绘制和切换玩家操作。若请求出错,则输出错误信息到控制台。

点击优化

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

尾声

  一切准备就绪后,就可以下棋了:
【五子棋实战】第6章 调用接口进行联调

  可以看到每次接口调用,服务器后台都会打印日志:
【五子棋实战】第6章 调用接口进行联调

更多待开发的功能

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

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

  3、在游戏工具栏上,我也预留了配置项,比如棋盘边长、游戏难度(进攻系数和遍历深度)、棋子统计(step)、电脑计算时间等等,包括你可以自定义自己的工具栏,比如玩家姓名、菜单页面等等文章来源地址https://www.toymoban.com/news/detail-497191.html

到了这里,关于【五子棋实战】第6章 调用接口进行联调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python五子棋代码最简单的,python五子棋代码手机版

    大家好,本文将围绕python五子棋代码最简单的展开说明,python五子棋代码手机版是一个很多人都想弄明白的事情,想搞清楚python五子棋代码画棋盘需要先了解以下几个事情。 【实例简介】 【实例截图】 【核心代码】 \\\"\\\"\\\"五子棋之人机对战\\\"\\\"\\\" import sys import random import pygame from

    2024年01月19日
    浏览(35)
  • 中秋时节赏明月,五子棋戏月饼趣 — Flutter中秋限定版五子棋

    前言 当中秋时节来临,我们都期待着与亲人朋友共度这个美好的节日。这个时候,除了传统的赏月和品尝美味的月饼,我还有一个特别的建议——尝试一款有趣的Flutter五子棋游戏!这款五子棋游戏以中秋为主题,游戏的棋子也可爱地模仿了月饼和玉兔的形状,让我们在这个

    2024年02月06日
    浏览(46)
  • 鸿蒙小案例-五子棋

    刚开始以为挺简单的,越写越…emo 因为代码有点多,所以这里就简单讲下逻辑,文末贴上代码 逻辑只是我个人想的,不代表只有这一种实现方式,有其他想法可以在下面留言 另外功能做的比较简单,有一些没实现,但是基本功能都有,大家可以自行优化 组件就比较简单,采

    2024年02月21日
    浏览(31)
  • python实现《五子棋》

            今天突然心血来潮,想全程自己写一个小游戏(毕竟对于一个才接触python不到一个月的小白来说,还是比较为难,虽然不算是完全成功,因为棋盘大小和布局还是借鉴了其它博主的,但这都是小问题,重要是其它的都是自己写的嘛!!!(咦,这小编真能扯,还不上

    2024年02月12日
    浏览(26)
  • C++制作五子棋

    正文 01 思路 我没有选择专业的五子棋棋型,用我自己的逻辑(初高中玩五子棋的方法),去实现简单的人机对战。 首先因为要计算五子棋每一步的分数,那么你就要分析每一步形成的棋盘,以下图为例: 当你即将在红色方框区域内落子时,通过数据处理获取四个方向的棋子

    2024年02月11日
    浏览(26)
  • 五子棋游戏

    一。画出棋盘x和y  横和竖个15条线,画出中央的小点 二,创建列表,计算出x和y的当前坐标的位置,且存储二维列表的值,画出圆形白色棋子 三.黑白棋子交替出现 四,提示已经被其他棋子占领了,不能重复占领 五。创建检测五子相连的函数  def  check 六.,实现水平向左和

    2024年02月05日
    浏览(31)
  • Python实现五子棋

    我认为这个五子棋核心还是在于二维数组,将实际当中鼠标点击的物理位置转换到棋盘中的逻辑地址,之后便用数组的方法进行操作,例如检测是否获胜,电脑下棋策略等。 是否可落子 是否有输赢 每次标记最新下棋的位置即可 电脑下棋 策略:主要根据一个网上的经验评分

    2024年02月06日
    浏览(36)
  • 五子棋(Python实现)

    2024年02月11日
    浏览(33)
  • 在线五子棋对战

    目录   数据管理模块(数据库设计) 前端界面模块 业务处理模块 会话管理模块网络通信模块(session,cookie) 在线管理模块 房间管理模块 用户匹配模块 项目扩展 数据库中有可能存在很多张表,每张表中管理的数据⼜有不同,要进⾏的数据操作也各不相同,因此我们可以为每⼀

    2024年02月14日
    浏览(35)
  • Pygame 五子棋编程

    编程说明:  pygame编程五子棋程序。 设计流程 :新建棋盘,落子画圆,校验五子相连,赢家信息显示,自动重启下一局,程序打包成exe。 关键点 :     新建棋盘:考虑线的间隔,需提前计算好。     落子画圆:考虑黑白交替,已落子坐标位不可重复落子。     校验五子

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包