JAVA实现五子棋小游戏(附源码)

ops/2025/1/19 5:22:11/

在这里插入图片描述
在这里插入图片描述

文章目录

  • 一、设计来源
    • 捡金币闯关小游戏讲解
    • 1.1 主界面
    • 1.2 黑棋胜利界面
    • 1.3 白棋胜利界面
  • 二、效果和源码
    • 2.1 动态效果
    • 2.2 源代码
  • 源码下载
  • 更多优质源码分享

作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/145161039


JAVA实现五子棋小游戏(附源码),五子棋小游戏源码,窗体应用程序五子棋小游戏源码,内置双人对战和AI对战两种模式,黑白对弈,五子连起为胜利。界面风格干净整洁,内容条理清晰。这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接用程序打开,运行Main使用。

一、设计来源

本文章是分类专栏下的【JAVA实战案例
】里面的一篇,专栏里面包括网站,窗体应用程序的源码,技术点解析等案列源码,让你更加熟练掌握JAVA。持续更新中,欢迎大家关注,一起学习交流。

✂ 点击快速进入专栏

捡金币闯关小游戏讲解

游戏规则:

        五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。这一源于中国古代的传统黑白棋种,在现代有多种称谓。在日文里,它被称为连珠;英文中则被称为Gobang

        双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。

  • 注意:棋子聚集容易获胜!!!

1.1 主界面

        五子棋小游戏主界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),游戏分为双人对战和人机对战两种模式,选择模式后,点击棋盘开始下棋。

在这里插入图片描述

1.2 黑棋胜利界面

        黑棋胜利界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),游戏分为双人对战和人机对战两种模式,选择模式后,点击棋盘开始下棋。

在这里插入图片描述

1.3 白棋胜利界面

        白棋胜利界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),游戏分为双人对战和人机对战两种模式,选择模式后,点击棋盘开始下棋。

在这里插入图片描述

二、效果和源码

2.1 动态效果

    这里是完整的效果演示,可在此代码基础上更加完善功能,支持扩展自己的风格,可以删减内容,打造属于自己的五子棋小游戏。

JAVA实现五子棋小游戏(附源码)

2.2 源代码

        这里是部分技术点的代码演示,更多代码,资源文件,见下面的 源码下载 ,里面有所有代码资源和相关说明。或者直接在这里 下载源码,如有其他技术问题,请私信博主,博主看到后第一时间回复。

  • 绘制窗体
JFrame jf = new JFrame();
jf.setTitle("趣味五子棋");
jf.setResizable(false);
Image appIcon = Toolkit.getDefaultToolkit().getImage(FilePath("icon.png"));//窗口图标
jf.setIconImage(appIcon);
jf.setSize(725, 634);
// 设置退出进程的方法
jf.setDefaultCloseOperation(3);
// 设置居中显示
jf.setLocationRelativeTo(null);
  • 获取文件路径1

    当使用相对路径时,Java 会以当前类所在的目录(也就是类的字节码文件所在的目录)作为起始点去查找文件。所以如果txt文件和编译后的.class文件处于同一个目录下,直接写文件名就可以代表相对路径指向该文件了。不过需要注意的是,这种方式在不同的运行环境(比如从命令行运行或者在某些 IDE 中运行)可能会有细微差异,有时可能需要确保工作目录设置正确才能准确找到文件。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Main {public static void main(String[] args) {try {// 相对路径直接写文件名即可(假设同目录下有test.txt文件)String filePath = "test.txt";FileReader fileReader = new FileReader(filePath);BufferedReader bufferedReader = new BufferedReader(fileReader);String line;while ((line = bufferedReader.readLine())!= null) {System.out.println(line);}bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}
}
  • 获取文件路径2

    System.getProperty("user.dir")可以获取到当前 Java 程序运行时所在的用户工作目录。通过这个方式获取的目录路径更明确,然后再使用File.separator(它会根据不同操作系统适配对应的路径分隔符,在 Windows 上是\,在 Linux 和 Mac 上是/)拼接上同目录下的txt文件名,这样组成的路径更具通用性,能在多种运行场景下较准确地定位到同目录下的txt文件,减少因工作目录等因素导致找不到文件的问题。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Main {public static void main(String[] args) {try {// 获取当前用户工作目录String currentDir = System.getProperty("user.dir");// 拼接上同目录下的txt文件名String filePath = currentDir + File.separator + "test.txt";FileReader fileReader = new FileReader(filePath);BufferedReader bufferedReader = new BufferedReader(fileReader);String line;while ((line = bufferedReader.readLine())!= null) {System.out.println(line);}bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}
}

源码下载

注:源码下载在文章头部也可以点击下载,跟这里的是一样的

JAVA实现五子棋小游戏(附源码)点击下载
在这里插入图片描述

更多优质源码分享

  • 【百篇源码模板】html5各行各业官网模板源码下载

  • 【模板源码】html实现酷炫美观的可视化大屏(十种风格示例,附源码)

  • 【VUE系列】VUE3实现个人网站模板源码

  • 【HTML源码】HTML5小游戏源码

  • 【C#实战案例】C# Winform贪吃蛇小游戏源码


--------------- 业精于勤,荒于嬉 ---------------

请添加图片描述

--------------- 行成于思,毁于随 ---------------

     💢 关注博主 带你实现畅游前后端

     🏰 大屏可视化 带你体验酷炫大屏

     💯 神秘个人简介 带你体验不一样得介绍

     💘 为爱表白 为你那个TA,体验别致的浪漫惊喜

     🎀 酷炫邀请函 带你体验高大上得邀请


     ① 🉑提供云服务部署(有自己的阿里云);
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请 留言(私信或评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/145161039(防止抄袭,原文地址不可删除)


http://www.ppmy.cn/ops/151282.html

相关文章

python——句柄

一、概念 句柄指的是操作系统为了标识和访问对象而提供的一个标识符,在操作系统中,每个对象都有一个唯一的句柄,通过句柄可以访问对象的属性和方法。例如文件、进程、窗口等都有句柄。在编程中,可以通过句柄来操作这些对象&#x…

MyBatis-Plus6--MyBatis中的分页插件

1.分页插件 MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 2.默认分页 a. 添加配置类 方式一:直接添加一个配置类 package com.qcby.mybatisPlusTest.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.…

文件下载时利用redis的队列模式顺序下载文件,防止多文件任务下载导致OOM

1、controller层控制 Resourceprivate RedissonClient redissonClient;Slf4j Service public class CustomerSettlementExportServiceImpl implements ICustomerSettlementExportService { /*** 文件加入队列顺序导出** param pubFileExportList 参数* return 结果*/public Aja…

WebSocket 实时聊天

源码 源码包括: 源码地址 : websocket-gitee仓库websocket 聊天室,前后端代码websocket 查看历史消息采用springsecurity作为鉴权前端代码在 resources static 下,好处:打开springboot端口就是改页面: – 例…

【概率论与数理统计】第三章 多维随机变量及其分布(1)

1 多维随机变量的概念 1.1 二维随机变量及其分布函数 在实际问题中,通常需要多个随机变量才能较好地描述某一随机现象;例如,打靶时,弹着点是由两个随机变量所构成的(横、纵坐标);飞机重心在空…

linux下的线程

一、pthread 线程 线程可以说是轻量级的进程,一般是一个进程中的多个任务。 进程:系统中的最小资源分配单元 线程:系统中最小执行单元 二、线程的特征 1、共享资源 2、效率高30% 3.使用第三方库(头文件加pthread.h 编译时添加 -lpthre…

视频本地化的特点

视频本地化是一个多方面的过程,涉及为特定的语言和文化市场调整视听内容。当由本地专业人员处理时,这个过程达到了自动化工具或非本地专家难以达到的深度和真实性水平。母语人士对语言、文化背景和观众期望有着细致入微的理解,这对于创建与不…

开始使用Panuon开源界面库环境配置并手写VS2019高仿界面

1. Panuon环境配置 1.1. 通过Nuget 安装 Panuon.WPF.UI1.2. xaml引用命名空间1.3. using Panuon.WPF.UI; 2. VS2019 view 2.1. 设置窗体尺寸和title2.2. 添加静态资源 2.2.1. 什么是静态资源 2.3. 主Grid 2.3.1. 盒子模型2.3.2. 嵌套布局 3. 总结 1. Panuon环境配置 1.1. 通…