广告
返回顶部
首页 > 资讯 > 精选 >Java怎么实现简单无界面五子棋
  • 718
分享到

Java怎么实现简单无界面五子棋

2023-06-30 11:06:22 718人浏览 八月长安
摘要

这篇“Java怎么实现简单无界面五子棋”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么实现简单无界面五子棋”文章吧

这篇“Java怎么实现简单无界面五子棋”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么实现简单无界面五子棋”文章吧。

项目介绍:

本次设计是基于知识点Java类和对象以及数组开发的一个小型五子棋游戏程序。游戏开始时,选择黑棋、白棋开局,将一枚棋子落在棋盘一坐标上,然后轮番落子,如此轮流下子,直到某一方首先在棋盘的竖、横或两斜四方向上的五子连成线,则该方该局获胜。

项目实现思路:

棋盘设计为10*10格,棋盘类型Chess[][] 二维数组,所含属性String chessType; 棋盘首先chessType值是”➕”。
2、初始化二维数组
3、玩家选择黑白圈后,开始下棋。输入要下棋子的行列坐标,黑白棋子轮流落子,当一方连成五子或下满棋盘时,游戏结束(连成五子的一方获胜,下满棋盘为和棋)。
4、每一次落子成功后,马上判断以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下是否有相同颜色的棋子连成五子,如果连成五子,则游戏结束,输出相应的信息。
5、当游戏一方胜利后显示胜利信息。从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是,⭕代表白棋,●代表黑棋,➕代表格子。

源代码

1.棋子

public class ChessType {    private String chessType;    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    }    public void setY(int y) {        this.y = y;    }    public ChessType() {    }    public String getChessType() {        return chessType;    }    public void setChessType(String chessType) {        this.chessType = chessType;    }}

2.下棋

public class Gobang {    private int size = 1;    private ChessType[][] chessTypes;    private int row;    private int colum;    private int x;    private int y;    //创建一个棋盘    public Gobang(int row,int colum){        this.row = row;        this.colum = colum;        chessTypes = new ChessType[row][colum];    }    //初始化棋盘    public void initChessType(){        for(int i = 0; i< chessTypes.length; i++){            for (int j = 0; j< chessTypes[i].length; j++){                chessTypes[i][j] = new ChessType();                chessTypes[i][j].setChessType("➕");            }        }    }    //下白棋    public void setWhiteChess(int x,int y){        chessTypes[x][y].setChessType("⭕");    }    //下黑棋    public void setBlackChess(int x,int y){        chessTypes[x][y].setChessType("●");    }   //判断是否胜利        public boolean checkWin(int i,int j) {            // TODO Auto-generated method stub            boolean flag = false;            //判断纵向是否有五个棋子是相同的颜色            int count1 = 1;//相同颜色棋子的个数            String color = chessTypes[i][j].getChessType(); //刚下的棋子的颜色            int a = 1;  //棋子索引的增量            while((i+a)<row && color == chessTypes[i+a][j].getChessType()){                count1++;                a++;            }            a = 1;            while((i-a)>=0 && color == chessTypes[i-a][j].getChessType()){                count1++;                a++;            }            if(count1 >= 5){                flag = true;            }            //判断纵向是否有五个棋子是相同的颜色            int count2 = 1;            a = 1;            while((j+a)<colum && color == chessTypes[i][j+a].getChessType()){                count2++;                a++;            }            a = 1;            while((j-a)>=0 && color == chessTypes[i][j-a].getChessType()){                count2++;                a++;            }            if(count2 >= 5){                flag = true;            }            //右上    左下 是否有五个棋子是相同的颜色            int count3 = 1;            a = 1;            while((i+a)<row && (j-a)>=0 && color == chessTypes[i+a][j-a].getChessType()){                count3++;                a++;            }            a = 1;            while((i-a)>=0 && (j+a)<colum && color == chessTypes[i-a][j+a].getChessType()){                count3++;                a++;            }            if(count3 >= 5){                flag = true;            }            //左上  右下  是否有五个棋子是相同的颜色            int count4 = 1;            a = 1;            while((i-a)>0 && (j-a)>=0 && color == chessTypes[i-a][j-a].getChessType()){                count4++;                a++;            }            a = 1;            while((i+a)<row && (j+a)<colum && color == chessTypes[i+a][j+a].getChessType()){                count4++;                a++;            }            if(count4 >= 5){                flag = true;            }            return flag;        }        //落子后打印棋盘    public void print(){        for(int i = 0; i< chessTypes.length; i++){            for (int j = 0; j< chessTypes[i].length; j++){                System.out.print(chessTypes[i][j].getChessType());            }            System.out.println();        }    }}

3.测试

** * @author hudongsheng * @date 2020/10/29 - 9:27 */public class Test {    public static void main(String[] args) {        boolean flag = true;        int x;        int y;        Gobang gobang = new Gobang(10,10);        Scanner scanner = new Scanner(System.in);        gobang.initChessType();        //下棋        System.out.println("黑棋执先");        while (true){            gobang.print();            System.out.println("请输入下黑棋的坐标:");            x = scanner.nextInt();            y = scanner.nextInt();            gobang.setBlackChess(x,y);            if(gobang.checkWin(x,y)){                gobang.print();                System.out.println("黑棋胜!");                break;            }            gobang.print();            System.out.println("请输入下白棋的坐标:");            x = scanner.nextInt();            y = scanner.nextInt();            gobang.setWhiteChess(x,y);            if(gobang.checkWin(x,y)){                gobang.print();                System.out.println("白棋胜!");                break;            }        }    }}

以上就是关于“Java怎么实现简单无界面五子棋”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Java怎么实现简单无界面五子棋

本文链接: https://www.lsjlt.com/news/328624.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现简单无界面五子棋
    本文项目为大家分享了Java实现无界面五子棋的具体代码,供大家参考,具体内容如下 项目介绍: 本次设计是基于知识点Java类和对象以及数组开发的一个小型五子棋游戏程序。游戏开始时,选...
    99+
    2022-11-13
  • Java怎么实现简单无界面五子棋
    这篇“Java怎么实现简单无界面五子棋”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么实现简单无界面五子棋”文章吧...
    99+
    2023-06-30
  • Java怎么实现简单的五子棋游戏
    本文小编为大家详细介绍“Java怎么实现简单的五子棋游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现简单的五子棋游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。项目结构这个是在网上找的资源,...
    99+
    2023-06-30
  • java怎么实现简单五子棋小游戏
    本篇文章为大家展示了java怎么实现简单五子棋小游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。讲解五子棋,实际上就是用一个数组来实现的。没有其他很复杂的结构。首先我们制作五子棋,先要有一个棋盘。...
    99+
    2023-06-26
  • Java实现小程序简单五子棋
    本程序适用于java初学者巩固类与对象、事件响应、awt包中各种工具的相关概念以及对逻辑能力的锻炼 需要注意的有: ①要加入java界面的重绘(基本原则) ②由...
    99+
    2022-11-12
  • java实现简单的五子棋游戏
    目录一、主要界面二、功能概况三、代码部分四、部分效果展示本文实例为大家分享了java实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 一、主要界面 1、登录界面;2、游戏选择界...
    99+
    2022-11-13
  • java swing怎么实现简单的五子棋游戏
    这篇文章将为大家详细讲解有关java swing怎么实现简单的五子棋游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用java swing写的一个简单的五子棋游戏。下面是Main.java。packag...
    99+
    2023-06-06
  • java实现简单五子棋小游戏(1)
    本文实例为大家分享了java实现简单五子棋小游戏的具体代码,供大家参考,具体内容如下 讲解 五子棋,实际上就是用一个数组来实现的。没有其他很复杂的结构。首先我们制作五子棋,先要有一个...
    99+
    2022-11-12
  • java实现简单五子棋小游戏(2)
    本文实例为大家分享了java实现简单五子棋小游戏游戏的具体代码,供大家参考,具体内容如下 讲解 在第一步实现的基础上,添加游戏结束条件。五子棋游戏中的相同棋子如果同时有五个连接成一条...
    99+
    2022-11-12
  • Java怎么实现五子棋单机版
    这篇文章主要介绍了Java怎么实现五子棋单机版的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现五子棋单机版文章都会有所收获,下面我们一起来看看吧。Java五子棋设计流程:创建窗口和设计一个棋盘界面...
    99+
    2023-06-30
  • QT实现简单五子棋游戏
    本文实例为大家分享了QT实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 FIR.pro #----------------------------------------...
    99+
    2022-11-12
  • pygame实现简单五子棋游戏
    本文实例为大家分享了pygame实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 看代码: ①Gomuku2.py: import sys import random impo...
    99+
    2022-11-13
  • jQuery实现简单五子棋游戏
    本文实例为大家分享了jQuery实现五子棋游戏的具体代码,供大家参考,具体内容如下 五子棋小游戏实现的基本思路: 以15*15标准面板为棋盘布局,黑白棋子交替下棋。每落下一枚棋子就判...
    99+
    2022-11-13
  • Java实现五子棋单机版
    本文实例为大家分享了Java实现五子棋单机版的具体代码,供大家参考,具体内容如下 Java五子棋设计流程: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 ...
    99+
    2022-11-13
  • python实现简单五子棋小游戏
    用python实现五子棋简单人机模式的练习过程,供大家参考,具体内容如下 最近在初学python,今天就用自己的一些粗浅理解,来记录一下这几天的python简单人机五子棋游戏的练习,...
    99+
    2022-11-11
  • Java怎么实现简易五子棋小游戏
    这篇文章主要介绍“Java怎么实现简易五子棋小游戏”,在日常操作中,相信很多人在Java怎么实现简易五子棋小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现简易五子棋小游戏”的疑惑有所帮助!...
    99+
    2023-06-30
  • 怎么用C语言实现简单五子棋游戏
    这篇文章主要介绍“怎么用C语言实现简单五子棋游戏”,在日常操作中,相信很多人在怎么用C语言实现简单五子棋游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C语言实现简单五子棋游戏”的疑惑有所帮助!接下来...
    99+
    2023-06-25
  • C语言实现简单五子棋游戏
    在生活中五子棋是一个十分普遍的一款游戏,今天让我们一起来实现这款游戏。 1.初始化棋盘 char ret; //数据存储在一个二维数组中,玩家下去*,电脑下去#. char ...
    99+
    2022-11-12
  • 原生JavaScript实现简单五子棋游戏
    本文实例为大家分享了JavaScript实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 HTML页面 注释都很明确了,大家好好学习。 <!DOCTYPE html&...
    99+
    2022-11-12
  • Java实现简单的五子棋游戏示例代码
    目录项目结构核心代码ArrComparator.java类ChessMap.java类ChessPanel.java类效果图展示项目结构 这个是在网上找的资源,出处记不得了,记录一下...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作