python3游戏GUI--开心打地鼠游戏By:PyQt5(附下载地址)

文章目录

  • 一.前言
  • 二.游戏预览
    • 1.启动
    • 2.开始游戏
    • 3.游戏结束
    • 4.排行榜
  • 三.游戏思路
  • 四.总结


一.前言

第一次用PyQt做游戏,有点小紧张呢。本次使用PyQt5制作一款简单的打地鼠游戏,支持基本游戏玩法、排行榜等页面,快来看看吧~

二.游戏预览

1.启动

游戏启动后会加载游戏场景,场景中是5x5的树洞,加载背景音乐,欢快的背景音乐陪我们度过游戏时光。
在这里插入图片描述

2.开始游戏

点击开始游戏按钮后,地鼠随机地从树洞钻出来,玩家使用鼠标控制的锤子,捶打地鼠,若打中当前地鼠,则分数+1系统自动发出打中的“爆炸”声,否则逃离地鼠个数+1,直到游戏结束。
在这里插入图片描述

3.游戏结束

游戏结束后系统会邀请玩家留下姓名记录到排行榜中
在这里插入图片描述

4.排行榜

本排行榜会自动记录所有提交过分数的玩家,若玩家姓名相同,则刷新排行榜上分数,排行榜分数为获得分数降序排序。
在这里插入图片描述

三.游戏思路

游戏整体UI是使用PyQt5制作的,通过使用不同贴图展示每个树洞的状态,设置定时器,改变鼠标当前样式,完成打地鼠。本次开发主要耗时部分在于找素材以及指定游戏思路,整体代码量不高,但是还是使用了组件的思想,尽最大程度上复用现有的代码,比如场景里需要加载5X5=25个树洞,总不能我们一个一个自己画吧?这时候我们仅需自定义一个树洞类然后循环实例化到网格布局中即可。本次播放的声音分两种,分别使用了QMediaplayer和pygame播放,避免了当播放A音频时中断去播放B音频。

四.总结

本次使用PyQt5开发了一款开心打地鼠游戏,代码主要参考了Pygame实战:这款“欢乐打地鼠”小游戏让几亿人“上瘾“?不玩绝对是你的损失。游戏已经打包,放在了:这里。大家自取哈~

在这里插入图片描述

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

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

相关文章

Bytebase 签约 PropertyGuru,助力东南亚最大地产科技平台跨国多地数据库变更自动化

PropertyGuru 是东南亚最大的在线房地产平台,于2022年于纽交所📈上市,总部位于新加坡 🇸🇬。公司利用先进的技术,建立了一个连接多方的在线房产平台,一方面为中介代理商、开发商、银行等机构提供…

Kimi是什么?免费Kimi chat介绍

1. Kimi是什么? Kimi是由月之暗面科技有限公司(Moonshot AI)开发的人工智能助手,专注于提供高质量的对话和信息处理服务。 月之暗面公司创立于2023年3月,创始团队核心成员参与了Google Gemini、Google Bard、盘古NLP、…

文献学习-22-Surgical-VQLA:具有门控视觉语言嵌入的转换器,用于机器人手术中的视觉问题本地化回答

Authors: Long Bai1† , Mobarakol Islam2† , Lalithkumar Seenivasan3 and Hongliang Ren1,3,4∗ , Senior Member, IEEE Source: 2023 IEEE International Conference on Robotics and Automation (ICRA 2023) May 29 - June 2, 2023. London, UK Abstract: 尽管有计算机辅…

Jira 软件缺陷管理 (软件测试)

内容来源:总结黑马课程 1.软件缺陷信息 2.创建缺陷问题 2.1 缺陷模板 2.2 创建缺陷问题模板

HarmonyOS系统开发ArkTS常用组件编程技巧

目录 样式复用 Styles方法 Extend方法 组件编程在使用过程中有很多技巧,在这里分享样式复用技巧和UI结构复用技巧。 样式复用 我们观察下面的代码,在代码中很多重复行的代码,如: Image 的 .width(30).height(30) 是重复的But…

150 Linux C++ 通讯架构实战5 nginx源码学习方法,终端和进程的关系,信号的复习,fork复习,守护进程复习

一 nginx源码学习方法 泛读 nginx 中的一些重要代码 把 nginx中最重要的代码提取出来作为我们自己知识库的一部分。 二 终端和进程的关系 pts 是虚拟终端的意思,也就是我们用的xshell之类的链接linux的终端 1.终端 , shell , bash 的关系 在…

【链表】Leetcode 146. LRU 缓存【中等】

LRU 缓存 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否…

CTF题型 Python中pickle反序列化进阶利用例题opache绕过

CTF题型 pickle反序列化进阶&例题&opache绕过 文章目录 CTF题型 pickle反序列化进阶&例题&opache绕过一.基础的pickle反序列化例题1.[HFCTF 2021 Final]easyflask2.[0xgame 2023 Notebook]3.[[HZNUCTF 2023 preliminary\]pickle](https://www.nssctf.cn/proble…

大数据系列 | 使用Nginx作为数据采集接收端

大数据系列 | 使用Nginx作为数据采集接收端 1. 编译安装Nginx2. 通过程序对Nginx上传日志 1. 编译安装Nginx Nginx依赖包安装: rootnginx:~# apt install -y vim lua-devel gcc gcc-c autoconf automake zlib zlib-devel openssl openssl-devel gcc zlib1g-dev lib…

蓝桥杯java---螺旋矩阵

解题思路&#xff1a; int [][] arr new int[n][m];int i 0, j -1, temp 1;while (n * m > 0){for (int p 0; p < m; p)//从左自右arr[i][jj1] temp;n--;if (n * m 0) break;for (int p 0; p < n; p)//从上自下arr[ii1][j] temp;m--;if (n * m 0) break;fo…

分享一个免费查海关(HS)编码的工具

用过海关数据的朋友就会发现&#xff0c;因为现在大部分的海关数据都是国外的进口数据&#xff0c;所以如果要用海关编码去查相关产品的海关交易记录的话&#xff0c;最好的方法就是用当地的海关编码去搜。 各个国家的海关编码是不一样的&#xff0c;比如美国的一般是6-8位&am…

构造函数与析构函数

构造函数 每次创建类的新对象时执行构造函数的名称与类名相同&#xff0c;不带类型&#xff0c;可以有参数也可以没参数构造函数有时给成员函数付初值 析构函数 每次删除所创建的对象时执行析构函数与构造函数类似&#xff0c;前面多个~不带任何参数&#xff0c; #include …

【笔试】美团2024年春招第二场笔试(技术)

【笔试】美团2024年春招第二场笔试&#xff08;技术&#xff09; 文章目录 T1 模拟T2 模拟T3 模拟&#xff0c;快速幂/打表T4 众数、前缀和、树状数组T5 逆序对&#xff0c;树状数组 T1 模拟 题目&#xff1a;数组求和&#xff0c;判断是否要减一个数 思路&#xff1a;模拟即可…

FPGA时钟资源详解(3)——全局时钟资源

FPGA时钟系列文章总览&#xff1a;FPGA原理与结构&#xff08;14&#xff09;——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 一、概述 全局时钟是 FPGA 中的一种专用互连网络&#xff0c;旨在将时钟信号分配到 FPGA 内各种资源的时钟输入处。这种设计…

如何查看ubuntu服务器上防火墙信息

1、检查防火墙状态&#xff1a; Ubuntu 18.04及更高版本使用的是ufw&#xff08;Uncomplicated Firewall&#xff09;。您可以使用以下命令检查ufw是否已安装并处于运行状态&#xff1a; sudo ufw status如果ufw已安装并正在运行&#xff0c;则会显示防火墙的状态&#xff08…

使用Shell脚本进行MySql权限修改

背景&#xff1a;原先数据配置文件中有bind-address127.0.0.1&#xff0c;注释掉此配置后&#xff0c;原数据库中默认带%root的权限&#xff0c;现在需要通过脚本实现白名单列表中的ip添加权限允许访问数据库&#xff0c;白名单之外的ip没有权限访问数据库。 以下是过程中记录的…

免费redis可视化工具windows/mac都可以使用,开源免费

官方地址&#xff1a;RedisInsight | The Best Redis GUI github开源地址&#xff1a;GitHub - RedisInsight/RedisDesktopManager Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具。 官方下载方式 滚动到页面底…

FPGA时钟资源详解(4)——区域时钟资源

FPGA时钟系列文章总览&#xff1a;FPGA原理与结构&#xff08;14&#xff09;——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 二、Clock-Capable I/O 三、I/O 时钟缓冲器 —— BUFIO 3.1 I/O 时钟缓冲器 3.2 BUFIO原语 四、区域时钟…

mybatisplus和mybatis兼容问题

Invalid bound statement (not found) 错误 原xml配置 <bean id"sqlSessionFactory" class"org.mybatis.spring.SqlSessionFactoryBean"><property name"mapperLocations" value"classpath:/META-INF/mapper/*.xml"/>&l…

Vue3——如何实现页面访问拦截

引言 在现代的Web开发中&#xff0c;页面访问拦截是一个非常常见的需求。通过拦截页面访问&#xff0c;我们可以控制用户在访问特定页面之前需要满足的条件&#xff0c;比如登录状态、权限等。Vue是一个非常流行的JavaScript框架&#xff0c;它提供了许多强大的工具和功能&…