I've been trying to create a game with background music that will a) only start when the "Run" button is pressed, b) play five different tracks, and c) prevent itself from playing the same track twice. The code I've written thus far is below. My question is this: how do I ensure that the music starts only if the user click the "Run" button?
public void playMusic()
{
boolean song1Played, song2Played, song3Played, song4Played, song5Played;
song1Played = false; song2Played = false; song3Played = false; song4Played = false; song5Played = false;
GreenfootSound song1 = new GreenfootSound("sounds/runincircles.mp3");
GreenfootSound song2 = new GreenfootSound("sounds/atriumcomplex.mp3");
GreenfootSound song3 = new GreenfootSound("sounds/fliesonstrings.mp3");
GreenfootSound song4 = new GreenfootSound("sounds/cityonwater.mp3");
GreenfootSound song5 = new GreenfootSound("sounds/monkeynation.mp3");
int chooseSong = (int)(Math.random()*5);
if(chooseSong == 0)
{
if(song1Played == false)
{
song1.play();
song1Played = true;
}
}
else if(chooseSong == 1)
{
if(song2Played == false)
{
song2.play();
song2Played = true;
}
}
else if(chooseSong == 2)
{
if(song3Played == false)
{
song3.play();
song3Played = true;
}
}
else if(chooseSong == 3)
{
if(song4Played == false)
{
song4.play();
song4Played = true;
}
}
else
{
song5.play();
song5Played = true;
}
}


