import java.io.*;

import java.util.*;

public class 五子棋游戏

{

static  int m=1;

static  int n=1;

static final int SIZE=13;

static final String nothing="□";

static final String black="●";

static final String white="×";

static String[][] chess =new String[SIZE][SIZE];

/***

每一个元素有三种情况,黑子白子和空,空我们定义为框,先初始化棋盘;

向每个元素内填充框。

***/

// throws IOException配readLine不能少;

public static void main(String[] args)  throws IOException

{

System.out.print('\n');

System.out.println("欢迎来到英雄联盟,敌军还有30秒到达战场!");

System.out.print('\n');

System.out.print('\n');

construction();

go_construction();

keyboard_enter();

}

//******************************************************

//初始化棋盘方法;

public static void construction()

{

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

{

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

chess[i][j]=nothing;

}

}

//******************************************************

//输出棋盘方法;

public static void go_construction()

{

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

{

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

{

System.out.print(chess[i][j]);

}

System.out.print('\n');

}

}

//******************************************************

//读取用户输入

// throws IOException配readLine不能少;

public static void keyboard_enter() throws IOException

{

//包装后的键盘;在iO包里;

BufferedReader keyboard=new BufferedReader(new InputStreamReader(System.in));

String go=null;

while((go =keyboard.readLine() )!=null)

{

System.out.println("菜鸟"+go);

//将字符串分成两节;

String[] xyStr=go.split(",");

String xstr=xyStr[0];

String ystr=xyStr[1];

//把String转为int型;

int xPos =Integer.parseInt(xstr);

int yPos =Integer.parseInt(ystr);

if(!chess[xPos][yPos].equals(nothing))

{

System.out.println("此处已有棋子,请在别处落子。");

continue;

}

//所谓下棋,就是对棋点的字符串重新赋值;

chess[xPos][yPos]=black;

m++;

//傻瓜级电脑下棋,直接用随机数;但是不可以重复;

while(true)

{

int pc_x=new Random().nextInt(SIZE);

int pc_y=new Random().nextInt(SIZE);

if(chess[pc_x][pc_y].equals(nothing))

{

chess[pc_x][pc_y]=white;

n++;

break;

}

}

go_construction();

int judge;

if(judge()==1)  //人赢了;

{

System.out.println("恭喜你赢了这个×××电脑");

return;

}

if(judge()==(-1))  //pc赢了;

{

System.out.println("悲剧,这个×××电脑都赢了你");

return;

}

if(judge()==0)  //平局;

{

System.out.println("平局,这个×××电脑和你差不多");

return;

}

}

}

//******************************************************

//定义一个判断输赢的方法;

public static int judge()

{

//判断橫着的五个;

for(int i=0;i

{

String heng_line="";

for(int j=0;j

{

heng_line+=chess[i][j];

if(heng_line.contains("●●●●●"))

return 1;

if(heng_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

//判断竖着的五个;

for(int j=0;j

{

String shu_line="";

for(int i=0;i

{

shu_line+=chess[i][j];

if(shu_line.contains("●●●●●"))

return 1;

if(shu_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

//向右上方向走出五个子;

for(int i=0,j=0;i

{

String youshang_line="";

youshang_line+=chess[i][j];

while(i!=0&j!=SIZE-1)

{

i--;j++;

youshang_line+=chess[i][j];

if(youshang_line.contains("●●●●●"))

return 1;

if(youshang_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

for(int i= SIZE-1,j=0;j

{

String youshang_line="";

youshang_line+=chess[i][j];

while(i!=0&j!=SIZE-1)

{

i--;j++;

youshang_line+=chess[i][j];

if(youshang_line.contains("●●●●●"))

return 1;

if(youshang_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

//右下方向出现五个子;

for(int i=SIZE-1,j=0;i>0;i--)

{

String youxia_line="";

youxia_line+=chess[i][j];

while(i!=SIZE-1&j!=SIZE-1)

{

i++;j++;

youxia_line+=chess[i][j];

if(youxia_line.contains("●●●●●"))

return 1;

if(youxia_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

for(int i=0,j=0;j

{

String youxia_line="";

youxia_line+=chess[i][j];

while(i!=SIZE-1&j!=SIZE-1)

{

i++;j++;

youxia_line+=chess[i][j];

if(youxia_line.contains("●●●●●"))

return 1;

if(youxia_line.contains("×××××"))

return -1;

if(m+n==SIZE*SIZE)   //还没出胜负时,棋盘走完了。

{

return 0;

}

}

}

return 2;//记得加上此方法返回值;no void;

}

}

java五子棋难度设置_tiger(我) 用 java写简易五子棋游戏 上次没通过这次看看行不行...相关推荐

  1. java环境变量设置--编写一年java,竟不会配变量了

    java环境变量设置 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Ja ...

  2. java word 颜色设置_如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?...

    通过像http://poi.apache.org这样的库,我们可以用任何文本颜色创建word文档,但是对于文本的背景或突出显示,我没有找到任何解决方案. 手动方式的单词页面颜色!: 这是我通过poi. ...

  3. java 堆栈大小设置_如何增加Java堆栈的大小?

    如何增加Java堆栈的大小? 我问这个问题是为了了解如何在JVM中增加运行时调用堆栈的大小.我已经得到了这个问题的答案,我还得到了许多有用的答案和评论,涉及到Java如何处理需要大型运行时堆栈的情况. ...

  4. java环境变量设置 win2003,Windows下Java环境变量配置方法-博客

    小老弟最近在学习Java,顺便做下学习笔记,仅供自己以后方便回顾,希望大家批评指正帮助小老弟进步! 学习Java首先就是安装JDK(Java Development Kit),即Java开发工具包,大 ...

  5. java 定时器时间设置_如何在Java中设置定时器?

    所以答案的第一部分是如何做主题要求的事情,因为这是我最初对它的解释,有几个人似乎觉得很有帮助.这个问题后来被澄清了,我已经扩展了答案来解决这个问题. 设置计时器 首先,您需要创建一个计时器(我使用的是 ...

  6. java后台怎么设置转盘抽奖_[Java教程]转盘抽奖

    [Java教程]转盘抽奖 0 2015-09-09 12:00:06 html部分 css部分,由于做的这个转盘是手机端的,采用的响应式布局.turntableWap{ padding:1rem; b ...

  7. java环境变量设置 win2003,2021-03-09Win10的Java环境配置Win10下Java环境变量配置

    接下来主要讲怎么配置 Java 的环境变量,也是为了以后哪天自己忘记了做个备份 (注:win10的Java环境变量配置和其他的windows版本稍有不同) 在电脑桌面 右键点击 "此电脑&q ...

  8. java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...

    关于JS中获取浏览器高度和宽度值的多种方法(多浏览器) 2017-08-07 0 三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 d ...

  9. java swing 字体设置_如何在Java SWING中设置自定义字体的大小和其他属性(粗体,斜体等)...

    通常,当我初始化我想在SWING应用程序中使用的字体时,我这样做: public static final Font TITLEFONT = new Font("Calibri", ...

最新文章

  1. 非常规解释:分类ML模型的十大模型性能指标
  2. wps office oa控件 痕迹_WPS大更新,Office的付费功能免费用,我不会是最后一个知道的吧?...
  3. Android-深入理解AIDL
  4. linux查询服务器cpu核数_如何查看linux服务器的cpu数量,内核数,和cpu线程数
  5. 如何在虚拟linux环境运行python_Conda(Python)虚拟环境不能从Windows移植到Linux
  6. 括号匹配问题(c和c++版本实现)
  7. Python int函数 - Python零基础入门教程
  8. java恐怖游戏_分享个经典恐怖游戏系列
  9. Python编写学生类计算年龄、成绩等级
  10. 企业上云势不可挡 安全策略该如何制定?
  11. android选择选择图片封装库,Android_Album_android图片选择库
  12. python怎么找出列表中的重复数据_找出python列表中重复项的方法
  13. linux io page fault,Linux的page fault
  14. 运用CNN对ImageNet进行图像分类
  15. 常见路由器开源系统(固件)简介
  16. Java给PNG透明图片加水印,亲测可用
  17. java 哲学家_Java哲学家进餐问题|多线程
  18. sed在行首插入tab制表符
  19. 读书笔记-《如何阅读一本书》
  20. 城市应急指挥系统建设方案(智慧应急综合管理平台)

热门文章

  1. java安卓破解版游戏下载,再不刷题就晚了!
  2. 第五篇:基于深度学习的人脸特征点检测 - 生成TFRecord文件
  3. windows 下 netcat 的使用
  4. php正则中不支持g修饰符吗,Pattern Modifiers – 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不一样。。所…-PHP教程,PHP应用...
  5. php 使用api接口测试工具,php API接口如何进行测试 - Codeception
  6. Android 听筒扬声器切换(多机型兼容、兼容5.0以上)
  7. cartographer之运行自己的bag包
  8. 全兼容增强版zc706单板照片
  9. python可以写dnf外挂么_易语言写DNF外挂各种功能(很详细适合新手)
  10. iwebshop中mysql_iwebshop框架用到的几种常用sql处理