运行后的效果差不多就是介个样纸啦
虽然很简单,但是咱们还是需要一些小准备的。我们首先需要下载pygame库,用于咱们的窗口和运行条件
首先 win + R 打开我们的运行窗口,然后输入cmd,像这样:
蓝后点击确定,进入命令提示符中,输入pip install pygame 像这样:
点击回车就下载啦!下载完毕,接下来就可以进入我们的代码的编写环节啦!想想还有点小激动
首先咱们还是先导入库
# 导入pygame库,并进行初始化
import pygame, sys, random
from pygame.locals import*
pygame.init()
蓝后,创建窗口,设置一个喜欢的标题
# 创建一个长宽分别为480/650窗口
canvas = pygame.display.set_mode((400, 600))
canvas.fill((255, 255, 255))
# 设置窗口标题
pygame.display.set_caption("幸运小星星")
当然,退出程序也先搞定
#窗口点击事件
def handleEvent():
for event in pygame.event.get():
if event.type == QUIT :
pygame.quit()
sys.exit()
到这里,咱们就有一个高端的窗口啦!
图片的选取咱们也得做好,这里咱们使用随机的方式整出每一张要展现的图片,当然。图片咱们需要自己先准备好,放入咱们的文件夹中。我们设置根据时间减慢速度,当时间小于0之后,等到坐标变成0,也就是图片到达刚刚好的位置的时候我们就让图片停止
#参选图片
class Photo():
def __init__(self,m):
self.width = 400
self.height = 600
self.n = random.randint(1,6)
self.n1 = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
self.x1 = 0
self.y1 = 0
self.x2 = 0
self.y2 = -self.height
self.m = m
# 创建paint方法
def paint(self):
canvas.blit(self.img, (self.x1, self.y1))
canvas.blit(self.imgs, (self.x2, self.y2))
if self.y1 >= self.height:
self.n = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
if self.y2 >= self.height:
self.n1 = random.randint(1,6)
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
# 创建step方法
def step(self):
self.y1 = self.y1 + self.m
self.y2 = self.y2 + self.m
if self.y1 > self.height:
self.y1 = -self.height
if self.y2 > self.height:
self.y2 = -self.height
if Game.t == 10:
self.m = 10
if Game.t == 8:
self.m = 8
if Game.t == 5:
self.m = 5
if Game.t == 3:
self.m =1
if Game.t <= 0:
if self.y1 == 0 or self.y2 ==0:
self.m = 0
到这里就差不多结束啦,源码附上:
# 导入pygame库,并进行初始化
import pygame, sys, random
from pygame.locals import*
pygame.init()
# 创建一个长宽分别为480/650窗口
canvas = pygame.display.set_mode((400, 600))
canvas.fill((255, 255, 255))
# 设置窗口标题
pygame.display.set_caption("幸运小星星")
#窗口点击事件
def handleEvent():
for event in pygame.event.get():
if event.type == QUIT :
pygame.quit()
sys.exit()
#参选图片
class Photo():
def __init__(self,m):
self.width = 400
self.height = 600
self.n = random.randint(1,6)
self.n1 = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
self.x1 = 0
self.y1 = 0
self.x2 = 0
self.y2 = -self.height
self.m = m
# 创建paint方法
def paint(self):
canvas.blit(self.img, (self.x1, self.y1))
canvas.blit(self.imgs, (self.x2, self.y2))
if self.y1 >= self.height:
self.n = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
if self.y2 >= self.height:
self.n1 = random.randint(1,6)
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
# 创建step方法
def step(self):
self.y1 = self.y1 + self.m
self.y2 = self.y2 + self.m
if self.y1 > self.height:
self.y1 = -self.height
if self.y2 > self.height:
self.y2 = -self.height
if Game.t == 10:
self.m = 10
if Game.t == 8:
self.m = 8
if Game.t == 5:
self.m = 5
if Game.t == 3:
self.m =1
if Game.t <= 0:
if self.y1 == 0 or self.y2 ==0:
self.m = 0
#Game类
class Game():
#创建移动速度
m = 50
#照片对象
photo = Photo(m)
#设定初始时间
t=30
#设定初始分数
n=0
#绘制组件
def conPaint():
Game.photo.paint()
#计时方法
def gametime():
#倒计时判断
if Game.n%50==0:
Game.t=Game.t-1
Game.n=Game.n+1
#组件移动
def conStep():
Game.photo.step()
#控制方法
def control():
conPaint()
conStep()
gametime()
while True:
#调用控制方法
control()
# 更新屏幕内容
pygame.display.update()
# 处理关闭游戏
handleEvent()
很简单的一个小程序,如果想要加点声音,整点气氛,咱们可以用这个方法,在里面传入音频路径就可以啦!当然,不要忘记在循环里调用哦!
bgmusic=pygame.mixer.Sound() #括号里填入音频路径
bgmusic.play() # 这个在循环里调用
向各位大佬学习,在前往优秀的路途中勇往直前,勇闯天涯
Kubernetes项目使用Go语言编写,对Go api原生支持非常便捷。本篇文章介绍了如何...
Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式...
3 月 5 日消息 微软 Edge 浏览器的稳定版今天已经更新到 89.0.774.45 版本,这次...
背景 测试mysql5.7和mysql8.0 分别在读写、只读、只写模式下不同并发时的性能(t...
点赞功能是目前app开发基本的功能 今天我们就来聊聊 点赞、评论、收藏等这些场景...
默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个...
利用条件编译控制 基本知识 #define 定义一个预处理宏#undef 取消宏的定义#if 编...
1月29日消息 目前,基于 Chromium 的 Edge 浏览器已经越来越完善,不过相比老版...
ASP.NET Core 提供运行状况检查中间件和库,以用于报告应用基础结构组件的运行状...
本文实例为大家分享了小程序实现列表倒计时的具体代码,供大家参考,具体内容如...