【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)

您所在的位置:网站首页 五子棋测试用例 【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)

【毕业设计】基于Java的五子棋游戏的设计(源代码+论文)

2024-07-12 17:21| 来源: 网络整理| 查看: 265

简介

五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端和服务器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。

在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。

点此免费下载源码+论文:https://download.csdn.net/download/inchat/87554834

在这里插入图片描述

程序结构说明

通过 Java Application,要实现网络对战,故采用C/S模式编写,程序包含7个独立的类文件-ChessWZQ.java、Group.java、Message.java、Player.java、ServerOneClient.java、Server.java、BoardPanel.java。

其中BoardPanel.java主要负责棋盘的初始化,鼠标事件的处理,以及判断胜负条件。ChessWZQ.java定义了面板上的其他元素,包括玩家列表,标题栏等。也包括了事件处理和人工智能。ServerOneClient.java则负责网络对战的处理。其他的类都是又这3个主类延伸出去的。在具体实现的时候再介绍其作用。见图。

在这里插入图片描述

棋盘及棋子的类

棋盘具体代码如下:

String line = "a b c d e f g h i j k l m n o"; char [] rowNum1 = {'1','2','3','4','5','6','7','8','9'}; char [] rowNum2={'1','0','1','1','1','2','1','3','1','4','1','5'};

这部分为棋盘的边界标识符,是必须要有的。用字符数组存储,最后确定位置放上去即可。

棋盘的绘制:

private static int xp; // 棋子 X坐标 private static int yp; // 棋子Y坐标 public void paint(Graphics gc){ super.paint(gc); //this.setBackground(Color.gray); //this.invalidate(); gc.setColor(Color.blue); //gc.setColor(new Color(255, 255, 240)); //画横向标识符 gc.drawString(line,25,15); // 画竖向标识符 for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3