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

游戏开发丨基于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

写在后面

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

相关文章:

游戏开发丨基于PyGame的消消乐小游戏

文章目录 写在前面PyGame消消乐注意事项系列文章写在后面 写在前面 本期内容:基于pygame实现喜羊羊与灰太狼版消消乐小游戏 下载地址:https://download.csdn.net/download/m0_68111267/88700193 实验环境 python3.11及以上pycharmpygame 安装pygame…...

软件项目管理概述

1.什么是项目? 2.项目管理的定义 3.项目管理的本质 4.项目成功的标志 5.项目管理的基本方法 6.项目的生命周期(启动 计划 执行 控制 结束) 7.结合生活中的某件事,谈谈项目管理的作用 项目管理在日常生活中扮演着重要的角色&…...

FastAdmin后台开发框架 lang 任意文件读取漏洞复现

0x01 产品简介 FastAdmin是一款基于PHPBootstrap的开源后台框架,专为开发者精心打造。它基于ThinkPHP和Bootstrap两大主流技术构建,拥有完善的权限管理系统和一键生成CRUD等强大功能。FastAdmin致力于提高开发效率,降低开发成本,…...

数字时代PLM系统的重要性

什么是 PLM(产品生命周期管理)? 从最基本的层面上讲,产品生命周期管理 (PLM)是管理产品从最初构思、开发、服务和处置的整个过程的战略流程。换句话说,PLM 意味着管理产品从诞生到消亡所涉及的一切。 什么是 PLM 软件…...

安卓实现圆形按钮轮廓以及解决无法更改按钮颜色的问题

1.实现按钮轮廓 在drawable文件新建xml文件 <shape xmlns:android"http://schemas.android.com/apk/res/android"<!--实现圆形-->android:shape"oval"><!--指定内部的填充色--><solid android:color"#FFFFFF"/><!-…...

常用原语介绍

1.在Xilinx的example&#xff08;wavegen example&#xff09;中看到他们的顶层模块的输入输出管脚都手动例化原语IBUF以及OBUF——工具也会自动给我们加上不必要自己加 2.非mrcc个srcc的管脚输入的时钟信号&#xff0c;无法进入mmcm和bufg————试验过会报错 3.实际上&…...

29. 透镜阵列

导论&#xff1a; 物理传播光学&#xff08;POP&#xff09;不仅可以用于简单系统&#xff0c;也可以设计优化复杂的光学系统&#xff0c;比如透镜阵列。 设计流程&#xff1a; 透镜阵列建模 在孔径类型中选择“入瞳直径”&#xff0c;并输入2 在视场设定中。设置一个视场&…...

深入理解并打败C语言难关之一————指针(3)

前言&#xff1a; 昨天把指针最为基础的内容讲完了&#xff0c;并且详细说明了传值调用和传址调用的区别&#xff08;这次我也是做到了每日一更&#xff0c;感觉有好多想写的但是没有写完&#xff09;&#xff0c;下面不多废话&#xff0c;下面进入本文想要说的内容 目录&#…...

Ubuntu-24.04-live-server-amd64启用ssh

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 Ubuntu安装qemu-guest-agent Ubuntu乌班图安装VIM文本编辑器工具 文章目录 系列文章目录前言一、输入安装命令二、使用私钥登录&#xff08;可选&#xff09;1.创建私钥2.生成三个文件说明3.将公钥复制到服务器 三…...

Leetcode 2786. 访问数组中的位置使分数最大(DP 优化)

Leetcode 2786. 访问数组中的位置使分数最大 DP 以每个位置为结尾的序列的分数取决于前方的分数&#xff0c;根据奇偶性计算&#xff0c;取最大值 超时 class Solution {public long maxScore(int[] nums, int x) {int n nums.length;long dp[] new long[n];Arrays.fill(dp…...

【docker实战】使用Dockerfile的COPY拷贝资源遇到的问题

事情是这样的。 在我负责的golang项目中&#xff0c;使用硬代码验证某块逻辑。比如&#xff1a; 于是&#xff0c;为了解决硬代码的问题&#xff0c;我制作了表格工具&#xff1a;【开源项目】Excel数据表自动生成工具v1.0版 – 经云的清净小站 (skycreator.top)。 使用表格工…...

如何用多线程执行 unittest 测试用例实现方案

前言 使用python做过自动化测试的小伙伴&#xff0c;想必都知道unittest和pytest这两个单元测试框架&#xff0c;其中unittest是python的官方库&#xff0c;功能相对于pytest来要逊色不少&#xff0c;但是uniitest使用上手简单&#xff0c;也受到的很多的小伙伴喜爱。一直以来都…...

Ascend310 EP模式下容器内进行推理测试

EP模式下容器内进行推理测试 本文的软硬件环境如下&#xff1a; 机器&#xff1a;x86台式机一台 OS&#xff1a; 5.4.0-26-generic Ubuntu20.04 LTS 推理卡&#xff1a;DLAP200-HP-2&#xff08;凌华基于atlas200模块打造的两模块推理卡&#xff09; 1. 推理卡固件和驱动安…...

(el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程

Ⅰ、Element-plus 提供的Select选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供Select组件情况&#xff1a; 其一、Element-ui 自提供的Select代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template><div class"f…...

Java基础之Math与Array类与System

文章目录 一、Math.random&#xff08;&#xff09;二、Arrays.binarySearch()三、asList&#xff08;&#xff09;四、System tip&#xff1a;以下是正文部分 一、Math.random&#xff08;&#xff09; a < num < b int num (int)(Math.random() * (b - a 1)) a二、…...

警告:Hydration attribute mismatch on Note: this mismatch is check-only.(水合不匹配)

vue3Nuxt3运行代码是提示如下警告 [Vue warn]: Hydration attribute mismatch on <ul id​"sub_menu_5_$$_sub1-popup" class​"ant-menu ant-menu-sub ant-menu-inline" data-menu-list​"true" style​"display:​none;​">​…...

【机器学习】CART决策树算法的核心思想及其大数据时代银行贷款参考案例——机器认知外界的重要算法

目录 引言 概述 CART决策树的特点 核心思想 减少不确定性的指标 基尼系数&#xff08;Gini Index&#xff09; 分类错误率 熵 银行实例 背景 数据准备 模型构建 模型评估与优化 应用与结果 代码示例 ✈✈✈✈引言✈✈✈✈ CART算法既可以用于分类问题&#xff0…...

编程软件是由什么编程的

编程软件是由什么编程的 在数字化的世界里&#xff0c;编程软件作为构建数字生态的基石&#xff0c;其背后所蕴含的奥秘往往令人感到困惑。那么&#xff0c;这些编程软件究竟是由什么编程的呢&#xff1f;这背后隐藏着怎样的逻辑与技术&#xff1f;接下来&#xff0c;我们将从…...

如何查看自己本地ip

1.winR 2.cmd 3.ipconfig...

高考分数限制下,选好专业还是选好学校?

高考分数限制下&#xff0c;选好专业还是选好学校&#xff1f; 高考作为每年一度的盛大考试&#xff0c;不仅关乎学生们的未来&#xff0c;更承载了家庭的期望。2004年高考刚刚结束&#xff0c;许多考生和家长已经开始为填报志愿而焦虑。选好学校和专业&#xff0c;直接关系到…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...