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. 添加了菜单栏,关于我们 联系我们 打赏 等 还等完善


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么同源策略?

同源 同源指的是URL有相同的协议、主机名和端口号。 同源策略 同源策略指的是浏览器提供的安全功能,非同源的RUL之间不能进行资源交互 跨域 两个非同源之间要进行资源交互就是跨域。 浏览器对跨域请求的拦截 浏览器是允许跨域请求的,但是请求返回…

计算机网络(1):开始

计算机网络(1):开始 计算机网络在信息时代中的作用 21世纪的一些重要特征就是数字化、网络化和信息化,是一个以网络为核心的信息时代。要实现信息化就必须依靠完善的网络,因为网络可以非常迅速地传递信息。因此网络现…

人工智能原理课后习题(考试相关的)

文章目录 问答题知识表示一阶谓词逻辑表示法语义网络表示法 确定推理谓词公式永真和可满足性内容归结演绎推理 不确定推理主观贝叶斯可信度方法证据理论 搜索策略机器学习 问答题 什么是人工智能? 人工智能就是让机器看起来像人类表现出的智能水平一样 人工智能就是…

ElasticSearch单机或集群未授权访问漏洞

漏洞处理方法: 1、可以使用系统防火墙 来做限制只允许ES集群和Server节点的IP来访问漏洞节点的9200端口,其他的全部拒绝。 2、在ES节点上设置用户密码 漏洞现象:直接访问9200端口不需要密码验证 修复过程 2.1 生成认证文件 必须要生成…

Multimodal Chain-of-Thought Reasoning in Language Models语言模型中的多模态思维链推理

Abstract 大型语言模型 (LLM) 通过利用思维链 (CoT) 提示生成中间推理链作为推断答案的基本原理,在复杂推理方面表现出了令人印象深刻的性能。然而,现有的 CoT 研究主要集中在语言情态上。我们提出了 Multimodal-CoT,它将语言(文本…

unity—UGUI 点击按钮后,持续点击空格键会持续出发按钮

在unity开发当中,使用UGUI开发,无论是你代码绑定按钮事件,还是在Inspector窗口直接拖拽绑定的事件,点击按钮事件后,按空格键都会再次执行相关的方法。 默认情况下,Unity将空格键映射为UI按钮的Submit提交操…

Python 爬虫之简单的爬虫(二)

爬取百度热搜榜 文章目录 爬取百度热搜榜前言一、展示哪些东西二、基本流程三、前期数据获取1.引入库2.请求解析获取 四、后期数据处理1.获取保存 总结 前言 每次打开浏览器,我基本上都会看一下百度热搜榜。这篇我就写一下如何获取百度的热搜榜信息吧。 如果到最后…

最近的进展

几天前,我还在老老实实的写着博客,突然晚上睡了一觉,发现左脚的脚踝特别疼,疼的无法直立行走,我想去医院,但是真的没办法走动,我没办法一个人去医院,这两天才好了一点,那…

蓝桥杯time模块常用操作

#导入time模块import time #获取时间戳 start_time time.time () print ( "start_time ", start_time) time .sleep ( 3) end_time time.time () print ( "end_time ", end_time)#计算运行时间 print("运行时间 { :.0f } ".format(end_time …

(已解决)如何使用matplotlib绘制小提琴图

网上很多人使用seaborn绘制小提琴图,本人暂时不想学新的东西,就是懒。本文介绍如何使用matplotlib绘制小提琴图,很多其他博客只是使用最简单的语法,默认小提琴颜色会是蓝色,根本改不了。本文使用了一点高级的用法&…

DataFunSummit:2023年数据平台架构峰会-核心PPT资料下载

一、峰会简介 一、数据平台架构的发展趋势 随着数字化转型的加速,数据平台架构的发展趋势越来越明显。在本次峰会上,与会者讨论了数据平台架构的未来发展方向,包括云原生、微服务、分布式等。这些趋势将对企业数据平台架构产生深远影响&…

springcloud:对象存储组件MinIO

类似于FastDFS/HDFS的一个文件存储服务! SpringBoot整合MinIO实现分布式文件服务! #MinIO简介? Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的…

python requests最全使用指南

文章目录 前言安装 ReuqestsHTTP 简介什么是 HTTPHTTP工作原理HTTP的9种请求方法HTTP状态码 requests 快速上手requests 发起请求的步骤requests 发起请求的两种方式请求参数发起 GET 请求发起 POST 请求 requests 实战登录接口的测试获取用户信息接口的测试对响应结果的处理&a…

如何写出高效的软件测试用例?

编写测试用例的目的就是确保测试过程全面高效、有据可查。所以测试用例非常重要,但要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开 1、什么是测试用例 2、如何…

D35|整数拆分+不同的二叉搜索树

96.不同的二叉搜索树 初始思路: 一开始需要推导递推公式也就是需要找规律: 我认为的规律是 dp[0] 1; dp[1] 1; dp[2] 2; dp[3] dp[2]dp[1]xdp[1]dp[2]5; dp[4] dp[3]dp[2]xdp[1]dp[1]xdp[2]dp[3]; dp[5] dp[4]dp[1]xdp[3]dp[2]xdp[2]dp[3…

Web前端-HTML(初识)

文章目录 1.认识WEB1.1 认识网页,网站1.2 思考 2. 浏览器(了解)2.1 五大浏览器2.2 查看浏览器占有的市场份额 3. Web标准(重点)3.1 Web 标准构成结构表现行为 1.认识WEB 1.1 认识网页,网站 网页主要由文字…

2024年手把手带你安装fl studio for mac 21.2.2.3470图文激活教程

音乐在人们心中的地位日益增高,近几年音乐选秀的节目更是层出不穷,喜爱音乐,创作音乐的朋友们也是越来越多,音乐的类型有很多,好比古典,流行,摇滚等等。对新手友好程度基本上在首位,…

【数据结构】八大排序之直接插入排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 一.直接插入排序简介及思路 直接插入排序(Straight Insertion Sort)是一种简单直观的插入排序算法. 它的基本操作是: 将一个数据插入到已经排好的有序表中,从而得到一个新的,数…

代码评审——静态map初始化并赋值问题

问题描述&#xff1a; 在程序开发过程中&#xff0c;经常使用到Map来进行数据的处理。但在开发过程中&#xff0c;当使用静态Map时&#xff0c;初始化数据会存在一些危险的情况。 可以参考如下示例代码&#xff1a; public static Map<String,String> staticMap new H…