用一个二维数组先将棋盘存储,已下的白棋标为1,已下的黑棋标为2,未下的棋全部为0。

此时,先来判断横向输赢,即当横向有五个1或五个2连在一起即判断为赢。

同理,竖向的就是将y1改变,x1不变。

先向右寻找//棋子数从一开始int count=1;while(true){x1= x1+1;int value = chess[x1][y1];//如果相同,则继续向后对比if(value == chess[x][y];){count++;}else{break;}x1 =x;
y1 = y;然后向右边寻找while(true){x1 = x1-1;
//   xiangzuohuoquint value =chess[x1][y1];//颜色不一致if(value == chess[x][y]){count++;}else{break;}}//如果数目达到5或者大于五,就判定为赢if(count >= 5){return true;}}

斜向就是将x1,y1同时改变

这样一共分为四种情况:横向相等,竖向相等,左斜相等,右斜相等,每种情况需要分为两个部分的查找。

那么,可以用一种更为简单的方法来判断输赢,定义一个三维数组,参数分别为横向需改变的,竖向需改变的,以及斜向需改变的。

然后用一个三重循环来对这些改变进行设置,依次实现对横竖斜的判断!



java五子棋判断输赢算法相关推荐

  1. java五子棋判断_JAVA 五子棋 判断输赢的代码实现

    //定义棋盘大小,宽w,高h int w = 11; int h = w; //用一个二维数组保存棋盘数据,1代表红棋,2代表黑棋 int[][] chess = new int[h][w]; //定 ...

  2. 五子棋 判断输赢的函数

    /********************************************* //刚写了个控制台的五子棋游戏,发现判断输赢花了我不少时间,特意贴出来. //如果大家有更好的方法,欢迎共 ...

  3. java五子棋的重要算法讲解_[Java五子棋小游戏-Ai算法精讲以及实现]-02--高级算法初步...

    高级算法初步 走对自己利益最大的路 它有难了不要慌,抛弃它,以这盘棋局的胜利为他报仇 碰撞检测与跨步算法原理图 反向计算权重 每次计算完权重,都要进行一次反向权重计算 权重值 : 两侧的权重值相加 权 ...

  4. java五子棋设计_Java课程设计——五子棋

    一.项目简介 五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯粹型棋类游戏.通常双方分别使用黑白两色棋子,下在棋盘直线与横线的交叉点上,先形成五子连线的一方获胜. 玩法规则:1.双方各执一色棋子 ...

  5. JAVA中计算五子棋平局的算法_输入五子棋棋盘判断输赢或平局—程序设计(C语言)...

    输入五子棋棋盘判断输赢或平局-程序设计(C语言) 输入五子棋棋盘判断输赢或平局-程序设计(C语言) 输入五子棋棋盘判断输赢或平局-程序设计(C语言) ??做这道题实在没有思路参考了这位作者的代码: h ...

  6. Java程序验证五子棋先手必胜_五子棋的判断输赢规则 -- java编程(简单优化完整版)...

    五子棋的判断输赢规则代码 -- 完整优化版 一.前言 之前浏览过很多网上的方法,但总找不到比较完整,也get不到其他大神的思路,就直接画图分析,分析了之后就有了如下的代码,当然还想到更加优化的一种,只 ...

  7. java五子棋AI算法人机对战(春物彩羽版可下载试玩PC端)

    五子棋AI算法 前言: 坐标西安,写于疫情封城期间.改进了之前写的基于极大极小值策略AI五子棋游戏,是用java实现的,采用了java老旧的jframe窗体和绘图类.写好之后整理成了这篇博客. 游戏采 ...

  8. [教你做小游戏] 《五子棋》怎么判断输赢?你能5分钟交出代码吗?

    我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权.我独立开发了<联机桌游合集>,是个网页,可以很方便的跟朋友联机 ...

  9. 简易五子棋(包含开始、双人对战、简易AI、悔棋、认输、判断输赢)不含禁手

    简易五子棋 先上效果图 一.问题分析 五子棋游戏分析: 五子棋作为较为普遍且简易的娱乐游戏,受到众多人的热爱,且五子棋AI也是一个较为容易实现的AI.下面我们先来分析游戏规则.(哈哈,虽然大家都知道, ...

最新文章

  1. react 让滚动条一直在下面_Ink 2.0 发布:命令行应用程序的 React
  2. 十二、springboot 详解RestControllerAdvice(ControllerAdvice)
  3. 【Android 安装包优化】WebP 应用 ( Android 中使用 libwebp.so 库解码 WebP 图片 )
  4. 用自定义的RoundImageView来实现圆形图片(可加边框)
  5. VTK:可编程滤波器用法实战
  6. JConsole监控远程linux下的JVM
  7. 经典的同态滤波算法的优化及其应用参数配置。
  8. Josh Frank:XRP是有史以来第三大倒闭事件
  9. 小程序优化的20中策略
  10. java写 excel
  11. const常类型说明
  12. 手动安装ipa,通过XCode手动安装包iOS App, ipa Devices and Simulators
  13. uni-app android权限
  14. python操作模拟器多开操作_appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行...
  15. 自学备考CKA攻略-考试信息及准备
  16. 计算机应用基础谭忠兵,全程导学 | 第19期 足履实地,无畏远方——专访谭忠兵老师...
  17. 关于教程被人盗版出售的一些感想
  18. 关于composer安装插件时候提示找不到fxp插件时候的解决办法
  19. 【重要公告】包头市新型冠状病毒感染肺炎防控工作指挥部公告(2022年第4、5、6、7号)
  20. eureka:自我保护机制_对自我怀疑的开发人员:您足够好吗?

热门文章

  1. 对各浏览器userAgent的检测客户端
  2. GASP动画和ScrollMagic
  3. HashMap中巧妙获取2的幂次
  4. MEXGroup:每周策略2020-07-20
  5. 基于python的音乐数据分析可视化
  6. 德.摩根定律及其理解
  7. “大数据时代下的地理信息可视化:ECharts地图和数据面板实践“
  8. 支付宝:账号不存在,或对方关闭了“通过手机号或邮箱找到我“隐私开关!怎么解决?
  9. mintUI messageBox
  10. BIZKEY便携路由刷OpenWRT