`
柳絮云烟
  • 浏览: 2245 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java五子棋的简单实现

    博客分类:
  • java
阅读更多
/*
控制台五子棋游戏
初始化棋盘
绘画棋盘
用户输入下子坐标
判断输入合法性
下子
电脑下子
判断输赢

*/
import java.util.Scanner;
public class WuZiQi
{
//定义棋盘的大小
static int SIZE = 15;
//用二维数组表示棋盘
static String[][] BROAD = new String[SIZE][SIZE];

//初始化棋盘
public static void init()
{
for(int i = 0; i< SIZE; i++)
{
for(int j = 0; j < SIZE; j++)
{
BROAD[i][j] = "十";
}
}
}

//绘画棋盘
public static void paintBroad()
{
for(int i = 0; i< SIZE; i++)
{
for(int j = 0; j < SIZE; j++)
{
//输出一行,不要换行
System.out.print(BROAD[i][j]);
}
//换行输出下一行
System.out.println();
}
}

//判断输入坐标的合法性
public static boolean isLegal(int i, int j)
{
//输入不能超出棋盘范围
if(i > 15 || i < 0 || j > 15 || j<0)
{
return false;
}
//坐标位置必须是还未下子
if(BROAD[i-1][j-1] != "十")
{
return false;
}
return true;
}

//生成随机数模拟电脑下子
public static int[] computer()
{
int[]  coordinate = new int[2];
coordinate[0] =(int)( Math.random()*15 + 1);
coordinate[1] =(int)( Math.random()*15 + 1);
while(!isLegal(coordinate[0],coordinate[1]))
{
coordinate[0] =(int)( Math.random()*15 + 1);
coordinate[1] =(int)( Math.random()*15 + 1);
}
return coordinate;
}

/**判断输赢
*返回值:
1:黑子赢了
0:白字赢了
-1:未分胜负
*/
public static int isWin()
{
//横向判断

//纵向判断

//反斜杠判断


//斜杠判断
for(int i = 0; i < SIZE-4; i++)
{
for(int j = 0; j < SIZE-4; j++)
{
if(BROAD[i][j] == "●" && BROAD[i+1][j+1] == "●"&&BROAD[i+2][j+2] == "●"&&BROAD[i+3][j+3] == "●"&&BROAD[i+4][j+4] == "●")
return 1;
else if(BROAD[i][j] == "○" && BROAD[i+1][j+1] == "○"&&BROAD[i+2][j+2] == "○"&&BROAD[i+3][j+3] == "○"&&BROAD[i+4][j+4] == "○")
   return 0;
}
}
return -1;
}


public static void main(String[] args)
{
init();
paintBroad();
do{
System.out.println("请输入下子的坐标:");
Scanner sn = new Scanner(System.in);
int i = sn.nextInt();
int j = sn.nextInt();

while(!isLegal(i,j))
{
System.out.println("输入非法,请重新输入下子的坐标:");
sn = new Scanner(System.in);
i = sn.nextInt();
j = sn.nextInt();
}
BROAD[i-1][j-1] = "●";
paintBroad();


int[] coordinate = computer();
int c1 = coordinate[0];
int c2 = coordinate[1];

BROAD[c1-1][c2-1] = "○";
System.out.println("电脑下子: " + c1 + " " + c2);
paintBroad();
if(isWin() ==1)
{
System.out.println("恭喜您赢了");
break;
}
if(isWin() ==0)
{
System.out.println("很遗憾,您输了");
break;
}
}while(isWin() == -1);
}
}
分享到:
评论

相关推荐

    JAVA五子棋简单实现

    【JAVA五子棋简单实现】是一个适合初学者的项目,旨在通过编程实现一个基本的五子棋游戏,以此巩固和加深对Java基础知识的理解。在这个项目中,开发者将学习到如何运用SWF(Simple Widget Framework)框架来构建用户...

    java实现五子棋

    在本文中,我们将深入探讨如何使用Java编程语言实现一个五子棋游戏,同时结合智能算法实现自动落子功能。五子棋是一种双人对弈的策略游戏,目标是在棋盘上形成连续的五个同色棋子,无论是横、竖还是斜线。在Java中...

    java五子棋简易人机对战

    【标题】"java五子棋简易人机对战"是一个基于Java编程语言实现的五子棋游戏,它包含了基本的人工智能对战功能,让用户可以与计算机进行对弈。这样的项目通常涉及到图形用户界面(GUI)的设计、算法的实现以及多线程...

    java简易五子棋实现

    在Java编程语言中实现一个简易五子棋游戏是一项常见的练习任务,它可以帮助初学者深入理解面向对象编程、事件处理和图形用户界面(GUI)的设计。下面将详细解释这个项目涉及的关键知识点。 1. **Java Swing GUI**: ...

    单机版五子棋java代码实现。

    【标题】"单机版五子棋java代码实现"是一个基于Java编程语言开发的桌面游戏项目,旨在提供一个用户可以在本地计算机上玩的五子棋游戏。五子棋是一种策略性棋类游戏,两名玩家轮流在棋盘上下棋,目标是先连成五颗棋子...

    java实现简易五子棋

    在本项目中,"java实现简易五子棋"是一个基于Java编程语言开发的五子棋游戏,主要用于教学目的,帮助学生理解和应用Java编程中的各种函数和方法。通过这个项目,开发者能够深入学习如何利用Java来构建一个交互式的...

    Java五子棋设计报告.doc

    【Java五子棋游戏设计与实现】 五子棋游戏,源于中国古代,历史悠久,深受各年龄段玩家喜爱。在当今计算机普及的时代,将这种经典棋类游戏搬到电脑屏幕上,既能满足人们的娱乐需求,又能锻炼思维能力。本项目是晓庄...

    java版 五子棋游戏

    在这个项目中,开发者通过学习和实践,运用Java技术实现了棋盘界面、棋子放置、游戏规则判断等功能,旨在提供一个简单的五子棋对战平台。尽管游戏目前仅完成了基本的玩家对战模式,尚未包含电脑AI自动下棋的特性,但...

    java 五子棋游戏源码 界面美观 详细注释 适合初学者

    Java五子棋游戏源码是为初学者设计的一个优秀学习资源,它可以帮助新手程序员了解如何在Java环境中构建一个简单的桌面游戏。在这个项目中,你将接触到基础的图形用户界面(GUI)编程、事件处理以及基本的游戏逻辑...

    Java五子棋算法和代码,新手java五子棋完整代码【完美运行】

    Java五子棋游戏是一种经典的两人对战棋类游戏,它基于简单的规则,即任何一方的棋子在棋盘上形成连续的五个,无论是横、竖还是斜线,都将获胜。对于初学者来说,通过编写五子棋游戏,可以深入理解Java编程语言、面向...

    java五子棋人人对战可悔棋

    【Java五子棋人人对战可悔棋】是一款基于Java编程语言实现的两人对弈的五子棋游戏,允许玩家在走错棋步时进行悔棋操作,为玩家提供了更加自由的游戏体验。该项目由个人独立完成,并获得了老师的高度评价,成绩A+。...

    java实现五子棋小游戏

    【Java实现五子棋小游戏】是一个适合初学者的项目,旨在帮助那些正在学习Java编程的人提升技能并理解面向对象编程的基本概念。这个小游戏是通过Java语言编写的,它提供了两个玩家之间的互动,允许他们在虚拟棋盘上...

    Java 实现五子棋 源码

    在本项目中,我们探讨的是一个使用Java编程语言实现的五子棋游戏。五子棋是一种双人对弈策略游戏,目标是先连成五个棋子的玩家获胜。这个源码实现了五子棋的基本功能,并且包含悔棋的特性,为玩家提供了更多的策略...

    java五子棋小游戏

    【Java五子棋小游戏】是一款基于Java编程语言开发的简单娱乐项目,主要目的是为了学习和实践Java编程技术,特别是图形用户界面(GUI)的设计与实现。这款游戏提供了双人对战模式,玩家可以通过双击jar包直接启动游戏...

    java实现简单五子棋程序

    在本项目中,"java实现简单五子棋程序"是一个基于Java编程语言开发的小型游戏应用,主要用于教学或课程设计目的。五子棋是一种双人对弈策略游戏,玩家通过在棋盘上交替放置黑白棋子,目标是先形成连续五颗同色棋子的...

    Java小项目,Java五子棋,实现人机对战

    学习Java时写的五子棋小游戏,里面包含源码和需要用到的图片资源,以及整个游戏的写法思路。 Java 五子棋小游戏是一款简单易上手的棋类游戏,它采用了...对于喜欢玩游戏的玩家们,Java五子棋小游戏也是一款值得推荐的

    Java五子棋小程序

    【Java五子棋小程序】是一个基于Java编程语言开发的小型游戏应用,主要目的是提供一个娱乐性的五子棋对战平台。这个小程序设计简洁,易于上手,适合初级和中级Java开发者学习和研究。 在Java中,开发这样的五子棋...

    Java实现五子棋源码+实验报告(源码+实验报告)

    在本项目中,我们主要探讨的是使用Java编程语言实现五子棋游戏的源代码以及相关的实验报告。五子棋是一种简单而有趣的双人对战棋类游戏,目标是在棋盘上先连成五子直线(横、竖或斜线)的一方获胜。这个Java课程设计...

    java五子棋游戏代码

    Java五子棋游戏代码是一个适合初学者学习的项目,它提供了实现一个基本的五子棋游戏的完整示例。这个游戏的开发基于Java编程语言,它能够帮助初学者理解和实践面向对象编程、事件处理、图形用户界面(GUI)设计以及...

    java五子棋窗口程序

    Java五子棋窗口程序是一个基于Java编程语言实现的桌面应用程序,专为玩家提供五子棋游戏体验。五子棋是一种简单而策略丰富的双人棋类游戏,目标是先在棋盘上连成五子(横向、纵向或斜向)的一方获胜。这个程序不仅...

Global site tag (gtag.js) - Google Analytics