用pygame来写一个好玩的脚本(附带源码)

【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习) ​ ​​这种科技感爆棚的特效,你是否也想来一套? 这个,可以有。 最近,小编刷到抖音关于很久之前流行的代码雨,很是心动,这炫酷的特效让我着实爱了一 把,这不,今天早早的开始了我的代码之旅。就为了能重现这次的代码特效。 有人问效果如此震撼,实现起来会不会很复杂?让我们下面看看具体的代码吧~ ​ 阅读详情
首先看看效果哈

在这里插入图片描述
可以发给朋友玩哈,接下来是我们的编写步骤

先导入需要使用的库
import random
import pygame
from pygame.locals import *
from sys import exit
然后创建可视化窗口,我们使它全屏显示
PANEL_width = 1920
PANEL_highly = 1080
FONT_PX = 40

pygame.init()

# 创建一个可视窗口, 如果不想全屏运行,可以把 FULLSCREEN 参数去掉
winSur = pygame.display.set_mode((PANEL_width, PANEL_highly), FULLSCREEN, 32)

font = pygame.font.SysFont("SimHei", 35)

bg_suface = pygame.Surface((PANEL_width, PANEL_highly), flags=pygame.SRCALPHA)

pygame.Surface.convert(bg_suface)

bg_suface.fill(pygame.Color(0, 0, 0, 20))

winSur.fill((0, 0, 0))
然后是我们想要去显示的符号,可以是数字或者字母文字都行
# 数字版
# texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)]

# # 二进制版
# letter = ['1', '0', '1', '1', '1', '0', '0', '0', '1', '0', '1', '0', '1', '0', '0', '1', '1', '0', '0', '0', '1', '1'
#           ,'1', '0', '1', '0', '0', '1', '0', '1']

# 汉字版,但看不到字
# letter = ['我', '爱', '你', '我', '爱你', '我爱你', '我非常爱你', '我爱你', '我爱', '我', '爱', '你',
#           '我爱你', '爱', '我', '爱你', '我', '我爱', '爱你', '你']
#

# #  字母版
letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v'
          ,'w', 'x', 'y', 'z']

texts = [
    font.render(str(letter[i]), True, (0, 255, 0)) for i in range(20)
]
最后就是调用pygame去显示的逻辑
# 按屏幕的宽带计算可以在画板上放几列坐标并生成一个列表
column = int(PANEL_width / FONT_PX)
drops = [0 for i in range(column)]

while True:
    # 从队列中获取事件, 如果退出程序, 按两下确认键即可
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        elif event.type == pygame.KEYDOWN:
            chang = pygame.key.get_pressed()
            if (chang[32]):
                exit()

    # 将暂停一段给定的毫秒数
    pygame.time.delay(30)

    # 重新编辑图像第二个参数是坐上角坐标
    winSur.blit(bg_suface, (0, 0))

    for i in range(len(drops)):
        text = random.choice(texts)

        # 重新编辑每个坐标点的图像
        winSur.blit(text, (i * FONT_PX, drops[i] * FONT_PX))

        drops[i] += 1
        if drops[i] * 10 > PANEL_highly or random.random() > 0.95:
            drops[i] = 0

    pygame.display.flip()
怎么样 是不是很简单
全部代码放在下面了
import random
import pygame
from pygame.locals import *
from sys import exit

PANEL_width = 1920
PANEL_highly = 1080
FONT_PX = 40

pygame.init()

# 创建一个可视窗口, 如果不想全屏运行,可以把 FULLSCREEN 参数去掉
winSur = pygame.display.set_mode((PANEL_width, PANEL_highly), FULLSCREEN, 32)

font = pygame.font.SysFont("SimHei", 35)

bg_suface = pygame.Surface((PANEL_width, PANEL_highly), flags=pygame.SRCALPHA)

pygame.Surface.convert(bg_suface)

bg_suface.fill(pygame.Color(0, 0, 0, 20))

winSur.fill((0, 0, 0))

# 数字版
# texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)]

# # 二进制版
# letter = ['1', '0', '1', '1', '1', '0', '0', '0', '1', '0', '1', '0', '1', '0', '0', '1', '1', '0', '0', '0', '1', '1'
#           ,'1', '0', '1', '0', '0', '1', '0', '1']

# 汉字版,但看不到字
# letter = ['我', '爱', '你', '我', '爱你', '我爱你', '我非常爱你', '我爱你', '我爱', '我', '爱', '你',
#           '我爱你', '爱', '我', '爱你', '我', '我爱', '爱你', '你']
#

# #  字母版
letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v'
          ,'w', 'x', 'y', 'z']

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

# 按屏幕的宽带计算可以在画板上放几列坐标并生成一个列表
column = int(PANEL_width / FONT_PX)
drops = [0 for i in range(column)]

while True:
    # 从队列中获取事件, 如果退出程序, 按两下确认键即可
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        elif event.type == pygame.KEYDOWN:
            chang = pygame.key.get_pressed()
            if (chang[32]):
                exit()

    # 将暂停一段给定的毫秒数
    pygame.time.delay(30)

    # 重新编辑图像第二个参数是坐上角坐标
    winSur.blit(bg_suface, (0, 0))

    for i in range(len(drops)):
        text = random.choice(texts)

        # 重新编辑每个坐标点的图像
        winSur.blit(text, (i * FONT_PX, drops[i] * FONT_PX))

        drops[i] += 1
        if drops[i] * 10 > PANEL_highly or random.random() > 0.95:
            drops[i] = 0

    pygame.display.flip()
Python 集五福 (pygame、pyautogui) 通过pygame以及pyautogui将程序实现图像化,pygame用来实现程序基本功能,pyautogui用来实现提示语。开始程序,只要点击按钮就可以抽取五福之一,集齐五福后还有奖励环节。 阅读详情

相关推荐

Pygame实战:这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下嘛

导语 >>>这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下!! 自从塔诞生的时候起,我们就开始让毁灭的雨点从敌人的头顶上方倾泻而下。 现在很多游戏都将塔作为一个标志性的象征,大众最熟悉的肯定是某鹅家招牌游戏里的防御塔了! 而今天我们谈的内容也跟塔有关,不卖关子了。 今天的推荐游戏是塔防游戏,它综合了策略,以及当你试着使用建立炮台防御抵,阻止敌人到达目标的那种不 小的紧张感。完整的项目源码免费的请见主页流动文字自取。 来啊!来造房子啊!这款超耐玩的塔防游戏.

顾木子吖的博客 1万+

用python实现代码雨(电影黑客帝国里的效果,代码可直接运行)

用python实现代码雨: # -*- coding:utf-8 -*- import random import pygame from pygame.locals import * from sys import exit PANEL_width = 1920 PANEL_highly = 1080 FONT_PX = 40 pygame.init() # 创建一个可视窗口, 如果不想全屏运行,可以把 FULLSCREEN 参数去掉 winSur = pygame.display.set_mode

数据知道的博客 4万+

深入讲解一下 Pygame 的源码

Pygame 是一个**“C 写的 Python 库”**,它为 SDL 库穿上了一件 Python 的“外衣”。src_c/是它的心脏,包含了所有高性能的核心逻辑。src_py/提供了一些纯 Python 的功能和模块组织。它的工作模式是**“Python 指挥,C 翻译,SDL 干活”**。学习源码的最佳方式是从一个具体的 API 调用出发,追踪其在 C 代码中的实现,最终看到它如何调用 SDL 函数。希望这个导览能帮助你理解 Pygame 源码的结构和奥秘!

u011091936的博客 970

Linux 系统常用命令速查手册,值得收藏!

Linux 系统常用命令速查手册,值得收藏! 给大家收集整理了日常常用的 Linux 系统命令,仅供大家参考。 系统信息 arch #显示机器的处理器架构(1) uname -m #显示机器的处理器架构(2) uname -r #显示正在使用的内核版本 dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda #罗列一个磁盘的架构特性 hdparm -tT /dev/sda #在磁盘上执行测试性读取操作 c

Neko的博客 1205

【pygame游戏开发】这几个经典游戏,勾起了少年的快乐

给大家分享几个好玩有趣的小游戏,既提升了学习的兴趣,又提升了学习效率,告别枯燥的学习。 一、飞机大战 1、源码部分 模块导入 import sys import cfg import pygame from modules import * 游戏界面 def GamingInterface(num_player, screen): # 初始化 pygame.mixer.music.load(cfg.SOUNDPATHS['Cool Space Music']) pygame.mi

轻松学python的博客 2万+

【Python游戏】Python实现一个雷霆战机游戏 | 附带源码

前言 今天给大家带来的是一个我们从小就玩过的一个小游戏,雷霆战机,我相信很多小伙伴都是玩过的,特别是跟小编一样的90的小伙伴,还记得之前为了玩这个游戏,可以在网吧打开电脑直接4399,哈哈,也是一段美好的回忆~ 现在自己做出来的时候还是觉得挺有成就感的,比较可以自由自在的玩啦! 相关文件 想学Python的小伙伴可以关注小编的公众号【Python日志】 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复雷霆战机 Python源码、问题解答学习交流群:77

Gtieguo的博客 1万+

c++病毒/恶搞代码大全

病毒Code

wangyuhan2010的博客 6万+

Pygame小游戏:玩扫雷就在瞎点的,不止你一个人。

前言 《扫雷》是一款大众类的益智小游戏,于1992年发行。 游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个 雷即全盘皆输。 它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏,是不是 每次见到戴上墨镜的小人很有成就感?在那些还没有网(被切断网)的岁月,扫雷曾陪伴无数人度 过了他们的童年。你的最佳纪录是多少?小编在工作间隙随手刷了一局30秒(囧????)。 那么?怎么才能通关呢?这,有生之年靠自己猜可能做不到了,BUT我

xy258009的博客 1万+

16 - python 仿写飞翔的小鸟,附带源码

在写飞翔的小鸟游戏前,要用到pygame这个模块。pygame是一个利用SDL库(全名Simple DirectMedia Layer)写就的游戏库。可以用pip3 install pygame命令来安装pygame。也可在pycharm中安装 pycharm安装方式:File -->setting ...

weixin_44252609的博客 6476

pygame:超级玛丽

模块写入,就是单纯的写py文件,调用方法from 模块儿名 import * 本体源码 import pygame,sys#模块导入 from player import *#导入所有本模块的内容 from bullet import *#导入所有本模块的内容 from 乌龟模块 import * #将代码修改成面向对象的形式 pygame.init()#初始化 窗体=pygame.displ...

流年博客 3644

【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

表弟大周末的跑来我家,没事干天天骚扰我,搞得我都不能跟小姐姐好好聊天了,于是为了打发表弟,我决定用Python做一个小游戏来消耗一下他的精力...

轻松学python的博客 7万+

【Pygame经典合集】​​​​​​终极白给大招:让你玩儿到爽(附多款游戏源码)

导语 嘿!我是木木子,关注我——跟我一起玩游戏啦~ 其实嘛?最近的话游戏的话实在是没什么可以写的了,很多游戏的话太难仿制起来很费时间,于是就有了今天这篇小合集——​ ​ 哈哈哈,这是一个pygame的项目,内含4款单个游戏的哦!想玩那款玩儿那款的哈...... 今天是游戏合集 本文是由4个游戏组合而成的项目案例哈如下???????????????????????? Pygame小游戏合集:《坦克大战》、《推箱子》、《吃豆豆》、《FlappyBird》。 希望大家能喜欢: 我想为你们写更多更多

顾木子吖的博客 7475

【Python游戏】Python基于pygame和random模块开发的一个拼图小游戏 | 附带源码

相关文件 想学Python的小伙伴可以关注小编的公众号【Python日志】 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复 拼图 Python源码、问题解答学习交流群:773162165 开发环境 Python版本:3.6.7 相关模块: pygame random sys cfg os 以及一些python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 效果展示 开始界面 选择M,是一个4x4的界面

Gtieguo的博客 4562

【Pygame小游戏】超好玩的——Python版“愤怒的小鸟”,我能玩上一整天(附源码)

导语 哈喽!大家好!今天给大家更新一款经典小游戏吖! 十几年过去了,这款游戏渐渐被人遗忘。这是多少人的童年呢? 过气游戏?小鸟不angry,你还真以为我是“hello bird”? ​ 现在的冷天气,除了穿多点儿衣服,可能就要靠这只火爆的小鸟给大家升温了! ​正文 首先环境安装部分: 准备—Python3.6、Pycharm2021、最主要的游戏模块Pygame、以及一些自带的模块直接可用的。 游戏源码可版本不一致也能运行,相应的模块安装好就可,自行安排! pip install -i

xy258009的博客 4504

【Python游戏】基于Python的pygame模块实现的天天酷跑游戏 | 附带源码

我相信很多小伙伴都玩过的第一个腾讯游戏,那就是天天酷跑,还记得之前为了凑齐钻石买小单车、人物、坐骑,小编可是花费了老长时间去弄这个的!!不过现在的天天酷跑随便冲个钱都能上大几百万分,没有了以前的那种快乐了!......

Q494958217的博客 3316

Python中使用Pygame模块写入门级小游戏

Python中使用Pygame模块写入门级小游戏 这是刚开始学习python时候,使用pygame写的一个低端的飞机游戏,后来网上的某某热狗很火(你懂的),就把资源换成了吃热狗和发射热狗。功能没做完,比较懒,后面其实应该加一个敌机爆炸的效果和hot dog数增加的效果会更好。其实就是当发射的热狗碰到敌机的区域坐标的时候就更换一个图片达到效果同时把hot dog加一就行 pygame 一、Pygam...

weixin_44898911的博客 3961

【Python游戏】Python实现一个推箱子小游戏 | 附带源码

相关文件 想学Python的小伙伴可以关注小编的公众号【Python日志】 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复推箱子小游戏 Python源码、问题解答学习交流群:773162165 开发环境 Python版本:3.7.8 相关模块: requests模块; tqdm模块; pyfreeproxy模块; pyecharts模块; 以及一些python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 效

Gtieguo的博客 5559

植物大战僵尸Python版,附带源码注解

在PythonPlantsVsZombies-master\source\data,我们可以进行自定义配置,例如僵尸的位置和时间,背景信息。

weixin_47151388的博客 7701
上一篇: 认识python---下载环境及安装配置
下一篇: 用python来写一个视频播放小工具(附带源码)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值