小游戏实战丨基于PyGame的消消乐小游戏

消消乐

文章目录

  • 写在前面
  • PyGame
  • 消消乐
  • 注意事项
  • 系列文章
  • 写在后面

写在前面

本期内容:基于pygame实现喜羊羊与灰太狼版消消乐小游戏

下载地址:https://download.csdn.net/download/m0_68111267/88700193

实验环境

  • python3.11及以上
  • pycharm
  • pygame

安装pygame的命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame

PyGame

pygame是一个基于Python的多媒体库,主要用于开发2D游戏。它提供了一系列的函数和工具,使得开发游戏变得更加简单和快速。下面是一个简单的入门教程,帮助你开始使用pygame。

首先,你需要安装pygame库。打开命令提示符,输入以下命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame

安装完成后,就可以开始编写第一个pygame程序了。首先,创建一个新的Python文件,命名为"game.py"。然后,导入pygame库:

import pygame

接下来,需要初始化pygame库。输入以下代码:

pygame.init()

然后,创建一个窗口,用于显示游戏界面。输入以下代码:

screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("My Game")

这里,我们创建了一个800x600像素的窗口,并设置了标题为"My Game"。

接下来,我们需要创建一个游戏循环,用于更新游戏界面。输入以下代码:

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

在游戏循环中,我们检测是否有QUIT事件发生(点击窗口的关闭按钮),如果有,则将running设置为False,退出游戏循环。

最后,我们需要添加代码来更新游戏界面。输入以下代码:

screen.fill((0, 0, 0))
pygame.display.flip()

这里,我们先用黑色填充整个屏幕,然后调用pygame.display.flip()函数来更新游戏界面。

现在,你可以运行这个程序了。输入以下命令:

python game.py

你将会看到一个空白的窗口。点击关闭按钮,程序将退出。

这只是一个简单的入门教程,帮助你开始使用pygame。在实际开发中,你可以使用pygame提供的其他函数和工具,创建更加复杂和有趣的游戏。如果想要深入学习pygame,可以查看官方文档和在线教程。祝你编写出好玩的游戏!

消消乐

程序设计

import sys
import os
import time
import random
import pygame

# 参数
Width = 666
Height = 666
NumGrid = 8
GridSize = 64
X_Margin = (Width - GridSize * NumGrid) // 2
Y_Margin = (Height - GridSize * NumGrid) // 2
root = os.getcwd()
fps = 30

……请下载后查看

运行结果

消消乐

注意事项

如遇到问题"no module named pygame",请在终端输入"pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame",等待pygame库安装完成后再运行程序哦

1
2
3

系列文章

序号目录直达链接
1基于PyGame的俄罗斯方块小游戏https://want595.blog.csdn.net/article/details/135427809
2基于Tkinter的五子棋小游戏https://want595.blog.csdn.net/article/details/135427644
3基于PyGame的消消乐小游戏https://want595.blog.csdn.net/article/details/135390188
4基于PyGame的贪吃蛇小游戏https://want595.blog.csdn.net/article/details/135373146

写在后面

我是一只有趣的兔子,感谢你的喜欢!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jenkins忘记admin密码

jenkins忘记admin密码,重置密码: 1.找打jenkins目录下面的config.xml [rootVM-0-15-centos .jenkins]# find ./* -name config.xml ./config.xml [rootVM-0-15-centos .jenkins]# pwd /root/.jenkins删除下面的这部分内容: [rootVM-0-15-c…

Android开发编程从入门到精通,安卓技术从初级到高级全套教学

一、教程描述 本套教程基于JDK1.8版本,教学内容主要有,1、环境搭建,UI布局,基础UI组件,高级UI组件,通知,自定义组件,样式主题;2、四大组件,Intent&#xff0…

【UML】第15篇 状态机图

目录 一、状态机图的定义 二、应用场景 三、绘图符号的说明 四、语法 五、例图 一、状态机图的定义 状态机图(State Machine Diagram)是UML中的一种行为图,它描述了一个对象在其生命周期内的状态变化。状态机图通过展示对象在不同状态下…

技术学习|CDA level I 描述性统计分析(数据的描述性统计分析)

技术学习|CDA level I 描述性统计分析(数据的描述性统计分析) 数据的描述性统计分析常从数据的集中趋势、离散程度和分布形态3个方面进行。 一、集中趋势 集中趋势是指数据向其中心值靠拢的趋势。测量数据的集中趋势,主要是寻找其中心值。…

跨站脚本攻击漏洞XSS绕过22种方式总结

XSS漏洞简介 跨站脚本攻击在目前这个时间节点还是属于一个排位比较高的漏洞,在OWASP TOP10 2021中隶属于注入型漏洞,高居TOP3的排位,可见这个漏洞的普遍性。跨站脚本攻击的学习中我们主要需要明白的是跨站的含义,以及XSS的核心。…

Vue3-39-路由-导航异常的检测 afterEatch 与 编程式导航之后的订阅动作

说明 本文主要是介绍一下 路由的后置守卫 afterEatch 的一个重要的作用 : 就是检测路由异常信息。 它的实现方式是 通过第三个参数来返回的。 而且,它的异常检测是全局的。导航的异常有以下三种类型: aborted : 在导航守卫中 被拦截并返回了…

1月最新阿里云服务器租用价格表_轻量61元_ECS99元一年

2024年1月最新阿里云服务器租用价格表,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、轻量应用服务器2核2G3M带宽轻量服务器一年61元,2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,云服务器ECS可以选择经济型e实例、通用…

学习笔记——C++运算符之算术运算符

C中运算符包含诸多种类,其中有:算术运算符,赋值运算符,比较运算符和逻辑运算符 每一种运算符及其作用如下表所示: 一,算术运算符1,加减乘除 其中,“”,“-”运算符既可…

QT上位机开发(数据库sqlite编程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 编写软件的时候,如果用户的数据比较少,那么用json保存是非常方便的。但是一旦数据量大了之后,建议还是用数据库…

编程语言的未来:贴近人类、灵活高效与探索无限

编程语言的未来? 在当今的科技潮流中,编程语言是至关重要的一环,更是赋能科技行业的基础工具。我深信,未来的编程语言可能将朝着更贴近人类、灵活高效和面向无限可能的方向发展。 人性化是我预期的第一个趋势。未来的编程语言将…

如何解决找不到mfc100u.dll无法运行程序问题,分享四种靠谱的方法

在日常使用电脑的过程中,我们可能会遇到各种问题,其中之一就是找不到mfc100u.dll的困扰。这个问题主要是因为mfc100u.dll是Microsoft Foundation Class(MFC)库中的一个版本特定的DLL文件,它是Visual Studio 2010及更早…

轻松识别几个小时的长音视频文件

前言 之前的文章绍一个准确率非常高的语音识别框架,但那个只能识别实时的短音频,如果想要识别一个非常长的音频,几十分钟,甚至几个小时,那之前的那个是做不到的所以就有了本文。本文介绍搭建一个长语音识别服务&#…

LeetCode刷题:面试题 02.01. 移除重复节点

题目: 是否独立完成:算是,但是使用自己的办法时间复杂度会超标 解题思路: 1.双循环嵌套,定义快慢节点,双层嵌套循环,如果值一样则剔除,但是时间复杂度为O(n)…

深度卷积生成对抗网络(DCGAN)|完整代码实现

生成对抗网络(GAN)由Ian Goodfellow在2014年提出。GAN通过训练两个神经网络解决了非监督问题。这两个网络一个称为生成网络,一个称为判别网络。 事实上,该网络的训练过程很有趣。我们可以借助一个例子来理解。最初,伪…

强化学习的数学原理学习笔记 - RL基础知识

文章目录 Roadmap🟡基础概念贝尔曼方程(Bellman Equation)基本形式矩阵-向量形式迭代求解状态值 vs. 动作值 🟡贝尔曼最优方程(Bellman Optimality Equation,BOE)基本形式迭代求解 参考资料&…

服务器不稳定是什么意思?有哪些表现

在当今的信息化时代,服务器已经成为企业和组织不可或缺的基础设施。然而,由于各种原因,服务器可能会出现不稳定的情况,给企业和组织带来不必要的损失和风险。那么,什么是服务器不稳定,它又有哪些表现呢&…

35岁的程序员,见到领导就躲,害怕跟领导沟通,你被说中了吗?

35岁的程序员,见到领导就躲,害怕跟领导沟通,你被说中了吗? 35岁的小王是一名项目经验丰富、解决问题能力强的资深程序员,然而却唯独有一个软肋:害怕碰见领导,害怕跟领导沟通。 我们不经要问&a…

西电期末1028.信号解调

一.题目 二.分析与思路 题越来越水了 三.代码实现 #include<bits/stdc.h>//万能头 int main() {int n;int a,b;//坐标for(int i0;i<n;i){scanf("%d%d",&a,&b);if((a-4)*(a-4)(b-4)*(b-4)>(a4)*(a4)(b4)*(b4))printf("2 ");else pri…

STM32 基础知识(探索者开发板)--135讲 ADC转换

ADC定义&#xff1a; ADC即模拟数字转换器&#xff0c;英文详称 Analog-to-digital converter&#xff0c;可以将外部的模拟信号转换 ADC数模转换中一些常用函数&#xff1a; 1. HAL_ADC_Init 函数 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc); 初始化ADC 形参&…

Redis 持久化——AOF

文章目录 为什么需要AOF?概念持久化查询和设置1. 查询AOF启动状态2. 开启AOF持久化2.1 命令行启动AOF2.2 配置文件启动 AOF 3. 触发持久化3.1 自动触发3.3 手动触发 4. AOF 文件重写4.1 什么是AOF重写&#xff1f;4.2 AOF 重写实现4.3 AOF 重写流程 5. 配置说明6. 数据恢复6.1…