【Pygame实战】代码版《舞动青春*炫舞》能否引领音舞游戏再一次爆发?“你还记得最浪漫的舞蹈游戏炫舞吗?”
创始人
2024-03-12 11:23:08
0

导语

Hello,大家好呀!我是木木子吖~

一个集美貌幽默风趣善良可爱并努力码代码的程序媛一枚。

听说关注我的人会一夜暴富发大财哦~

(哇哇哇 这真的爱😍😍)

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

——PS小故事

昨天去老姐家里蹭饭,进门的时候就看到佳佳妹(我姐的女儿)低头霹雳吧啦一顿操作猛如

虎,饭好了都还在玩儿,什么东西这么好玩?一走进就看到这是一款酷似炫舞的小游戏。

(死去的回忆突然在攻击我😂~没想到现在还有这款游戏就是不知道升级了多少次啦)

不知道你们还记不记得曾经有个风靡一时的舞蹈游戏炫舞。

我读小学的时候,大概是09年吧,这个游戏非常火爆,如果你去网吧,十个女生里,有十一个

都是在玩炫舞,像我就是其中的一员。那个时候还没有英雄联盟王者荣耀,女生玩炫舞,男生

玩地下城穿越火线!🥳

提到QQ炫舞,可能很多人想到的第一个词是“青春”。恍然间,这个承载了无数人回忆与时光的

游戏品牌,已经走到了第十几个年头。今天小编就来给大家尝试做一款简单的简陋版的小游

戏——《舞动青春*炫舞》。(其实是简单的五分之一的成品,感觉今天洗头发又要掉一堆了)

正文

各位小可爱们,今天就是12月2号啦!最近直线降温简直能冻掉下巴🤶~现在可是一年中刚入冬的

日子呀,你们最近出门时,可要好好注意保暖哟!

哪怕再冷的天气,也不可能阻止好动的哒!嘿嘿,一起来学习Python,来敲一敲代码吧👧

一、环境安装

小编使用的环境:Python3、Pycharm社区版、pygame模块,部分自带的就不一一 展示啦。

 模块安装:pip install -i https://pypi.douban.com/simple/+模块名 

背景图片大家可以自己修改的啦~嘿嘿怎么好看怎么来撒!

二、代码展示

主程序:

import pygame
import sys
import randomimport time
import threadingrandom.random()
flag=1# 创建线程对象# 初始化pygame
pygame.init()
# 定义变量
size = width, height = 1024,768
bg = (0, 0, 0)
# 加载logo图img = pygame.image.load("shang_hong.png")
# 获取图像的位置# 创建一个主窗口
screen = pygame.display.set_mode(size)# 标题
pygame.display.set_caption("炫舞——简洁版")# 创建游戏主循环
clock = pygame.time.Clock()  
sudu=0.5
list=[]
list1=[]def fuyuan():x=50global list1,listlist.clear()for i in range(1,10):list.append(list1[i-1])for i in list1:if i==1:img = pygame.image.load("zuo_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==2:img = pygame.image.load("shang_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==3:img = pygame.image.load("you_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==4:img = pygame.image.load("xia_hong.png")screen.blit(img, [x,500])pygame.display.flip()x=x+113x=50                    
def chushi():global xx=50screen.fill(bg)global listglobal list1list.clear()list1.clear()for i in range(1,9):i=random.randint(1,4)list.append(i)list.append(5)#print(list)for i in range(1,10):   list1.append(list[i-1])#print(list1)img = pygame.image.load("jindu.jpg")screen.blit(img, [100,400])pygame.display.flip()x=50for i in list:if i==1:img = pygame.image.load("zuo_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==2:img = pygame.image.load("shang_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==3:img = pygame.image.load("you_hong.png")screen.blit(img, [x,500])pygame.display.flip()if i==4:img = pygame.image.load("xia_hong.png")screen.blit(img, [x,500])pygame.display.flip()x=x+113x=50x1=150
flag=1
def yidong():#print("sss")global flagglobal listglobal x1global clockclock.tick(800)#print(x1)img = pygame.image.load("jindu.jpg")screen.blit(img, [100,400])   pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)#print(x1)pygame.display.flip()x1=x1+suduif x1>780:#print(len(list))if len(list)==0:while x1<780:flag=0#print(x1)clock.tick(800)#print(x1)img = pygame.image.load("jindu.jpg")screen.blit(img, [100,400])   pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)pygame.display.flip()x1=x1+sudu flag=1    #chushi()#list.clear()x1=150 if len(list)>0:screen.fill((0,0,0))miss()while x1<780:flag=0#print(x1)clock.tick(800)#print(x1)img = pygame.image.load("jindu.jpg")screen.blit(img, [100,400])   pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)pygame.display.flip()x1=x1+sudux1=150    flag=1chushi()class task(threading.Thread):def __init__(self):threading.Thread.__init__(self)self.thread_stop = Falsedef run(self):while not self.thread_stop:yidong()def stop(self):self.thread_stop = True t1 = task()
t1.start()#yidong()chushi()
x=50
def miss():font = pygame.font.Font(None, 150)text = font.render('Miss!', True, (232,0,176), (0, 0, 0))screen.blit(text, (200, 150))def chenggong():global x1screen.fill((0,0,0))global xglobal flagx=50flag=0if x1<600:font = pygame.font.Font(None, 150)text = font.render('Good!', True, (232,0,176), (0, 0, 0))screen.blit(text, (200, 150))if x1>625:font = pygame.font.Font(None, 150)text = font.render('Good!', True, (232,0,176), (0, 0, 0))screen.blit(text, (200, 150))if x1>=600 and x1<=625:font = pygame.font.Font(None, 150)text = font.render('Perfict!', True, (232,0,176), (0, 0, 0))screen.blit(text, (200, 150))x1=150    while True:clock.tick(100)# 设置初始值for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()# 图像移动 KEYDOWN 键盘按下事件# 通过 key 属性对应按键cmd=1if event.type == pygame.KEYDOWN and flag==1:#print("sssss")#if event.key == 27:#   cmd=2if event.key == pygame.K_ESCAPE:t1.stop()sys.exit()if event.key == pygame.K_UP:cmd=2if event.key == pygame.K_DOWN:cmd=4if event.key == pygame.K_RIGHT:cmd=3if event.key == pygame.K_LEFT:cmd=1if event.key == pygame.K_SPACE:cmd=5if len(list)==1:del list[0]chenggong() continueif cmd==list[0]:if cmd==1:#print(x)img = pygame.image.load("zuo_lv.png")screen.blit(img, [x,500])pygame.display.flip()if cmd==2:#print(x)img = pygame.image.load("shang_lv.png")screen.blit(img, [x,500])pygame.display.flip()if cmd==3:#print(x)img = pygame.image.load("you_lv.png")screen.blit(img, [x,500])pygame.display.flip()   if cmd==4:#print(x)img = pygame.image.load("xia_lv.png")screen.blit(img, [x,500])pygame.display.flip()x=x+113del list[0]else:print(list1)#print("Aaaa")fuyuan()x=50#print("sss")#screen.fill((0,0,0))'''# 移动图像position = position.move(site)# 填充背景screen.fill(bg)# 放置图片screen.blit(img, position)# 更新显示界面pygame.display.flip()'''

三、效果展示

1)简洁版炫舞

​2)随机截图

3)MISS节拍

总结

好啦!文章写到这里就正式结束了哦~炫舞和dancer们走过的点点滴滴,满满都是回忆杀啊!

你们的好动因子有没有蠢蠢欲动啊,感觉来玩儿吧!

🎯完整的免费源码领取处:找我吖!文末公众hao可自行领取,滴滴我也可!

🔨推荐往期文章——

项目1.0  超级玛丽

程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】

项目1.1   扫雷

 Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......

项目1.2   魂斗罗

Pygame实战:多年后“魂斗罗”像素风归来 不止是经典与情怀@全体成员

项目1.4  水果忍者

【Pygame实战】风靡全球的切水果游戏升级版“水果忍者”上线啦,你敢来PK嘛?

项目1.0  病毒版蛇蛇大作战

【Pygame实战】这游戏有毒,刷爆朋友圈:小编已与病毒版贪吃蛇大战了三百回合,最高分339?

🎄文章汇总——

汇总合集  Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~)

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...