加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java-使用jfugue,如何从数组生成随机音乐字符串(使用player.play

发布时间:2020-12-14 19:30:16 所属栏目:Java 来源:网络整理
导读:我在Eclipse中使用Jfugue,并且代码中有音乐字符串列表.当我运行代码时,它会播放所有代码,但是我想一次随机播放一次. 到目前为止,我正在使用: Pattern pattern = new Pattern ("A");Player.play(A);Pattern pattern = new Pattern ("B");Player.play(B); 我

我在Eclipse中使用Jfugue,并且代码中有音乐字符串列表.当我运行代码时,它会播放所有代码,但是我想一次随机播放一次.

到目前为止,我正在使用:

Pattern pattern = new Pattern ("A");
Player.play(A);
Pattern pattern = new Pattern ("B");
Player.play(B);

我试过使用“ Random random = new Random();”但这一直没有奏效,我也不知道如何实现.

我还尝试过重新使用随机单词生成器:

  for(int i = 0; i < numberOfTest; i++) {
    int index = (int)(Math.random() * 10);
    System.out.println(strings[index]);

但是我不知道如何用音乐字符串替换单词字符串:

总的来说,我的大部分问题都源于对正确语法(尤其是Jfugue)的不熟悉.

最佳答案
将它们放入列表,然后将其洗牌:

List<Pattern> allPatterns = Arrays.asList(new Pattern ("A"),new Pattern ("B"),... more patterns);
Collections.shuffle(allPatterns);

并且请注意:上面是简单的Java,它独立于任何特定的框架(例如jfugue)工作.

在玩游戏时,您只需要告诉玩家使用混洗后的列表顺序即可播放花样:

// by using the for-each loop
for (Pattern onePattern : allPatterns) {
   player.play(onePattern);
}

// alternatively,turn the list back into an array and play that
player.play(allPatterns.toArray(new Pattern[0]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读