There are many interesting videos in which people play a game -- guessing what song is it. If someone wants to win the game, he will need to answer the name/singer of songs as fast as possible. Because I really enjoy this game, I design the program for my final project. The following is rules of my program:
clear all;
m = mobiledev; % It can link smartphone and your computer
[y1 fs1]=audioread('光年之外.mp3');
[y2 fs1]=audioread('路過人間.mp3');
[y3 fs1]=audioread('我還年輕 我還年輕.mp3');
[y4 fs1]=audioread('星空.mp3');
[yright fs1]=audioread('答對音效.mp3');
[ywrong fs1]=audioread('答錯音效.mp3');
[ycount fs1]=audioread('倒數5秒.mp3');
[yend fs1]=audioread('叮叮音效.mp3');
ord=randi([1 4],1,3);% Randomly choose 3 songs for next 3 questions. Total 4 songs
%QUESTION1
if ord(1)==1
music1=audioplayer(y1,fs1);
cr=1;
elseif ord(1)==2
music1=audioplayer(y2,fs1);
cr=2;
elseif ord(1)==3
music1=audioplayer(y3,fs1);
cr=3;
elseif ord(1)==4
music1=audioplayer(y4,fs1);
cr=4;
end
miss=0;
pic=imread('C:\Users\TINA\Desktop\1.png');
image(pic)
pause(2);
pic1=imread('C:\Users\TINA\Desktop\choice.png');
image(pic1)
pause(0.1);
m.Logging=1;
while m.Logging==1
resume(music1);
x=m.Acceleration;
if abs(x)<12
continue
elseif abs(x)>12
m.Logging=0;
pause(music1);
sound(3*ycount,fs1);
pause(5);
sound(3*yend,fs1);
m.Logging=1;
pause(3);
x=m.Orientation;
roll=x(3);
load_system('compare'); % load your data to stateflow
sim('compare'); % simulink your stateflow
if simout(end)==1
disp('wrong anser');
sound(ywrong,fs1);
pause(3);
m.Logging=1
miss=miss+1;
elseif simout(end)==0
disp('right');
sound(yright,fs1);
pause(3);
m.Logging=0;
end
end
if miss==3
pic=imread('C:\Users\TINA\Desktop\LOSS.png');
image(pic)
disp('finish');
return
end
end
%QUESTION2
if ord(2)==1
music2=audioplayer(y1,0.7*fs1);
cr=1;
elseif ord(2)==2
music2=audioplayer(y2,0.7*fs1);
cr=2;
elseif ord(2)==3
music2=audioplayer(y3,0.7*fs1);
cr=3;
elseif ord(2)==4
music2=audioplayer(y4,0.7*fs1);
cr=4;
end
pic=imread('C:\Users\TINA\Desktop\2.png');
image(pic)
pause(2);
image(pic1)
pause(0.1);
m.Logging=1;
while m.Logging==1
resume(music2);
x=m.Acceleration;
if abs(x)<12
continue
elseif abs(x)>12
m.Logging=0;
pause(music2);
sound(3*ycount,fs1);
pause(5);
sound(3*yend,fs1);
m.Logging=1;
pause(3);
x=m.Orientation;
roll=x(3);
load_system('compare'); % load your data to stateflow
sim('compare'); % simulink your stateflow
if simout(end)==1
disp('wrong anser');
sound(ywrong,fs1);
pause(3);
m.Logging=1
miss=miss+1;
elseif simout(end)==0
disp('right');
sound(yright,fs1);
pause(3);
m.Logging=0;
end
end
if miss==3
pic=imread('C:\Users\TINA\Desktop\LOSS.png');
image(pic)
disp('finish');
return
end
end
%QUESTION3
if ord(3)==1
music3=audioplayer(y1,1.5*fs1);
cr=1;
elseif ord(3)==2
music3=audioplayer(y2,1.5*fs1);
cr=2;
elseif ord(3)==3
music3=audioplayer(y3,1.5*fs1);
cr=3;
elseif ord(3)==4
music3=audioplayer(y4,1.5*fs1);
cr=4;
end
pic=imread('C:\Users\TINA\Desktop\3.png');
image(pic)
pause(2);
image(pic1)
pause(0.1);
m.Logging=1;
while m.Logging==1
resume(music3);
x=m.Acceleration;
if abs(x)<12
continue
elseif abs(x)>12
m.Logging=0;
pause(music3);
sound(3*ycount,fs1);
pause(5);
sound(3*yend,fs1);
m.Logging=1;
pause(3);
x=m.Orientation;
roll=x(3);
load_system('compare'); % load your data to stateflow
sim('compare'); % simulink your stateflow
if simout(end)==1
disp('wrong anser');
sound(ywrong,fs1);
pause(3);
m.Logging=1
miss=miss+1;
elseif simout(end)==0
disp('right');
sound(yright,fs1);
pause(3);
m.Logging=0;
end
end
if miss==3
pic=imread('C:\Users\TINA\Desktop\LOSS.png');
image(pic)
disp('finish');
return
end
end
%WIN
pic=imread('C:\Users\TINA\Desktop\WIN.png');
image(pic);
pause(0.1);
disp('finish');
return