用户:
勇敢小豆豆查看:0 回复:0 评论:0 创建时间:2022-06-11T11:15:36
【作品展示】

【作品介绍】
今天稍做了修改,调整了一些参数提高了游戏难度。上下左右或wasd控制移动,q暂停,这是移动可达到重新开始时瞬移的效果,e加速,速度又会降下来,可连续加速,鼠标右键为重启。上述均为超能力,每局有5次使用机会。红方块是我方方块,对方移动速度会逐渐加快。
【作品源代码】
import pygame
import sys
import time
import random
from pygame.locals import *
import random
# 初始化
pygame.init()
# 初始界面
for __count in range(500):
# 屏幕
bg = pygame.display.set_mode((800, 800))
pygame.display.set_caption("温软游戏")
bg.fill([255,255,255])
# 图标及标语
cp = pygame.font.Font(None, 70)
cr = cp.render("Gentle gameplay",True,[255,0,0])
lg = pygame.image.load("E:\\dzj\\logo-cx.png")
tb = pygame.image.load("E:\\dzj\\海龟.png")
# 打印方法
bg.blit(tb,[380,250])
bg.blit(lg,[320,100])
bg.blit(cr,[200,600])
pygame.display.update()
# 关闭
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.quit()
# 参考数据
xh = 0
wz = [30, 150, 100, 100]
dwz = [30,0,100,100]
喵c = 3
sd = 0.1
fsc = 0
ws = 50
sy = 5
size = [750,600]
# 主循环
while 喵c > 0:
# 分数控制
xh +=1
# 极速模式控制
fsc +=1
if ws > 50:
ws -=0.03
else:
pass
# 增加难度
sd +=0.00005
# 窗口
screen = pygame.display.set_mode(size)
pygame.display.set_caption("激素逃亡")
# 加速暂停机会显示
喵 = pygame.font.Font(None, 50)
sr = 喵.render("""Chance:""" + str(sy), True, [255, 255, 255])
# 生命值输出
喵 = pygame.font.Font(None, 50)
喵r = 喵.render("""Health:""" + str(喵c), True, [255, 255, 255])
# 绘制我方和敌方方块
df = pygame.draw.rect(screen, [150, 150, 150], dwz, 0, border_radius=20)
tk = pygame.draw.rect(screen, [255,0,0], wz, 0, border_radius=20)
screen.blit(sr,[550,0])
screen.blit(喵r, [550, 30])
pygame.display.flip()
# 敌方移动代码
if tk.y < df.y:
dwz[1] -=sd
elif tk.y > df.y:
dwz[1] +=sd
else:
pass
if tk.x < df.x:
dwz[0] -=sd
elif tk.x > df.x:
dwz[0] +=sd
else:
pass
# pygame事件
# 关闭程序
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.quit()
# 我方方块控制代码
elif event.type == KEYDOWN:
# 我方移动
# 判断是否离开屏幕
if tk.x < 20:
wz[0] +=20
elif tk.x > 590:
wz[0] -=20
elif tk.y < 20:
wz[1] +=20
elif tk.y > 450:
wz[1] -=20
# 我方移动
else:
if event.key == K_UP or event.key == ord("w"):
wz[1] -=ws
elif event.key == K_DOWN or event.key == ord("s"):
wz[1] +=ws
elif event.key == K_LEFT or event.key == ord("a"):
wz[0] -=ws
elif event.key == K_RIGHT or event.key == ord("d"):
wz[0] +=ws
# 暂停控制
elif event.key == ord("q"):
if sy > 0:
pygame.time.wait(1500)
sy -=1
# 加速控制
elif event.key == ord("e"):
if sy > 0:
ws +=20
sy -=1
else:
pass
# 重启控制
elif event.type == MOUSEBUTTONDOWN:
if BUTTON_RIGHT:
if sy > 0:
# 重置参数
xh = 0
wz = [30, 150, 100, 100]
dwz = [30, 0, 100, 100]
喵c = 3
sd = 0.1
fsc = 0
ws = 50
size = [750, 600]
sy -=1
else:
pass
else:
pass
else:
pass
# 碰撞检测
if tk.colliderect(df):
wz = [30, 150, 100, 100]
dwz = [30, 0,100,100]
喵c -=1
sd = 0.1
else:
pass
pygame.quit()
pygame.init()
# 根据循环频率计算坚持时间
cs = str(round(xh / 495))
# 结尾界面
while True:
# 屏幕
bg = pygame.display.set_mode((size))
pygame.display.set_caption("激素逃亡")
bg.fill([0,0,255])
# 文本:Game Over
go = pygame.font.Font(None,100)
gr = go.render("Game Over",True,[255,0,0])
# 分数文本
fb = pygame.font.Font(None,50)
fr = fb.render("You stick with it for " + cs + " seconds",True,[150,150,150])
# 打印方法
bg.blit(gr, [150, 0])
bg.blit(fr,[20,300])
pygame.display.update()
# 关闭机制
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.quit()
else:
pass
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn