Python代码雨

系列文章

序号文章目录直达链接
1浪漫520表白代码https://want595.blog.csdn.net/article/details/130666881
2满屏表白代码https://want595.blog.csdn.net/article/details/129794518
3跳动的爱心https://want595.blog.csdn.net/article/details/129503123
4漂浮爱心https://want595.blog.csdn.net/article/details/128808630
5爱心光波https://want595.blog.csdn.net/article/details/132311588
6流星雨https://want595.blog.csdn.net/article/details/129395465
7满天星https://want595.blog.csdn.net/article/details/129572082
8烟花秀https://want595.blog.csdn.net/article/details/128746664
9圣诞树https://want595.blog.csdn.net/article/details/128213770
10雪花代码https://want595.blog.csdn.net/article/details/129038108
11模拟星空https://want595.blog.csdn.net/article/details/129948882
12生日蛋糕https://want595.blog.csdn.net/article/details/129694998
13樱花树https://want595.blog.csdn.net/article/details/130350743
14五彩气球https://want595.blog.csdn.net/article/details/130950744
15七彩花朵https://want595.blog.csdn.net/article/details/130897838
16恶搞代码https://want595.blog.csdn.net/article/details/131274862

前言

今天博主给大家带来了有趣的代码雨,一起来看看吧!

Pygame图形库

Pygame入门

Pygame是一个Python库,用于开发2D图形和简单游戏的工具包。它提供了一系列功能来处理图形、声音、输入等方面的开发需求。下面是Pygame入门的基本步骤:

1. 安装Pygame:首先,确保你已经安装了Python。然后,可以使用pip命令在命令行中安装Pygame。在命令行中输入以下命令:`pip install pygame`

2. 导入Pygame模块:在你的Python程序中,使用`import pygame`语句来导入Pygame模块。

3. 初始化Pygame:在程序的开头,使用`pygame.init()`来初始化Pygame。这将初始化Pygame的各种模块和功能。

4. 创建游戏窗口:使用`pygame.display.set_mode()`函数来创建一个游戏窗口。它需要一个元组或列表作为参数,表示窗口的宽度和高度。例如,`screen = pygame.display.set_mode((800, 600))`将创建一个宽800像素、高600像素的游戏窗口。

5. 游戏循环:使用一个while循环来进行游戏的主循环。在每次循环中,处理用户输入、更新游戏状态、绘制图形等操作。这个循环将持续运行,直到玩家关闭游戏窗口。

6. 处理事件:在游戏循环中,使用`pygame.event.get()`函数来获取发生的事件。你可以使用for循环遍历这些事件,处理例如按键、鼠标点击等。

7. 绘制图形:使用各种Pygame函数和方法来绘制图形、精灵、文本等。使用`pygame.display.flip()`来更新屏幕显示。

8. 游戏退出:当玩家关闭游戏窗口时,循环将终止,你可以使用`pygame.quit()`来清理Pygame的资源。

以上只是一个简单的Pygame入门介绍,你可以通过阅读官方文档、查找教程和示例代码来深入学习和理解Pygame的更多功能和用法。祝你使用Pygame开发有趣的游戏!

Pygame基础函数

以下是一些pygame的入门函数和示例代码,帮助你开始使用pygame库:

1. `pygame.init()`: 初始化pygame库。
 

import pygamepygame.init()

2. `pygame.display.set_mode()`: 创建一个窗口显示界面。

import pygame# 设置窗口大小为800x600像素
screen = pygame.display.set_mode((800, 600))

3. `pygame.display.set_caption()`: 设置窗口的标题。

import pygame# 设置窗口标题为"游戏窗口"
pygame.display.set_caption("游戏窗口")

4. `pygame.event.get()`: 获取所有在事件队列中的事件。
 

import pygame# 获取所有的事件
for event in pygame.event.get():# 处理事件if event.type == pygame.QUIT:# 如果是窗口关闭事件,退出程序pygame.quit()

5. `pygame.image.load()`: 加载图像文件。

import pygame# 加载图片
image = pygame.image.load("image.png")

6. `pygame.draw.rect()`: 绘制矩形。

import pygame# 绘制一个红色的矩形,左上角坐标为(100, 100),宽度为200,高度为100
pygame.draw.rect(screen, (255, 0, 0), (100, 100, 200, 100))

7. `pygame.font.Font()`: 创建字体对象。

import pygame# 创建一个字体对象,字体为宋体,大小为25
font = pygame.font.Font("simsun.ttf", 25)

8. `pygame.Surface.blit()`: 在一个Surface对象上绘制另一个Surface对象。

import pygame# 绘制image图片到screen上,位置为(0, 0)
screen.blit(image, (0, 0))

以上是一些常用的pygame函数和简单示例代码。你可以根据自己的需要进行扩展和调整,开始使用pygame创建游戏或图形应用程序。

Python代码雨

程序设计

import pygame
import random# 初始化
pygame.init()
font = pygame.font.SysFont('宋体', 25)
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
screenwidth = screen.get_width()
screenheight = screen.get_height()
surface = pygame.Surface((screenwidth, screenheight), pygame.SRCALPHA)
pygame.Surface.convert(surface)
surface.fill((0, 0, 0, 10))
screen.fill((0, 0, 0, 10))
# 内容
str = [chr(i) for i in range(48, 58)] + [chr(i) for i in range(97, 123)] 
texts = [font.render(i, True, (0, 255, 0)) for i in str]
lst = list(range(99))
……
完整代码文末公众号免费获取哦

程序分析

- 导入pygame和random库。

import pygame
import random

- 调用pygame.init()初始化pygame。

pygame.init()

- 创建字体对象并设置字体样式和大小。

font = pygame.font.SysFont('宋体', 25)

- 创建一个全屏窗口。

screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

- 获取屏幕的宽度和高度。

screenwidth = screen.get_width()
screenheight = screen.get_height()

- 创建一个Surface对象用于在屏幕上绘制透明效果。

surface = pygame.Surface((screenwidth, screenheight), pygame.SRCALPHA)

- 对Surface对象进行转换和填充颜色。

pygame.Surface.convert(surface)
surface.fill((0, 0, 0, 10))

- 在屏幕上填充黑色背景。

screen.fill((0, 0, 0, 10))

- 定义一个包含数字和小写字母的列表,用于生成字符对象。

str = [chr(i) for i in range(48, 58)] + [chr(i) for i in range(97, 123)] 

- 将字符列表中的每个字符渲染为字体对象,并放入一个新的列表中。

texts = [font.render(i, True, (0, 255, 0)) for i in str]

- 创建一个包含0到98的整数的列表。

lst = list(range(99))

- 进入游戏循环,不断处理事件。

- 设置延迟时间为50毫秒,控制字符下落速度。

- 在屏幕上绘制透明背景。

- 遍历整数列表,每次循环选择一个随机字符,并在对应的位置绘制到屏幕上。

- 将整数列表中的元素加1,实现字符下落效果。

- 以5%的概率将整数列表中的元素重置为0,实现字符重新开始下落的效果。

- 调用pygame.display.flip()更新屏幕显示。

尾声

感谢支持!!

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

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

相关文章

InnoDB全文索引是如何实现的?

分析&回答 全文索引的底层实现为倒排索引。 为什么叫倒排索引(反向索引) 当表上存在全文索引时,就会隐式的建立一个名为FTS_DOC_ID的列,并在其上创建一个唯一索引,用于标识分词出现的记录行。你也可以显式的创建…

LeetCode刷题笔记【26】:贪心算法专题-4(柠檬水找零、根据身高重建队列、用最少数量的箭引爆气球)

文章目录 前置知识860.柠檬水找零题目描述解题思路代码 406.根据身高重建队列题目描述解题思路代码 452. 用最少数量的箭引爆气球题目描述踩坑-进行模拟正确思路的贪心 总结 前置知识 参考前文 参考文章: LeetCode刷题笔记【23】:贪心算法专题-1&#x…

2023年05月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在…

百度云智大会:科技与创新的交汇点

​ 这次的百度云智大会,可谓是亮点云集—— 发布了包含42个大模型、41个数据集、10个精选应用范式的全新升级千帆大模型平台2.0,发布首个大模型生态伙伴计划,而且也预告了文心大模型4.0的发布,大模型服务的成绩单也非常秀&#x…

ABAP BP维护客户cl_md_bp_maintain=>maintain

ps_head结构如下 下面是封装好的form示例 *&---------------------------------------------------------------------* *& Form frm_modify_customer *&---------------------------------------------------------------------* *& text *&--------…

TypeScript类型守卫

概念 在语句的块级作用域【if语句内或条目运算符表达式内】缩小变量类型的一种类型推断的行为。 类型守卫可以帮助我们在块级作用域中获得更为需要的精确变量类型,从而减少不必要的类型断言。 类型判断:typeof实例判断:instanceof字面量相等…

2023-08-31 LeetCode每日一题(一个图中连通三元组的最小度数)

2023-08-31每日一题 一、题目编号 1761. 一个图中连通三元组的最小度数二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图,整数 n 表示图中节点的数目,edges 数组表示图中的边,其中 edges[i] [ui, vi] ,表示 ui…

Python入门学习14(面向对象)

一、内置方法 二、封装 1. 封装的概念是指? 将现实世界事物在类中描述为属性和方法,即为封装。 2. 什么是私有成员?为什么需要私有成员? 现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述属性和方法的时…

如何分库分表?

分析&回答 分库?分表?还是既分库又分表? 如果需要分表,那么分多少张表合适? 由于所有的技术都是为业务服务的,那么,我们就先从数据方面回顾下业务背景。 如果每天产生 8w 笔交易单&#…

SCRUM敏捷产品负责人(CSPO)认证培训课程

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。产品负责人是Scrum的三个角色之一,产品负责人在Scrum产品开发当中扮演舵手的角色,他决定产品的愿景、路线图以及投资回报,他需要回答…

学单片机有前途吗?

学单片机有前途吗? 个人认为学习任何一门技术都比不学的强,针对学单片机有前途吗?那么比较对象当然就是在整个IT行业做对比。因此我们可以从职业前景、钱景、这几方面综合考量。 学单片机有前途吗?我觉得重要的一点就是是否适合职业生涯发展,总说程序…

C++内存管理(2)new、delete详解

目录 new operator(new操作) new类对象时加不加括号的差别 new工作任务 delete工作任务 new和delete 堆区空间操作(对比malloc和free) new和delete操作基本类型的空间 new和delete操作基本类型的数组 new和delete操作类的…

elasticsearch访问9200端口 提示需要登陆

项目场景: 提示:这里简述项目相关背景: elasticsearch访问9200端口 提示需要登陆 问题描述 提示:这里描述项目中遇到的问题: 在E:\elasticsearch-8.9.1-windows-x86_64\elasticsearch-8.9.1\bin目录下输入命令 ela…

python Playwright优化页面等待和处理异步操作

在使用 Playwright 进行页面自动化时,优化页面等待和处理异步操作是非常重要的,可以提高脚本的稳定性和执行效率。 优化页面等待和处理异步操作的建议 **1. 使用正确的等待条件:**Playwright 提供了多种等待条件,如等待元素出现…

【CSS】简记CSS效果:通过transition(动画过渡属性)实现侧边栏目滑入滑出

需求 在资金明细的页面中&#xff0c;点击按钮时筛选区域从左侧滑出&#xff0c;完成筛选点击确认后调用接口完成数据查询&#xff0c;筛选区域滑入左侧&#xff1b; 基于微信小程序页面实现 wxml代码 <view><!-- 操作按钮 --><button type"primary&qu…

昨天面试的时候被提问到的问题集合(答案)

1、vue的双向绑定原理是什么&#xff1f;里面的关键点在哪里&#xff1f; Vue的双向绑定原理是基于Object.defineProperty或者Proxy来实现的&#xff0c;其关键点在于数据劫持&#xff0c;即对数据的读取和修改进行拦截&#xff0c;在数据发生变化时自动更新视图 2、实现水平垂…

JVM调优记录

因为大量数据备份&#xff1b;导致在备份过程出现堆溢出的情况 当前情况 总内存&#xff1a;7.92G 已使用&#xff1a;3.7G jvm总内存最大&#xff1a;3.06G jvm非堆内存&#xff1a;最大1.23G&#xff0c;使用<170M jvm堆内存&#xff1a;最大1.83G 计算 如果预留2G扩展…

PSP - 蛋白质结构预测 OpenFold Multimer 重构训练模型的数据加载

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132602155 OpenFold Multimer 在训练过程的数据加载时&#xff0c;需要将 MSA 与 Template 信息转换成 Feature&#xff0c;再进行训练&#xff0…

[machineLearning]非监督学习unsupervised learning

1.什么是非监督学习 常见的神经网络是一种监督学习,监督学习的主要特征即为根据输入来对输出进行预测,最终会得到一个输出数值.而非监督学习的目的不在于输出,而是在于对读入的数据进行归类,选取特征,打标签,通过对于数据结构的分析来完成这些操作, 很少有最后的输出操作. 从…

ChatGPT集锦

目录 1. 一条指令让ChatGPT变的更强大2. 对ChatGPT提问时,常见的10种错误描述3. Custom instructions如何设置1. 一条指令让ChatGPT变的更强大 在使用GPT的过程中,如何让AI更清晰地了解你的需求很重要?今天分享一个指令,可以让GPT成为你的好同事,与你一起分析和解决问题,…