Java五子棋全代码-增加了人机对战功能

用Java编写简单的五子棋——人机对战!

前言

2022-02-04,农历正月初四   首先在这祝大家新年快乐。   距离上两个版本的更新已经过去了很久,因为年前工作非常忙,经常熬到凌晨,导致我看大家私信和回复的时间有限,但我会用上厕所摸鱼的宝贵时间仔细查看并回应大家的互动。   那天我看到有同学问我人机对战如何实现,说实话这玩意三言两语很难解释清楚,不如直接写一个让大家看来的直接,所以我没有回答他的问题,而是找时间把这个功能做出来,争取让所有想问这个问题的同学找到答案。   终于来到了年假,招待完亲戚朋友后,脑子里的第一件事就是将这个功能做完展示给大家,博主不才,花了一下午时间干出来,就当我给大家的新年礼物了。   

测试类

import javax.swing.*;

public class Test {
          
   
    public static void main(String[] args) {
          
   
        Object[] objects={
          
   "人人对战","人机对战"};
        int a = JOptionPane.showOptionDialog(null,"请选择游戏模式","请选择",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null, objects, objects[0]);
        System.out.println(a);
        if (a == 0){
          
   
            MyJFrame mj = new MyJFrame();
            mj.myJFrame();
        }else if (a == 1){
          
   
            MyJFrame_AI mjAI = new MyJFrame_AI();
            mjAI.myJFrame();
        }else{
          
   
            System.exit(0);
        }
    }
}

MyJFrame类代码

MyJFrame_AI类代码

结束语

更新

2022-02-04   不放心,又测试了一晚上BUG,果然有问题: 1.修复了悔棋时只能撤回电脑棋子的BUG 2.修复了在特定情况下,电脑方或玩家方胜利没有反应的BUG 3.优化了电脑的权值计算,但还是不太聪明的样子

经验分享 程序员 微信小程序 职场和发展