当前位置: 首页 > news >正文

【Python】Python实现五子棋游戏(带可视化界面)【独一无二】

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


Python实现五子棋游戏(带可视化界面)【独一无二】


目录

  • Python实现五子棋游戏(带可视化界面)【独一无二】
  • 功能展示
    • 1)查看游戏规则
    • 2)提示玩家1开始走棋
    • 3)提示玩家2走棋
    • 4)提示玩家1走棋
    • 5)玩家1胜利
    • 6)重新开始
  • 二、部分代码
  • 👇👇👇关注公众号,回复 “五子棋” 获取源码👇👇👇


功能展示

1)查看游戏规则

点击右侧阅读游戏规则按钮,可查看游戏规则。

源码关注【测试开发自动化】公众号,回复“五子棋”获取。

在这里插入图片描述

2)提示玩家1开始走棋

游戏开始时,玩家1开始走棋子。
在这里插入图片描述

3)提示玩家2走棋

玩家1走完以后,玩家2开始走棋子。
在这里插入图片描述

4)提示玩家1走棋

玩家2走完以后,玩家1开始走棋子。
在这里插入图片描述

5)玩家1胜利

当满足游戏规则时,提示对应的玩家胜利,对应玩家的分数+1。
在这里插入图片描述

源码关注【测试开发自动化】公众号,回复“五子棋”获取。

6)重新开始

点击重新开始按钮,所有玩家分数清0,重新开始游戏。
在这里插入图片描述


二、部分代码

部分代码如下:

源码关注【测试开发自动化】公众号,回复“五子棋”获取。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox, QVBoxLayout, QHBoxLayout, QLabel
from PyQt5.QtGui import QPainter, QPen, QColor
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont, QPaletteGRID_SIZE = 30
BOARD_SIZE = 15class FiveInARow(QWidget):def __init__(self):super().__init__()self.board = [[0 for _ in range(BOARD_SIZE)] for _ in range(BOARD_SIZE)]self.current_player = 1self.scores = {1: 0, 2: 0}self.initUI()def initUI(self):layout = QHBoxLayout()# Boardself.board_widget = QWidget(self)self.board_widget.setFixedSize(GRID_SIZE * BOARD_SIZE, GRID_SIZE * BOARD_SIZE)layout.addWidget(self.board_widget)# Sidebar layoutsidebar_layout = QVBoxLayout()self.title_label = QLabel("欢迎进入开心五子棋")sidebar_layout.addWidget(self.title_label)rules_btn = QPushButton("阅读游戏规则", self)rules_btn.clicked.connect(self.show_rules)sidebar_layout.insertWidget(1, rules_btn) 

👇👇👇关注公众号,回复 “五子棋” 获取源码👇👇👇

相关文章:

【Python】Python实现五子棋游戏(带可视化界面)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…...

用Maloja创建音乐收听统计数据

什么是 Maloja ? Maloja 是简单的自托管音乐记录数据库,用于创建个人收听统计数据。没有推荐,没有社交网络,没有废话。Maloja 是一个跟踪您一段时间内的收听习惯的工具。 官方演示站点:https://maloja.krateng.ch/ 导出…...

GRU门控循环单元

GRU 视频链接 https://www.bilibili.com/video/BV1Pk4y177Xg?p23&spm_id_frompageDriver&vd_source3b42b36e44d271f58e90f86679d77db7Zt—更新门 Rt—重置门 控制保存之前一层信息多,还是保留当前神经元得到的隐藏层的信息多。 Bi-GRU GRU比LSTM参数少 …...

使用Puppeteer构建博客内容的自动标签生成器

导语 标签是一种用于描述和分类博客内容的元数据,它可以帮助读者快速找到感兴趣的主题,也可以提高博客的搜索引擎优化(SEO)。然而,手动为每篇博客文章添加合适的标签是一件费时费力的工作,有时候也容易遗漏…...

大数据分析案例-基于随机森林算法构建二手房价格预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

SLAM从入门到精通(ROS安装)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 ROS科研上面用的多,实际生产其实用的也不少。它本身还是很好的应用框架。当然,它对于很多初学的同学来说还是很友好的。学完…...

Linux 下spi设备驱动

参考: Linux kernel 有关 spi 设备树参数解析 Linux kernel 有关 spi 设备树参数解析 - 走看看 Linux SPI驱动框架(1)——核心层 Linux SPI驱动框架(1)——核心层_linux spi驱动模型_绍兴小贵宁的博客-CSDN博客 Linux SPI驱动框架(2)——控制器驱动层 Linux SPI驱…...

一:图形的位置和尺寸测量

绘制的基本要素: onDraw(Canvas):是用来重写的 Canvas:实际执行绘制的 Paint:调整粗细和颜色等 坐标系:以屏幕左上角为原点,向右、向下为正向数值的坐标系 尺寸单位:在绘制过程中所有的尺寸单位都是px…...

rtthread下基于spi device架构MCP25625驱动

1.CAN驱动架构 由于采用了RTT的spi device架构,不能再随心所遇的编写CAN驱动 了,之前内核虽然采用了RTT内核,但是驱动并没有严格严格按RTT推荐的架构来做,这次不同了,上次是因为4个MCP25625挂在了4路独立的SPI总线上&…...

Open3D 点云投影到圆柱(python详细过程版)

目录 一、算法原理1、圆柱方程2、投影原理二、代码实现三、结果展示1、原始点云2、投影结果四、参考链接一、算法原理 1、圆柱方程 圆柱方程可以表示为: ( x − x...

Unity实战(10):如何将某个相机的画面做成贴图(RenderTexture)

目录 前言 一、创建物体、材质与相机 二、将RenderTexture赋给材质 2.1 修改rt1的一些属性 2.2 将rtMat1材质的shader改为Unlit/Texture,并将rt1赋给这个材质 三、效果呈现 前言 本文记录如何将某个相机的画面做成贴图,即游戏某些场景中小地图做法…...

STL- 函数对象

1 函数对象 1.1 函数对象概念 概念: 重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 1.2 函数对象…...

前端 JS 经典:上传文件

重点&#xff1a;multipart/form-data 后端识别上传类型必填 1. form 表单上传 <!-- enctype"multipart/form-data" 这个必填 --> <form action"http://127.0.0.1:8080/users/avatar" method"post" enctype"multipart/form-data…...

数据分析面试

数据分析相关的职位面试可以拆解为以下三块&#xff1a; 1&#xff09;技术基础 2&#xff09;项目经验提问 3&#xff09;业务问题 【数据分析与挖掘&#xff08;二&#xff09;】面试题汇总(附答案)_数据分析面试常见问题及答案_youthlost的博客-CSDN博客 我裸辞去面试p…...

Open3D(C++) 整体最小二乘拟合平面

目录 一、算法原理1、算法过程2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 1、算法过程 最小二乘拟合平面认为点云数据系数矩阵不存在误差,然而由于观测条件的限制,观测向量、系数矩阵都有可能存在误差,那么最小二乘方法就不再是最…...

【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL源码分析

一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很…...

MT8788安卓核心板详细参数_MTK安卓主板开发板智能通讯模块

MT8788安卓核心板集成了一个高效的12nm SoC&#xff0c;内置4G LTE调制解调器&#xff0c;将强大的硬件与到处可连接的全面功能设计相结合。 MTK8788智能终端具备许多功能&#xff0c;包括4G、2.4G/5G双频WiFi、蓝牙4.2BLE、2.5W功放、USB、mipi屏接口、三路摄像头接口、GPS和…...

C++String模拟实现

实际上string没什么可讲&#xff0c;主要是对string函数的运用与理解&#xff0c;与其写库函数如何用&#xff0c;不如直接去看c库函数来得好。 以下是自己实现string功能函数。但没对string库中的全部函数进行实现&#xff0c;而是实现主要使用的。 .cpp内是用来测试函数功能…...

Java 设置免登录请求接口被拦截问题

1、在设置免登录时&#xff0c;前端将请求的路由添加到白名单后&#xff0c;请求接口还是被拦截到了&#xff0c;将请求接口也设置后还是会被拦截跳转到登录页面 通过JAVA 注解 Anonymous 进行设置匿名访问就可以了...

(其他) 剑指 Offer 67. 把字符串转换成整数 ——【Leetcode每日一题】

❓ 剑指 Offer 67. 把字符串转换成整数 难度&#xff1a;中等 写一个函数 StrToInt&#xff0c;实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先&#xff0c;该函数会根据需要丢弃无用的开头空格字符&#xff0c;直到寻找到第一个非空格的字符为…...

【MySQL】一文详解MySQL,从基础概念到调优

作者简介 前言 博主之前写过一个MySQL的系列&#xff0c;从基础概念、SQL到底层原理、优化&#xff0c;专栏地址&#xff1a; https://blog.csdn.net/joker_zjn/category_12305262.html?spm1001.2014.3001.5482 本文会是这个系列的清单&#xff0c;拉通来聊一聊Mysql从基础概…...

机器学习——boosting之提升树

提升树和adaboost基本流程是相似的 我看到提升树的时候&#xff0c;懵了 这…跟adaboost有啥区别&#xff1f;&#xff1f;&#xff1f; 直到看到有个up主说了&#xff0c;我才稍微懂 相当于&#xff0c;我在adaboost里的弱分类器&#xff0c;换成CART决策树就好了呗&#xff1…...

解决Spring Boot启动错误的技术指南

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

使用Spring Security保障你的Web应用安全

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

PostgreSQL本地化

本地化的概念 本地化的目的是支持不同国家、地区的语言特性、规则。比如拥有本地化支持后&#xff0c;可以使用支持汉语、法语、日语等等的字符集。除了字符集以外&#xff0c;还有字符排序规则和其他语言相关规则的支持&#xff0c;例如我们知道(‘a’,‘b’)该如何排序&…...

MySQL——日志

日志的作用 1.用来排错 2.用来做数据分析 3.了解程序的运行情况&#xff0c;是否健康--》了解MySQL的性能&#xff0c;运行情况 分类 mysql很多有类型的日志&#xff0c;按照组件划分的话&#xff0c;可以分为 服务层日志 和 存储引擎层日志 &#xff1a; - 服务层…...

玩转Mysql系列 - 第18篇:流程控制语句(高手进阶)

这是Mysql系列第18篇。 环境&#xff1a;mysql5.7.25&#xff0c;cmd命令中进行演示。 代码中被[]包含的表示可选&#xff0c;|符号分开的表示可选其一。 上一篇存储过程&自定义函数&#xff0c;对存储过程和自定义函数做了一个简单的介绍&#xff0c;但是如何能够写出复…...

LED屏幕电流驱动设计原理

LED电子显示屏作为户外最大的应用产品&#xff0c;是大型娱乐&#xff0c;体育赛事&#xff0c;广场大屏幕等场所不可或缺的产品&#xff0c;从单双色简单的文字展示到今天的高清全彩&#xff0c;显示屏的技术一直都在进步&#xff0c;全球80%的LED电子显示屏皆产自于中国。显示…...

shell知识点复习

1、shell能做什么&#xff08; Shell可以做任何事(一切取决于业务需求) &#xff09; 自动化批量系统初始化程序 自动化批量软件部署程序 应用管理程序 日志分析处理程序 自动化备份恢复程序 自动化管理程序 自动化信息采集及监控程序 配合Zabbix信息采集 自动化扩容 2、获取当…...

【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制

随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开…...

做网站360好还是百度好/北大青鸟软件开发培训学费多少

项目需求...直接上码ORM文件忘记说了&#xff0c;mysqldb的配置settings文件&#xff0c;要放在ORM文件同级目录下。# -*- coding:utf-8 -*-import os, sysprint(os.path.dirname(os.path.abspath(__file__)))sys.path.append(os.path.dirname(os.path.abspath(__file__)))from…...

唐山网站建设互众动力/seo外包公司多少钱

个人原创&#xff0c;欢迎转载&#xff0c;转载请注明原文地址http://blog.csdn.net/bill_man从本篇文章开始&#xff0c;将分析cocos2D-X 3.0源代码&#xff0c;第一部分是从cocos2D-X学习OpenGL&#xff0c;也就是分析cocos2D-X 3.0的渲染代码&#xff0c;本篇首先介绍cocos2…...

深圳网站建设51duoshi/关联词有哪些四年级

课程结束了&#xff0c;老师要求我们每人写一篇关于软件工程课建议的博客&#xff0c;现在&#xff0c;我就这学期软件工程课程浅谈一下自己的感受&#xff1a; 1、软件工程课程对于我们来说是一个必备的课程&#xff0c;这一整个学期&#xff0c;我们都是以小团队的形式完成课…...

律师网站建设/福建键seo排名

&#xff08;《软件工艺》一书即将由人民邮电出版社出版&#xff0c;详情参见http://www.china-pub.com/computers/subject/huodong/ry12.23/tyzt.htm。本文是作者Pete McBreen专门为中译本所作的序言。&#xff09;中译本序 看见“软件工艺”的思想在全世界得到日益广泛的认同…...

关于二手书的网站开发ppt/百度sem运营

很多企业都会使用Linux系统&#xff0c;审计Linux系统日志可以提供有关网络事件的重要信息。高效查看Linux系统日志对工作而言十分重要&#xff0c;以下是常用命令# uname -a # 查看内核/操作系统/CPU信息# cat /etc/issue# cat /etc/redhat-release # 查看操作系统版本# cat /…...

电子商务网站建设实训步骤/整站优化深圳

到底是根据什么来区分类中重载的方法&#xff1f;A&#xff1a;不同的返回值类型。B&#xff1a;不同的参数类型。C&#xff1a;不同的访问权限。D&#xff1a;不同的参数名称。解析&#xff1a;Step1.我们先在DifferentiateReload类中创建一个无参无返回值的say()方法package …...