CS1110 Fall 2008 Assignment A6. Mozart's Musikalisches Würfelspiel. Due date on the CMS.
This assignment uses two-dimensional arrays and random-number generation in an interesting setting.
Inspiration for it comes from an assignment given by Kevin Wayne and Robert Sedgewick in CS at
Princeton. We have used a similar assignment before in CS100J. This version has extensive modifications,
but you can still cheat by looking at someone's solution in the past. We ask you not to do so. You won't
learn anything that way, we have to do extra unnecessary grading, and if you are caught it makes more work
and pain for all of us.
Please keep track of the time you spend on this assignment. At the end, we ask you to put a comment at the
top of file WurfelSpiel.java that indicates how much time you spent.
In 1787, Wolfgang Amadeus Mozart created a dice game (Mozart's Musikalisches Würfelspiel). One
composes a two-part waltz by pasting together 32 of 272 pre-composed musical elements at random. The
waltz consists of two parts: a minuet and a trio. Each has 16 measures, which are generated at random
according to rules described below.
Minuet. The minuet consists of 16 measures. The 176 possible minuet measures are named m1.wav through
m176.wav. To determine which one to play, roll two dice and use the following table. The dice roll, in 2..12,
tells you what to play for a measure (a column number). For example, if you roll 12 for measure 3, then
play wav file m165.wav.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
-----------------------------------------------------------------------------------
2 96 22 141 41 105 122 11 30 70 121 26 9 112 49 109 14
3 32 6 128 63 146 46 134 81 117 39 126 56 174 18 116 83
4 69 95 158 13 153 55 110 24 66 139 15 132 73 58 145 79
5 40 17 113 85 161 2 159 100 90 176 7 34 67 160 52 170
6 148 74 163 45 80 97 36 107 25 143 64 125 76 136 1 93
7 104 157 27 167 154 68 118 91 138 71 150 29 101 162 23 151
8 152 60 171 53 99 133 21 127 16 155 57 175 43 168 89 172
9 119 84 114 50 140 86 169 94 120 88 48 166 51 115 72 111
10 98 142 42 156 75 129 62 123 65 77 19 82 137 38 149 8
11 54 130 10 103 28 37 106 5 35 20 108 92 12 124 44 131
12 3 87 165 61 135 47 147 33 102 4 31 164 144 59 173 78
Trio. The trio consists of 16 measures. The 96 possible trio measures are named T1.wav through T96.wav.
To determine which one to play, roll one die and use the following table. For example, if you roll 1 for
measure 21, then play file T81.wav.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
------------------------------------------------------------------
1 72 6 59 25 81 41 89 13 36 5 46 79 30 95 19 66
2 56 82 42 74 14 7 26 71 76 20 64 84 8 35 47 88
3 75 39 54 1 65 43 15 80 9 34 93 48 69 58 90 21
4 40 73 16 68 29 55 2 61 22 67 49 77 57 87 33 10
5 83 3 28 53 37 17 44 70 63 85 32 96 12 23 50 91
6 18 45 62 38 4 27 52 94 11 92 24 86 51 60 78 31
Example. Here is a sample waltz generated using this process and the accompanying musical score. There
are 11^16 * 6^16 different possible waltzes. Since this is over 10^23 different possibilities, each time you
play the game you are likely to produce music that has never been heard before! Mozart carefully
constructed the measures to obey a rigid harmonic structure, so each waltz reflects Mozart's distinct style.
About this assignment. To help you learn as much as possible in a short amount of time as possible, and