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


    导语

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

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

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

    (哇哇哇 这真的爱😍😍)

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

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

    ——PS小故事

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

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

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

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

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

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

    玩地下城穿越火线!🥳

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

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

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

    正文

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

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

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

    一、环境安装

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

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

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

    二、代码展示

    主程序:

    1. import pygame
    2. import sys
    3. import random
    4. import time
    5. import threading
    6. random.random()
    7. flag=1
    8. # 创建线程对象
    9. # 初始化pygame
    10. pygame.init()
    11. # 定义变量
    12. size = width, height = 1024,768
    13. bg = (0, 0, 0)
    14. # 加载logo图
    15. img = pygame.image.load("shang_hong.png")
    16. # 获取图像的位置
    17. # 创建一个主窗口
    18. screen = pygame.display.set_mode(size)
    19. # 标题
    20. pygame.display.set_caption("炫舞——简洁版")
    21. # 创建游戏主循环
    22. clock = pygame.time.Clock()
    23. sudu=0.5
    24. list=[]
    25. list1=[]
    26. def fuyuan():
    27. x=50
    28. global list1,list
    29. list.clear()
    30. for i in range(1,10):
    31. list.append(list1[i-1])
    32. for i in list1:
    33. if i==1:
    34. img = pygame.image.load("zuo_hong.png")
    35. screen.blit(img, [x,500])
    36. pygame.display.flip()
    37. if i==2:
    38. img = pygame.image.load("shang_hong.png")
    39. screen.blit(img, [x,500])
    40. pygame.display.flip()
    41. if i==3:
    42. img = pygame.image.load("you_hong.png")
    43. screen.blit(img, [x,500])
    44. pygame.display.flip()
    45. if i==4:
    46. img = pygame.image.load("xia_hong.png")
    47. screen.blit(img, [x,500])
    48. pygame.display.flip()
    49. x=x+113
    50. x=50
    51. def chushi():
    52. global x
    53. x=50
    54. screen.fill(bg)
    55. global list
    56. global list1
    57. list.clear()
    58. list1.clear()
    59. for i in range(1,9):
    60. i=random.randint(1,4)
    61. list.append(i)
    62. list.append(5)
    63. #print(list)
    64. for i in range(1,10):
    65. list1.append(list[i-1])
    66. #print(list1)
    67. img = pygame.image.load("jindu.jpg")
    68. screen.blit(img, [100,400])
    69. pygame.display.flip()
    70. x=50
    71. for i in list:
    72. if i==1:
    73. img = pygame.image.load("zuo_hong.png")
    74. screen.blit(img, [x,500])
    75. pygame.display.flip()
    76. if i==2:
    77. img = pygame.image.load("shang_hong.png")
    78. screen.blit(img, [x,500])
    79. pygame.display.flip()
    80. if i==3:
    81. img = pygame.image.load("you_hong.png")
    82. screen.blit(img, [x,500])
    83. pygame.display.flip()
    84. if i==4:
    85. img = pygame.image.load("xia_hong.png")
    86. screen.blit(img, [x,500])
    87. pygame.display.flip()
    88. x=x+113
    89. x=50
    90. x1=150
    91. flag=1
    92. def yidong():
    93. #print("sss")
    94. global flag
    95. global list
    96. global x1
    97. global clock
    98. clock.tick(800)
    99. #print(x1)
    100. img = pygame.image.load("jindu.jpg")
    101. screen.blit(img, [100,400])
    102. pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)
    103. #print(x1)
    104. pygame.display.flip()
    105. x1=x1+sudu
    106. if x1>780:
    107. #print(len(list))
    108. if len(list)==0:
    109. while x1<780:
    110. flag=0
    111. #print(x1)
    112. clock.tick(800)
    113. #print(x1)
    114. img = pygame.image.load("jindu.jpg")
    115. screen.blit(img, [100,400])
    116. pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)
    117. pygame.display.flip()
    118. x1=x1+sudu
    119. flag=1
    120. #chushi()
    121. #list.clear()
    122. x1=150
    123. if len(list)>0:
    124. screen.fill((0,0,0))
    125. miss()
    126. while x1<780:
    127. flag=0
    128. #print(x1)
    129. clock.tick(800)
    130. #print(x1)
    131. img = pygame.image.load("jindu.jpg")
    132. screen.blit(img, [100,400])
    133. pygame.draw.circle(screen,(232,0,176),(x1,431),20,1000)
    134. pygame.display.flip()
    135. x1=x1+sudu
    136. x1=150
    137. flag=1
    138. chushi()
    139. class task(threading.Thread):
    140. def __init__(self):
    141. threading.Thread.__init__(self)
    142. self.thread_stop = False
    143. def run(self):
    144. while not self.thread_stop:
    145. yidong()
    146. def stop(self):
    147. self.thread_stop = True
    148. t1 = task()
    149. t1.start()
    150. #yidong()
    151. chushi()
    152. x=50
    153. def miss():
    154. font = pygame.font.Font(None, 150)
    155. text = font.render('Miss!', True, (232,0,176), (0, 0, 0))
    156. screen.blit(text, (200, 150))
    157. def chenggong():
    158. global x1
    159. screen.fill((0,0,0))
    160. global x
    161. global flag
    162. x=50
    163. flag=0
    164. if x1<600:
    165. font = pygame.font.Font(None, 150)
    166. text = font.render('Good!', True, (232,0,176), (0, 0, 0))
    167. screen.blit(text, (200, 150))
    168. if x1>625:
    169. font = pygame.font.Font(None, 150)
    170. text = font.render('Good!', True, (232,0,176), (0, 0, 0))
    171. screen.blit(text, (200, 150))
    172. if x1>=600 and x1<=625:
    173. font = pygame.font.Font(None, 150)
    174. text = font.render('Perfict!', True, (232,0,176), (0, 0, 0))
    175. screen.blit(text, (200, 150))
    176. x1=150
    177. while True:
    178. clock.tick(100)
    179. # 设置初始值
    180. for event in pygame.event.get():
    181. if event.type == pygame.QUIT:
    182. sys.exit()
    183. # 图像移动 KEYDOWN 键盘按下事件
    184. # 通过 key 属性对应按键
    185. cmd=1
    186. if event.type == pygame.KEYDOWN and flag==1:
    187. #print("sssss")
    188. #if event.key == 27:
    189. # cmd=2
    190. if event.key == pygame.K_ESCAPE:
    191. t1.stop()
    192. sys.exit()
    193. if event.key == pygame.K_UP:
    194. cmd=2
    195. if event.key == pygame.K_DOWN:
    196. cmd=4
    197. if event.key == pygame.K_RIGHT:
    198. cmd=3
    199. if event.key == pygame.K_LEFT:
    200. cmd=1
    201. if event.key == pygame.K_SPACE:
    202. cmd=5
    203. if len(list)==1:
    204. del list[0]
    205. chenggong()
    206. continue
    207. if cmd==list[0]:
    208. if cmd==1:
    209. #print(x)
    210. img = pygame.image.load("zuo_lv.png")
    211. screen.blit(img, [x,500])
    212. pygame.display.flip()
    213. if cmd==2:
    214. #print(x)
    215. img = pygame.image.load("shang_lv.png")
    216. screen.blit(img, [x,500])
    217. pygame.display.flip()
    218. if cmd==3:
    219. #print(x)
    220. img = pygame.image.load("you_lv.png")
    221. screen.blit(img, [x,500])
    222. pygame.display.flip()
    223. if cmd==4:
    224. #print(x)
    225. img = pygame.image.load("xia_lv.png")
    226. screen.blit(img, [x,500])
    227. pygame.display.flip()
    228. x=x+113
    229. del list[0]
    230. else:
    231. print(list1)
    232. #print("Aaaa")
    233. fuyuan()
    234. x=50
    235. #print("sss")
    236. #screen.fill((0,0,0))
    237. '''
    238. # 移动图像
    239. position = position.move(site)
    240. # 填充背景
    241. screen.fill(bg)
    242. # 放置图片
    243. screen.blit(img, position)
    244. # 更新显示界面
    245. pygame.display.flip()
    246. '''

    三、效果展示

    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 |已有文章汇总 | 持续更新,直接看这篇就够了

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

  • 相关阅读:
    【unity小技巧】实现无限滚动视图和类似CSGO的开箱抽奖功能及Content Size Fitter组件的使用介绍
    赋值b=a、浅拷贝copy.copy()、深拷贝copy.deepcopy(a)
    Postman使用json提取器和正则表达式实现接口的关联
    数据库调优厂商 OtterTune 宣布停止运营
    C++面向对象程序设计 - 函数库
    2609. 最长平衡子字符串 --力扣 --JAVA
    FFmpeg开发笔记(七)欧拉系统编译安装FFmpeg
    SaaS服务平台软件是什么?
    IDEA翻译插件Translation报错 -> 更新 TKK 失败,请检查网络连接问题,已解决
    Java基于Vue+SpringBoot的酒店客房管理系统
  • 原文地址:https://blog.csdn.net/weixin_55822277/article/details/128144571