privatebooleanjudgeWin(){//flag表示是否可以断定赢/输booleanflag=false;Stringjoint;//joint:元素连接起来得到的一个字符串//进行横行扫描for(inti=0;i

private boolean judgeWin()

{

//flag表示是否可以断定赢/输

boolean flag = false;

String joint; //joint:元素连接起来得到的一个字符串

//进行横行扫描

for (int i = 0 ; i < BOARD_SIZE ; i++)

{

joint = "";

for (int j = 0 ; j < BOARD_SIZE ; j++)

{

joint += board[i][j];

}

if (joint.contains("●●●●●"))

{

System.out.println("您赢啦!");

flag = true;

return flag;

}

else if (joint.contains("○○○○○"))

{

System.out.println("您输啦!");

flag = true;

//提前返回flag

return flag;

}

}

//进行左斜行扫描

for (int i = -(BOARD_SIZE - 2) ; i < BOARD_SIZE - 1 ; i++)

{

joint = "";

for (int j = 0 ; j < BOARD_SIZE ; j++)

{

int line = i + j;

//只截取坐标值没有越界的点

if (line >= 0 && line < 15)

{

joint += board[j][line];

}

}

if (joint.contains("●●●●●"))

{

System.out.println("您赢啦!");

flag = true;

return flag;

}

else if (joint.contains("○○○○○"))

{

System.out.println("您输啦!");

flag = true;

return flag;

}

}

//进行右斜行扫描

for (int i = 1 ; i < 2*(BOARD_SIZE - 1) ; i++)

{

joint = "";

for (int j = 0 ; j < BOARD_SIZE ; j++)

{

int line = i - j;

if (line >= 0 && line < 15)

{

joint += board[j][line];

}

}

if (joint.contains("●●●●●"))

{

System.out.println("您赢啦!");

flag = true;

return flag;

}

else if (joint.contains("○○○○○"))

{

System.out.println("您输啦!");

flag = true;

//最后这个return可省略

}

}

return flag;

}

------------------------------------------------

由于代码太长所以只能贴出判断错误的方法

请问这个判断是怎么计算的 详细讲解 谢谢

谁能留个QQ 我发全代码0,0追加分

展开

控制台五子棋java_JAVA控制台五子棋的问题相关推荐

  1. 控制台五子棋java_Java控制台版五子棋的简单实现方法

    设计一个10*10的棋盘: 行号.列号单独输出 package yu; import java.util.Scanner; public class WuZiQi { /*● 棋子1 ○ 棋子2 * ...

  2. 五子棋java_java简易五子棋

    完成五子棋先想想你要什么 1一个界面 2.下棋子 3.判断输赢 4.人机对战 第一部分 画一个棋盘 1.要一个界面来放棋盘 2有一个功能选择区域习惯上他应该在最右边 3.最好上面要有画好的格子 起码大 ...

  3. 五子棋游戏控制台实现(Java)

    五子棋游戏(Java) 本篇文章参考了一下两篇文章: 1.控制台五子棋java_java实现简单控制台五子棋游戏 2.Java实现五子棋小游戏(对新手极为友好的版本) 在本章中,主要是参考了第一篇文章 ...

  4. Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

    Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 系列文章:https://www.cnblogs.com/alunchen/p/10121379 ...

  5. Java程序验证五子棋先手必胜,五子棋怎样下最厉害_五子棋先手必胜开局图

    五子棋是很好的益智游戏,那么五子棋怎样下才是最厉害的呢?小编整理了五子棋的先手必胜开局图,希望可以帮助大家! 五子棋先手必胜开局图 五子棋阵法(一)八卦阵1 五子棋玩儿家们经常提到"八卦阵& ...

  6. inventor2五子棋游戏apk_五子棋大师2中文版游戏

    五子棋大师2中文版是一款经典好玩的五子棋游戏,计有世界比赛和区域比赛两种形态.无论何种比赛形态,玩家均必须和电脑控制的几位对手进行比赛,求取最佳名次,以打入排行榜.电脑控制的对手棋力和棋风各有不同,但 ...

  7. mc服务器控制台发消息,控制台作用介绍及控制台命令大全分享

    来源:魔方网日期:2018-10-11 22:58:22 我的世界控制台是什么?控制台有什么用?相信很多小伙伴还不知道什么是控制台吧,今天小编为大家来讲解一下我的世界控制台作用和控制台命令分享,希望大 ...

  8. c语言五子棋源代码vc6,五子棋源码实验报告及人机对战说明.docx

    1. 五子棋对战说明 2. 实验报告 3. 源代码 五 子 棋 作品特点:C 语言程序 五子棋 作品功能:五子棋人机对战,人人对战. 目录:1 五子棋介绍. 五子棋棋型介绍. 人人对战的实现. 电脑下 ...

  9. Windows下的chcp命令(更改该控制台的活动控制台代码页)

    Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页.如果在没有参数的情况下使用,则 chcp 显示活动控制台代码页的数量. 语法 chcp [nnn] 参数 指定代码页.下表列出了所 ...

最新文章

  1. 数据库内核月报 - 2017年12月
  2. PL/SQL编程:用while-loop-end循环算出5的阶乘
  3. POJ 2728 01分数规划
  4. HTML5与CSS3基础教程第八版学习笔记7~10章
  5. Fiddler抓取手机APP数据包
  6. hdu 5230(整数划分,dp)
  7. FreeMarker缓存处理
  8. HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
  9. SAP Cloud for Customer的Calculated field字段
  10. webpack打包后引用cdn的js_JS逆向:Webpack打包后的代码怎么搞?猿人学爬虫比赛第十六题详细题解...
  11. linux kernel 下的hash 和链表 应用
  12. iframe自适应高度调整
  13. Android系统的开机画面显示过程分析(12)
  14. 编译opencv错误解决:libavcodec.a(hevc_cabac.o): `ff_h264_cabac_tables' can not be used
  15. myeclipse中ssm的搭建
  16. RH850 Clock+LED
  17. selenium 下载
  18. [Qt笔记]设置VS2015下的应用工程图标
  19. Windows的hosts文件在哪里?
  20. 链脉企业文化篇之“链脉爱的早会”

热门文章

  1. mips平台编译rtl8822cs驱动报错问题
  2. 如何用html5和css3制作立体相册呢?
  3. ZTEBA601.android5.1,中兴Blade A601刷机教程 中兴BA601线刷救砖教程
  4. netty自定义消息实现心跳检测与重连
  5. iphone换android系统更新不了,小米官方解答MIUI 9系统升级常见问题:iPhone可以升级吗?...
  6. 中国历史年代史的一些总结-缕清上下五千年
  7. React Native开发之路(三)
  8. 了解九型人格对应的职业类型
  9. 沙师弟学数据结构与算法之哈希表
  10. 非线性控制 数学基础 1 Lipschitz 条件