java期末大作业(星辰对决--五子棋AI)

星辰闪耀星空棋,璀璨洒满宇宙间。
Java编织智慧谱,FindYou翩舞奇妙规。
黑白对弈纵横展,人机较量激荡心。
星光指引胜利路,创造奇迹指尖舞。


效果图:

日志:

2023/12/17 

今天去网上学了一下AI下五子棋的算法,有 极小化极大算法(Minimax) Alpha-Beta剪枝算法,这两个算法看视频理解起来还是可以的 但是写代码的时候 脑子还是跟不上,然后就写了一个简单的估值的方法,虽然听起来简单,但是代码是真的多,调代码还不好调..... 但是它的胜率还是可以的了,和他下了10盘,就赢了1局 但是还是比较菜的 后期再去跟着别人学一下更好的算法吧

bug:

黑子在竖着的时候出现5个棋的时候 并没有显示胜利,这是什么情况......


2023/12/18 0:03 黑子竖着的时候出现5个子已被修复

bug: 队友测试出来的bug:

  1. 当棋子下的没有规律且分散时,人机的棋子也没有规律(算法的问题)
  2. 当我方连成三枚棋子时,无论有没有已经被堵住一边,都会去堵,所有可以根据这个bug获得胜利,即落下的棋子满足刚好连成两对三个棋子,其中一个两边都没有白棋,即有概率获胜

增加的功能:

  1. 对游戏添加了落子的声音,也就是当落子的时候,会播放下载好的音频,注意需要把mp3转换为wav的形式,在线转换网站:MP3轉WAV轉換器。在线自由 — Convertio 添加音频参考的链接:https://blog.csdn.net/qq_51901495/article/details/122385014
  2. 添加了菜单栏,关于我们 联系我们 打赏 等 还等完善


2023/12/19:

问题:

  1. 被队友嘲笑 写的五子棋太笨了(算法的问题)
  2. 对游戏的开始还需要优化 

        3. 悔棋的时候,人机对战的时候,点了一下,却悔了2步

        4. 显示落子的顺序也出现了问题 bug是越改越多啊

        5:下过的棋,再次下的时候,会出现下棋的声音(加个特判 就可以修复)

        6: 人和ai下棋的时候,人先手的时候,出现的是白棋,但是应该是黑棋

准备增加的功能:

  1. 另外一个队友开始写 登录注册 页面

更改:

之前ai下棋无规律的bug是因为 当用户下棋下的乱的时候, 我用的是随机去下的 这样胜率比较小 ,去网上查了一下,加一个position[][]  让ai下棋下的不那么随机 要求集中 这样ai的胜率会更大点

算法的改进:

用估值的方法,先把每个情况都给模拟出来,比如:连五、活四、冲四...... 然后给其每个都进行赋值对应的分数,然后枚举每个还没下棋的位置,看看这个位置,要是别人下和自己下带来的分数是多大,把全部情况都给插入到数组里面 然后返回的是最大的(防御分数+威胁分数) 这个最大的就是ai将要下的 枚举的时候枚举八个方向,以当前这个点往这八个方向扩,用字符串把这个信息给存起来,参考算法博客:Java 五子棋AI 算法及实现 详细解析-CSDN博客

增加:
增加了胜利或者是失败之后的 声音 和 背景图片 ,但是点击退出的时候,整个程序都退出了,这是怎么回事?


2023/12/21:

准备新增:(已经实现)

把对手或者是自己胜利的话,棋盘上要连上一个线,让别人或者是自己清楚自己哪里赢了,自己哪里输了  输 不丢人 怕 才丢人

实现:
1:当人和ai下棋胜利时候,会出来背景图片,以及背景音乐,胜利的号角

当人和ai下棋 下输的时候会出现以下的背景图片以及背景音乐,失败

bug修复:
1.如果胜利或者是输的时候,会弹出来一个页面 让用户明白是赢了还是失败了,但是一点击就没了,原因是setDefaultCloseOperation里面的参数设置错了,现在已经修复

2.显示落子的顺序也已经修复

犹豫的新增:

是否增加背景音乐,背景音乐声音太吵,会不会影响下棋时候的思路,而且落子的声音也被盖住了 

解决方法1:

在菜单里面加一个设置(太麻烦了) 可以关闭音乐

解决方法2:

把背景音乐的音量调的小一点,把落子的声音大一点(感觉这个还行)


2023/12/27

bug:

上一局的结果照成的连线会对下一局照成干扰.

修复:

重新开始游戏之后,把画线的起点startX startY和终点endX endY全部置为0就可以清空了;


2023/12/31

增加:

队友实现了登录界面的完成,以及对登录账号和密码的检测


2024/1/7

增加:

背景音乐的设置 可开 可关


2014/1/10:

增加:

数据的存储由本地存储改为 操作云端服务器里面的数据库,实现持久化存储


需要源码的话 私信哈 

  • 85
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FindYou.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值