java 编写的带AI功能、人机对战、人人对战等功能五子棋程序 功能非常齐全

今天为大家继续分享五子棋小游戏的开发与制作 449,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!

开发环境 

  开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序

系统框架

  利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。

游戏主要功能

    五子棋游戏简介

五子棋起源于中国,是全国智 竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。

    游戏规则

(1)对局双方各执一色棋子。

(2)空棋盘开局。

(3)黑先、白后,交替下子,每次只能下一子。

(4)棋子下在棋盘的空白点上,棋子下定后不得移动或拿走。

(5)黑方的第一枚棋子必须下在天元点上,即中心交叉点

五子棋对局,执行黑方指定开局、三手可交换、五手两打的规定。整个对局过程中黑方有禁手,白方无禁手。黑方禁手有三三禁手、四四禁手和长连禁手三种。

   人机对战功能 

      本程序的最大特色是有人对战功能,其中人为黑方,机器和白方。机器有较高的AI水平,能打败90%以上的用户。人下完一颗棋后,机器能在1秒时间完成下棋。游戏结束后,系统会给出相关的提示,并且恭喜获胜选手。

    人人对战功能

     人人对战也是我们程序的一个特色,人下一步、其他一个人下一步。直到有一个人获胜为止。

    悔棋功能

       原则上,五子棋不可以悔棋。理论上,任何棋都不可以悔棋。不过现实当中,只要对方答应悔棋了,就可以悔棋。所谓悔棋,意思就是后悔走错了一步棋,想要拿回来从新走一步。可以简单理解为后悔下这一步棋,想反悔重新下。本程序提供了悔棋功能,可以有效的对下的每一步棋进行回溯。

运行效果

1 主界面

2 人机对战

3 人人对战

4 悔棋功能

核心代码

public class MainPanel extends JSplitPane {
    private static MainPanel instance=new MainPanel();

    public static JPanel leftPanel=new JPanel();

    public static MainPanel getInstance() {
        return instance;
    }

    public MainPanel() {
        super(JSplitPane.HORIZONTAL_SPLIT, PausePanel.getInstance(),ButtonPanel.getInstance());

        //设置分割线位置
        this.setDividerLocation(800);
        //禁止中间分隔线移动
        this.setEnabled(false);
    }
}

项目总结

(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。

(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。

(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。

(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性

(5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。

(6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。

猜你喜欢

转载自blog.csdn.net/bangxiecode/article/details/131998803