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

Using jfugue, how do I generate random music strings (using player.play) from an array?

我在 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]);