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

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()更新屏幕显示。

尾声

感谢支持!!

相关文章:

Python代码雨

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…...

java.util.Optional

原文链接 文章目录 1、Optional作用2、常用API构造相关get / orElse / orElseGet / orElseThrowisPresent / ifPresentfiltermap / flatMap 3、源码翻译 1、Optional作用 类位于:java.util.Optional臭名昭著的空指针异常是导致Java应用程序失败的最常见原因&#…...

微服务--Seata(分布式事务)

TCC模式在代码中实现:侵入性强,并且的自己实现事务控制逻辑 Try,Confirm() cancel() 第三方开源框架:BeyeTCC\TCC-transaction\Himly 异步实现:MQ可靠消息最终一致性 GlobalTransacational---AT模式...

发光太阳聚光器的蒙特卡洛光线追踪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

(涨知识)-圣诞灯串类产品出口都需要做哪些认证?

1. 首先我们讲讲欧盟, 欧盟一向都是合规要求特别多的一个国家,所以向欧盟出口灯串等电子产品,一定要长个心眼。废话不多说,进入正题吧! ①欧盟产品安全:欧代CE(电磁指令EMC低压指令LVD)DOC 产品安全必备三件…...

ROS地图/像素坐标描点调试【Python源码实现】

文章目录 ROS python 地图描点调试工具1. Rviz描点1.1 需求描述1.2 visualization Marker1.3 工程实践 2. 静态地图图片描点2.1 需求描述2.2 工程实践 ROS python 地图描点调试工具 1. Rviz描点 1.1 需求描述 在ROS开发中,有时会加载图片文件转为地图载入move_ba…...

2023年7月京东笔记本电脑行业品牌销售排行榜(京东数据平台)

随着智能手机、平板电脑等移动互联设备的普及,人们对于个人电脑的依赖减轻,加之电脑的更换率较低,因此当前PC端消费市场整体出现疲态,笔记本电脑的出货量不断下降,今年7月份也同样呈现这一趋势。 根据鲸参谋电商数据分…...

用户忠诚度:小程序积分商城的用户保持方法

随着移动互联网的蓬勃发展,小程序积分商城已经成为了许多企业私域营销的热门选择。这个商城不仅可以吸引用户参与,还可以提高用户的忠诚度,进一步加深用户与品牌的互动关系。然而,要实现用户的忠诚度,需要一系列的策略…...

[前端] 使用lerna version更新版本号

lerna version 是一个用于管理 monorepo(多包存储库)的工具,它可以帮助您在多个相关包之间协调版本号的更新和发布。以下是使用 lerna version 更新版本号的一般步骤: 安装 Lerna: 首先,您需要在您的项目中…...

winform嵌入浏览器 webView2

1、项目引用nuget 2、winform窗体中初始化 var webView new WebView2();webView.Source new Uri(url);webView.Dock DockStyle.Fill;//接收js调用c#函数的消息webView.WebMessageReceived CoreWebView2_WebMessageReceivedAsync; this.panel1.Controls.Add(…...

stm32---用外部中断实现红外接收器

一、红外遥控的原理 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传 输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是 家用电器广泛采用,并越来越多的应用到计算机系…...

Filter过滤器及HttpServletRequest和HttpServletResponse

拦截器(Interceptor)和过滤器(Filter)的执行顺序 tomcat->Filter->Interceptor->Controller 过滤器(Filter)概述? Filter过滤器是JavaWeb的三大组件之一,三大组件分别为&…...

02-打包代码与依赖

打包代码与依赖说明 在开发中,我们写的应用程序通常需要依赖第三方的库(即程序中引入了既不在 org.apache.spark包,也不再语言运行时的库的依赖),我们就需要确保所有的依赖在Spark应用运行时都能被找到 对于Python而…...

Kotlin(五) 循环语句

目录 For循环 关键字 until step downTo Java中主要有两种循环语句:while循环和for循环。而Kotlin也提供了while循环和for循环,其中while循环不管是在语法还是使用技巧上都和Java中的while循环没有任何区别,因此我们就直接跳过不进行讲解…...

数字孪生产品:数字化时代的变革引擎

数字孪生技术,作为一项前沿的科技创新,正在不断改变我们的世界。它为各行各业的发展提供了无限的可能性,成为了当今数字化时代的一大亮点。数字孪生产品,作为数字孪生技术的具体应用,将在未来发挥越来越重要的作用。 数…...

对接西部数据Western Digital EDI 系统

近期我们为国内某知名电子产品企业提供EDI解决方案,采用知行之桥 EDI 系统作为核心组件,成功与西部数据Western Digital(简称西数)建立EDI连接,实现数据安全且自动化传输。 EDI实施需求 EDI连接 传输协议:A…...

ClickHouse进阶(十):Clickhouse数据查询-4

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅…...

FPGA原理与结构——FIFO IP核的使用与测试

一、前言 本文介绍FIFO Generator v13.2 IP核的具体使用与例化,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——FIFO IP核原理学习https://blog.csdn.net/apple_5…...

ABB CMA120 3DDE300400面板

人机界面:ABB CMA120 3DDE300400 面板通常具有用户友好的人机界面,可用于监视和控制连接设备和系统的操作。 图形显示:该面板通常具有高分辨率的液晶显示屏,用于显示图形界面和实时数据,以便操作员更容易理解和管理工…...

【代码随想录day25】动态规划:01背包理论基础

题目 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 代码 dp[i][j]: 表示从0~i个物品中选物品放到容量为j的背包中所能获得的最大价值 …...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...