控制台五子棋java_JAVA控制台五子棋的问题
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控制台五子棋的问题相关推荐
- 控制台五子棋java_Java控制台版五子棋的简单实现方法
设计一个10*10的棋盘: 行号.列号单独输出 package yu; import java.util.Scanner; public class WuZiQi { /*● 棋子1 ○ 棋子2 * ...
- 五子棋java_java简易五子棋
完成五子棋先想想你要什么 1一个界面 2.下棋子 3.判断输赢 4.人机对战 第一部分 画一个棋盘 1.要一个界面来放棋盘 2有一个功能选择区域习惯上他应该在最右边 3.最好上面要有画好的格子 起码大 ...
- 五子棋游戏控制台实现(Java)
五子棋游戏(Java) 本篇文章参考了一下两篇文章: 1.控制台五子棋java_java实现简单控制台五子棋游戏 2.Java实现五子棋小游戏(对新手极为友好的版本) 在本章中,主要是参考了第一篇文章 ...
- Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 系列文章:https://www.cnblogs.com/alunchen/p/10121379 ...
- Java程序验证五子棋先手必胜,五子棋怎样下最厉害_五子棋先手必胜开局图
五子棋是很好的益智游戏,那么五子棋怎样下才是最厉害的呢?小编整理了五子棋的先手必胜开局图,希望可以帮助大家! 五子棋先手必胜开局图 五子棋阵法(一)八卦阵1 五子棋玩儿家们经常提到"八卦阵& ...
- inventor2五子棋游戏apk_五子棋大师2中文版游戏
五子棋大师2中文版是一款经典好玩的五子棋游戏,计有世界比赛和区域比赛两种形态.无论何种比赛形态,玩家均必须和电脑控制的几位对手进行比赛,求取最佳名次,以打入排行榜.电脑控制的对手棋力和棋风各有不同,但 ...
- mc服务器控制台发消息,控制台作用介绍及控制台命令大全分享
来源:魔方网日期:2018-10-11 22:58:22 我的世界控制台是什么?控制台有什么用?相信很多小伙伴还不知道什么是控制台吧,今天小编为大家来讲解一下我的世界控制台作用和控制台命令分享,希望大 ...
- c语言五子棋源代码vc6,五子棋源码实验报告及人机对战说明.docx
1. 五子棋对战说明 2. 实验报告 3. 源代码 五 子 棋 作品特点:C 语言程序 五子棋 作品功能:五子棋人机对战,人人对战. 目录:1 五子棋介绍. 五子棋棋型介绍. 人人对战的实现. 电脑下 ...
- Windows下的chcp命令(更改该控制台的活动控制台代码页)
Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页.如果在没有参数的情况下使用,则 chcp 显示活动控制台代码页的数量. 语法 chcp [nnn] 参数 指定代码页.下表列出了所 ...
最新文章
- 数据库内核月报 - 2017年12月
- PL/SQL编程:用while-loop-end循环算出5的阶乘
- POJ 2728 01分数规划
- HTML5与CSS3基础教程第八版学习笔记7~10章
- Fiddler抓取手机APP数据包
- hdu 5230(整数划分,dp)
- FreeMarker缓存处理
- HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
- SAP Cloud for Customer的Calculated field字段
- webpack打包后引用cdn的js_JS逆向:Webpack打包后的代码怎么搞?猿人学爬虫比赛第十六题详细题解...
- linux kernel 下的hash 和链表 应用
- iframe自适应高度调整
- Android系统的开机画面显示过程分析(12)
- 编译opencv错误解决:libavcodec.a(hevc_cabac.o): `ff_h264_cabac_tables' can not be used
- myeclipse中ssm的搭建
- RH850 Clock+LED
- selenium 下载
- [Qt笔记]设置VS2015下的应用工程图标
- Windows的hosts文件在哪里?
- 链脉企业文化篇之“链脉爱的早会”
热门文章
- mips平台编译rtl8822cs驱动报错问题
- 如何用html5和css3制作立体相册呢?
- ZTEBA601.android5.1,中兴Blade A601刷机教程 中兴BA601线刷救砖教程
- netty自定义消息实现心跳检测与重连
- iphone换android系统更新不了,小米官方解答MIUI 9系统升级常见问题:iPhone可以升级吗?...
- 中国历史年代史的一些总结-缕清上下五千年
- React Native开发之路(三)
- 了解九型人格对应的职业类型
- 沙师弟学数据结构与算法之哈希表
- 非线性控制 数学基础 1 Lipschitz 条件