一键生成舞曲编排的小程序(perl)

以下是要求

舞曲编排
一、分类

      |快                 |   慢

架型舞| 快三,中三,维也纳华尔兹| 慢三,华尔兹,(并四)
拉手舞| 吉特巴,平四 | 伦巴

二.排曲要求及注意事项:
(一)要求
1.拉手舞和架型舞交错
2.快慢交错
3.集体舞尽可能平均分布(一般十八摸,蒙古舞放在后面)
4.吉特巴和并四不要排在一起
5.总时长两个半小时左右,一般42宁可多一首不可少一首。
(二)注意事项:
1.每一种舞的节拍是不变的,但节奏的快慢是不一样的。例如华尔兹舞种都是三拍,但可分为维也纳华尔兹(快节奏)和华尔兹(慢节奏)。吉特巴、并四的节奏通常比较欢快,但也有很多慢节奏的,排的时候要注意听。所以一首舞曲的快慢不能只凭舞名分别。排曲的时候应特别注意。

借用代码注意选择三个文件夹,点歌,曲库,我的舞会。点歌,曲库里面放歌曲文件,排曲会优先考虑点歌里的文件。生成曲库后会把曲库里的音乐文件复制到文件夹 我的舞会 中去, 并在文件名开头标记顺序(00-42)

歌曲文件名必须包括关键字(慢三 慢四 中四 并四 中三 快三 华尔兹 维也纳 探戈 脱掉 64步 32步 16步 蒙古舞 集体恰恰 兔子舞 阿拉伯之夜 踩蟑螂 玛卡琳娜 十八摸 平四 吉特巴 伦巴 );

@list 里面放的是排曲模版顺序,可以自己改。
生成列表打印在屏幕上,会车开始复制操作

use 5.014;#一键排舞,排曲,舞曲序列
use strict;
use autodie;my @jxw =qw (慢三 慢四 中四 并四 中三 快三 华尔兹 维也纳 探戈);#jxw 架型舞
my @jtw =qw (脱掉 64步 32步 16步 蒙古舞 集体恰恰 兔子舞 阿拉伯之夜 踩蟑螂 玛卡琳娜 十八摸); #jtw 集体舞
my @dsw =qw (平四 吉特巴 伦巴 ) ; #搭手舞 my @jxwn; my @dswn;my @jtwn;my $dir='
C:\Users\Music\舞会曲目排曲\曲库
';#写上主曲库的位置
$dir=~ s/\s//g;#print "$dir\\*";my (@files) = glob ( "$dir\\*" );
my %dctp;#dancetypeLINE:foreach my $file(@files) {foreach my $wd(@jxw) {if ($file =~ /$wd/){push (@jxwn,$file);$dctp{$file}=$wd;next LINE;}}foreach my $wd(@dsw) {if ($file =~ /$wd/){push (@dswn,$file);$dctp{$file}=$wd;next LINE;}}foreach my $wd(@jtw) {if ($file =~ /$wd/){push (@jtwn,$file);$dctp{$file}=$wd;next LINE;}}$dctp{$file}="op or unmatch";
}use List::Util qw/shuffle/;my @plus =(@dswn,@jxwn,@jtwn);
@plus = shuffle @plus;#say for @plus;#进行处理得到一个随机排序的新的数组my $dir='
C:\Users\Music\舞会曲目排曲\点歌
';#写上点歌曲库的位置
$dir=~ s/\s//g;#print "$dir\\*";
my (@files) = glob ( "$dir\\*" );my @love;
foreach my $file(@files) {foreach my $wd(@dsw,@jxw,@jtw) {if ($file =~ m/$wd/){push (@love,$file);$dctp{$file}=$wd;last;}}
}@love = shuffle @love;@plus =(@love,@plus);my @list =qw { 慢四  吉特巴 16步 并四  伦巴  快三/维也纳华尔兹   平四(慢) 兔子舞 慢四
吉特巴 中三/慢三   伦巴  并四  32步 平四  慢四  吉特巴 慢三  集体恰恰    平四  伦巴
快三  吉特巴(慢)    64步 并四  伦巴  中三  平四  慢四  踩蟑螂/阿拉伯之夜   吉特巴 慢三
平四  并四  蒙古舞 慢四  吉特巴 慢三  平四  十八摸/玛卡琳娜    伦巴  慢四/中三/慢三(结束曲)};
#say "@list";my @mix=('C:\Users\Music\舞会曲目排曲\曲库\-开场曲-请大家双双起舞.mp3');
for (my $i=0;$i<=$#list;$i +=1){for (my $j=0;$j<=$#plus;$j +=1){if ($list[$i] =~ /$dctp{$plus[$j]}/){push (@mix, splice(@plus,$j,1)); last;};}
}my @new;
my @num =qw (00 01    02  03  04  05  06  07  08  09  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42
);
my $pst ='C:\Users\Music\舞会曲目排曲\我的舞会\\'; #生成排曲所在的文件夹for (my $i=0;$i<=$#mix;$i +=1){$new[$i]= $pst.$num[$i].
$mix[$i] =~ s/.+\\(.+)/$1/r;}for (my $i=0;$i<=$#mix;$i +=1){say ($num[$i].$mix[$i] =~ s/.+\\(.+)/$1/r);if ($i % 4 == 3 ){say '';}
}chomp(my $input=(<STDIN>));use File::Copy qw(copy);for (my $i=0;$i<=$#mix;$i +=1){copy($mix[$i],$new[$i]) or die "Copy failed: $!";
}

一键生成舞曲编排的小程序(perl)相关推荐

  1. 一键生成藏头诗小程序源码

    简介: 简单的小程序源码,后台须调用天行api的接口 上线步骤: 1.百度注册天行数据,完成邮箱验证 2.找到藏头诗生成api,点击申请即可出现key页面,初期是免费调用额度的,绑定微信增加10000 ...

  2. 10分钟开发一款“一键二次元化“AI小程序

    10分钟开发一款"一键二次元化"AI小程序 1. 创建人像卡通化应用 登录云开发平台.通过以下链接  https://workbench.aliyun.com/applicatio ...

  3. 小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈

    小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈 一.概述 需要用到的生成二维码组件(可自行下载添加到小程序根目录utils里):https://github.com/demi52 ...

  4. 批量生成100万张小程序码?了解一下。

    引言 最近有一个生成很多小程序码的需求,生成的小程序码还要嵌入在指定的图片模板上,就去找轮子,没找到合适的轮子..无奈之下就决定去撸一个.目前已经完成并发布npm. Github:github.com ...

  5. 移动手机网站H5页面如何一键打开拉起微信小程序快速关注公众号功能?

    为了方便自己或公司H5网站页面上,能够让用户一键点击按钮,拉起打开微信小程序.实现让用户快速使用微信小程序功能.让用户快捷方便的关注公众号.快速添加微信客服等功能.可以利用H5链接微信环境外打开微信小 ...

  6. 【Python】【PyQt5实战】【从零开始】 制作一个“一键生成”计算题的GUI程序【自适应全屏】

    [Python][PyQt5实战][从零开始] 制作一个"一键生成"计算题的GUI程序[自适应全屏] 施法前摇 第三方库准备 IDE配置 UI设计 交互设计 打包成exe文件 更多 ...

  7. 达摩院特别版·趣味视觉AI训练营--Class5-10分钟开发一款“一键二次元化“AI小程序

    1.创建人像卡通化应用 登录云开发平台.通过以下链接 https://workbench.aliyun.com/application 登录 阿里云-云开发平台 ,使用您自己的阿里云账号登录.如果还没 ...

  8. 一键打造全栈式小程序开发者!

    受访者 | 杨航 采访者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 自 2017 年 1 月 9 日,微信小程序诞生以来,各大巨头公司纷纷布局小程序,小程序进入快速发展期: 据即速应用 ...

  9. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)

    可在系列教程的基础上继续开发,也可以单独使用 [微信小程序-原生开发]系列教程 效果预览 代码实现 点击触发生成海报 在活动详情页,指定点击某图标/按钮,触发跳转到生成海报的页面 pages\comp ...

最新文章

  1. Eigen::Matrix
  2. Python金融大数据分析——第五章数据可视化(1)二维绘图
  3. Android中通过ImageSwitcher实现相册滑动查看照片功能(附代码下载)
  4. python zipfile 模块下中文乱码 '╡┌╥╗╒┬_╒╨▒Ω╣½╕µ.docx'
  5. js验证手机号码是否符合标准
  6. 2009年下半年信息系统项目管理师上午试题分析与解答文档
  7. Hive的安装-Hive的交互方式
  8. sql另一个安装程序实例已在运行_SQL 经典实例
  9. 机器学习在美团配送系统的实践:用技术还原真实世界
  10. 【Flink】flink报错:This type GenericType pojo cannot be used as key
  11. PHP导出CSV文件出现乱码的解决方法
  12. 设置背景色为渐变色 css
  13. Java内存模型基础知识
  14. kali扫描内网ip_kali 局域网嗅探
  15. word自带参考文献标注功能—以word2013为例
  16. 服务器vmware新建虚拟机教程,如何创建虚拟机教程全解
  17. 深入浅出移动直播技术之帧率、码率和分辨率
  18. Android 2.2模拟器调出中文输入法
  19. 五年级下册计算机知识点,五年级下册信息技术知识点(教材解析泰山版)
  20. Go语言相关书籍推荐(从入门到放弃)

热门文章

  1. UCloud邱模炯:为什么内核是云平台稳定性的关键
  2. 大数据进阶(二):数据可视化和分析工具推荐
  3. 微信小程序手动添加收货地址省市区联动
  4. 【cadence 16.6】PSPICE如何添加SPICE模型
  5. Remove Element
  6. python气象数据分析_基于Python的气象观测数据的解析与存储
  7. 上海迪士尼盛大开幕 高德地图带你玩转迪士尼
  8. 硕士论文分类号(中图法分类号)
  9. 无所不在的JavaScript与物联网设备
  10. Java+Swing+mysql5实现超市商品管理系统