【Pygame实战】代码版《舞动青春*炫舞》能否引领音舞游戏再一次爆发?“你还记得最浪漫的舞蹈游戏炫舞吗?”

news2024/12/23 0:15:48

导语

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 random

import time
import threading

random.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=50
    global list1,list
    list.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+113
    x=50                    
def chushi():
    global x
    x=50

    screen.fill(bg)
    global list
    global list1
    list.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=50
    for 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+113
    x=50
        
x1=150
flag=1
def yidong():
    #print("sss")
    global flag
    global list
    global x1
    global clock
    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)
    #print(x1)
    pygame.display.flip()
    x1=x1+sudu
    if 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+sudu
            x1=150    
            flag=1
        chushi()
   

class task(threading.Thread):
     def __init__(self):
         threading.Thread.__init__(self)
         self.thread_stop = False
     def 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 x1
    
    screen.fill((0,0,0))
    global x
    global flag
    x=50
    flag=0
    if 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=1
        if event.type == pygame.KEYDOWN and flag==1:
            #print("sssss")
            #if event.key == 27:
            #   cmd=2
            if event.key == pygame.K_ESCAPE:
                t1.stop()
                sys.exit()
            if event.key == pygame.K_UP:
                cmd=2
            if event.key == pygame.K_DOWN:
                cmd=4
            if event.key == pygame.K_RIGHT:
                cmd=3
            if event.key == pygame.K_LEFT:
                cmd=1
            if event.key == pygame.K_SPACE:
                cmd=5
                if len(list)==1:
                    del list[0]
                    chenggong() 
                     
                    
                    continue
                
            
            if 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+113
                del 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 |已有文章汇总 | 持续更新,直接看这篇就够了

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GIS工具maptalks开发手册(二)01-11——渲染文字及参数注释

GIS工具maptalks开发手册(二)01-11——渲染文字及参数注释 效果 代码 index.html <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <title>…

E. Gardener and Tree(拓扑排序)

Problem - 1593E - Codeforces 树是一个无定向的连接图&#xff0c;其中没有循环。这个问题是关于无根的树。一棵树的叶子是一个顶点&#xff0c;它最多与一个顶点相连。 园丁维塔利用n个顶点种了一棵树。他决定对这棵树进行修剪。为了做到这一点&#xff0c;他进行了一些操作…

云原生应用的最小特权原则

IDC 预计&#xff0c;从现在到 2024 年初&#xff0c;将开发和部署 5 亿个新应用程序——超过过去 40 年的总和。 Gartner 预测&#xff0c;到 2025 年&#xff0c;75% 的企业将运行某种容器化应用程序。 现代应用程序需要现代安全性。 公共云供应商非常积极地提升平台安全性&…

JAVA培训之连接查询之子查询

子查询就是嵌套查询&#xff0c;即SELECT语句中包含SELECT语句&#xff0c;如果一条语句中存在两个&#xff0c;或两个以上SELECT&#xff0c;那么就是子查询语句了。 子查询出现的位置&#xff1a; Where子句中&#xff0c;作为条件存在&#xff1b;from后&#xff0c;作为表…

Bootstrap学习(十一)

模态框使用&#xff1a; tab标签页组件 模态框使用&#xff1a; 有属性、方法、事件 fade显示时的渐变动画可加可不加&#xff0c;role是屏幕辅助设备用的 aria-lable屏幕辅助设备用的 静态的模态框是不展示的&#xff0c;需要调用展示方法才能展示 在中心内容放一个表单&…

Transformer Encoder-Decoer 结构回顾

有关于Transformer、BERT及其各种变体的详细介绍请参照笔者另一篇博客&#xff1a;最火的几个全网络预训练模型梳理整合&#xff08;BERT、ALBERT、XLNet详解&#xff09;。 本文基于对T5一文的理解&#xff0c;再重新回顾一下有关于auto-encoder、auto-regressive等常见概念&…

Elasticsearch 安装及启动【Windows】

一、下载 Elasticsearch 官网下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases#elasticsearch 选择自己所需版本进行下载&#xff0c;这里以Elasticsearch 8.2.2 为例 点击 Download&#xff0c;选择 Windows 版本 二、使用步骤 1.安装 Elasticse…

大数据培训课程WordCount案例实操

WordCount案例实操 1&#xff0e;需求 在给定的文本文件中统计输出每一个单词出现的总次数 &#xff08;1&#xff09;输入数据 &#xff08;2&#xff09;期望输出数据 atguigu 2 banzhang 1 cls 2 hadoop 1 jiao 1 ss 2 xue 1 2&#xff0e;需求分析 …

如何看待越来越多人报名参加软考?

可以肯定的告诉你软考证书是有用的。 但是软考证书如果对于自己今后的职业生涯规划也有帮助&#xff0c;和你的职业发展和需求相匹配&#xff0c;那才能发挥软考证书最大的优势。 软考证书的用处体现在哪里&#xff1f; 1、证书认可度高 软考是一种简称&#xff0c;全称是计…

变分推断(Variational Inference)解析

一、什么是变分推断 假设在一个贝叶斯模型中&#xff0c;xxx为一组观测变量&#xff0c;zzz为一组隐变量&#xff08;参数也看做随机变量&#xff0c;包含在zzz中&#xff09;&#xff0c;则推断问题为计算后验概率密度P(z∣x)P(z|x)P(z∣x)。根据贝叶斯公式&#xff0c;有&am…

如何使用向导创建Openflow 流表-网络测试仪实操

使用向导创建Openflow中的FlowTable&#xff0c;按照下面的步骤&#xff1a; 1、打开Renix软件&#xff0c;连接机框并预约测试端口&#xff1b; 2、配置一个IPv4接口 3、配置一个OpenFlowController绑定步骤二中的IPv4接口 4、创建一条RAW流&#xff08;这条流中包含FlowTabl…

虹科QA | SWCF2022 11月29日演讲笔记:卫星传输链路中的关键技术分享

虹科2022年度SWCF卫星通信与仿真测试研讨会正在进行中。昨日精彩演讲&#xff1a;卫星传输链路中的关键技术分享&#xff0c;感谢大家的观看与支持&#xff01; 昨晚的直播间收到一些粉丝的技术问题&#xff0c;我们汇总了热点问题并请讲师详细解答&#xff0c;在此整理分享给…

2022年十一届认证杯(小美赛)C题思路新鲜出炉

对人类活动进行分类 人类行为理解的一个重要方面是对日常活动的识别和监控。一个可穿戴的活动识别 系统可以提高许多关键领域的生活质量&#xff0c;如动态监测、家庭康复和跌倒检测。基于 惯性传感器的活动识别系统用于监测和观察老年人远程个人报警系统[1]&#xff0c;检测和…

结合RocketMQ 源码,带你了解并发编程的三大神器

摘要&#xff1a;本文结合 RocketMQ 源码&#xff0c;分享并发编程三大神器的相关知识点。本文分享自华为云社区《读 RocketMQ 源码&#xff0c;学习并发编程三大神器》&#xff0c;作者&#xff1a;勇哥java实战分享。 这篇文章&#xff0c;笔者结合 RocketMQ 源码&#xff0…

WRF模式行业应用问题解析及辅助学习

>>> 高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 今天小编给大家整理了WRF模式行业应用问题解析&#xff0c;不管是正在应用WRF还是入门小白&#xff0c;都建议多听一些行业问题&#xff0c;借鉴及深入了解&#xff0c;以下摘抄了个别问题&a…

5. 线性回归的从零开始实现

1.生成数据集 # num_examples 表示样本数量&#xff0c;也就是房屋数量 # w是权重向量 def synthetic_data(w, b, num_examples): #save"""生成yXwb噪声"""# X是一个从独立的正态分布中抽取的随机数的张量&#xff0c;正态分布的平均值为0、标…

双十二怎么入手,几款性能好物分享

过完了双十一&#xff0c;接下来就应该面临今年最后一个大优惠力度的双十二了&#xff0c;而且双十二的时间刚好靠近在过年&#xff0c;所以在这期间相信很多人购买的物品是更加偏向于家居用品方面&#xff0c;那么就不能够错过本篇文章了&#xff0c;本篇文章将为你们分享一些…

[附源码]计算机毕业设计springboot松林小区疫情防控信息管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

sonarqube安装

Sonarqube安装文档 1. 环境准备 参照官方文档Prerequisites and Overview | SonarQube Docs 安装符合sonarqube版本的JDK和数据库 目前服务器上JDK版本为11.0.2 sonarqube版本为9.1.0 postgresql版本为13.7 2. 安装JDK11.0.2 将openjdk-11.0.2_linux-x64_bin.tar.gz放到/usr/…

spring详解(一)

今天我们来学习一个新的框架spring!!! spring是什么呢? spring是2003年兴起的,是一款轻量级、非侵入式的IOC和AOP的一站式的java开发框架&#xff0c;为简化企业即开发而生。 轻量级&#xff1a;spring核心功能的jar包不大 非侵入式&#xff1a;我们的业务代码不需要继承或…