新闻详情

新闻详情

首页 / 资讯中心 / 详情

python+pygame实现五子棋人机对战之四

发布时间:2026/11/7 13:58:02来源:尧图网络
python+pygame实现五子棋人机对战之四
前文pythonpygame实现五子棋人机对战之一pythonpygame实现五子棋人机对战之二pythonpygame实现五子棋人机对战之三已经将五子棋电脑应手的内容简要描述一下现在就剩下程序如何判断输赢胜负这个问题了。我们想象一下这个场景当某方落子时就会触发一下这个测试看水平方向垂直方向斜向上方向及反斜线方向上是否可以形成连五若是就胜否则继续游戏。五、用程序处理起来就是不停的循环。该内容属于通用的类放在utils.py中。from params import Params rows int(Params.get(ROWS)) blocksize int(Params.get(blockSize)) width int(Params.get(WIDTH)) height int(Params.get(HEIGHT)) # 判断是否五子连线 def checkwin(sourcechesses,posx,posy): # x轴方向 num_x 0 left posx - blocksize while( left 0 and sourcechesses.count((left,posy)) 1 ): num_x 1 left - blocksize right posx blocksize while( right width and sourcechesses.count((right,posy)) 1 ): num_x 1 right blocksize num_x 1 # y轴方向 num_y 0 up posy - blocksize while( up 0 and sourcechesses.count((posx,up)) 1): num_y 1 up - blocksize down posy blocksize while( down height and sourcechesses.count((posx,down)) 1): num_y 1 down blocksize num_y 1 # 对角线 左上到右下 num_135 0 down135x posx blocksize down135y posy blocksize while( down135x width and down135y height and sourcechesses.count((down135x,down135y)) 1 ): num_135 1 down135y blocksize down135x blocksize up315x posx - blocksize up315y posy - blocksize while( up315x 0 and up315y 0 and sourcechesses.count((up315x,up315y)) 1 ): num_135 1 up315x - blocksize up315y - blocksize num_135 1 # 对角线 左下到右上 num_45 0 up45x posx blocksize up45y posy - blocksize while( up45x width and up45y 0 and sourcechesses.count((up45x,up45y)) 1 ): num_45 1 up45y - blocksize up45x blocksize down225x posx - blocksize down225y posy blocksize while( down225x 0 and down225y height and sourcechesses.count((down225x,down225y)) 1): num_45 1 down225x - blocksize down225y blocksize num_45 1 if num_x 5 or num_y 5 or num_135 5 or num_45 5: return True return False以x轴方向为例# x轴方向 num_x 0 left posx - blocksize while( left 0 and sourcechesses.count((left,posy)) 1 ): num_x 1 left - blocksize right posx blocksize while( right width and sourcechesses.count((right,posy)) 1 ): num_x 1 right blocksize num_x 1num_x是变量记录该方向上有几个同色棋子相连。由于判断是基于当前下的棋子所以参数有sourcechesses,posx,posy。sourcechesses就是在main中定义的white_positions和black_positions当前下的啥颜色的棋就到对于的**_positions去找而**_positions保存的就是棋子的转换后的位置pointtrans详情见系列文章一在集合中查找某元素是否存在有很多内置方法或自己写方法本项目用的是count内置函数。x轴方向先往左找直到最左边能找到同色棋子再往右找直至最右边能找到同色棋子。加起来之和再加上当前的棋子得到的就是该方向上同色棋子的数量。其他三个方向逻辑雷同不再赘述。剩下的就是在main中把这些逻辑填空上去就可以了。待续pythonpygame实现五子棋人机对战之五
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/7 13:27:02

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/7 0:39:20

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/7 6:36:21

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/6 17:25:36

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/6 14:29:05

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/6 14:29:07

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉