X0=-0.8;Y0=2;FLAG0=True;YFLAG0=True;Speed0=0.022;(*C6:1*)
X1=0.8;Y1=2.16;FLAG1=True;YFLAG1=True;Speed1=0.006;(*D7:9*)
X2=-0.6;Y2=2.02;FLAG2=True;YFLAG2=True;Speed2=0.020;(*D6:2*)
X3=0.6;Y3=2.14;FLAG3=True;YFLAG3=True;Speed3=0.008;(*C7:8*)
X4=-0.4;Y4=2.04;FLAG4=True;YFLAG4=True;Speed4=0.018;(*E6:3*)
X5=0.4;Y5=2.12;FLAG5=True;YFLAG5=True;Speed5=0.010;(*B6:7*)
X6=-0.2;Y6=2.06;FLAG6=True;YFLAG6=True;Speed6=0.016;(*F6:4*)
X7=0.2;Y7=2.10;FLAG7=True;YFLAG7=True;Speed7=0.012;(*A6:6*)
X8=0;Y8=2.08;FLAG8=True;YFLAG8=True;Speed8=0.014;(*G6:5*)
t=0;
fg=4;
GoodCount=0;
GoodFlag=False;
Dynamic[
Refresh[
R0=-0.8;R1=0.8;
R2=-0.6;R3=0.6;
R4=-0.4;R5=0.4;
R6=-0.2;R7=0.2;
R8=0;
X0=If[YFLAG0==True,X0,R0];(*YFLAG0がTrueであるならX0=X0,そうでないならX0=R0*)
If[YFLAG0==True,Y0-=Speed0,Y0=2];
(*YFLAG0がTrue(クリックしてない時)であるならY0=Y0-Speed0,そうでないならY0=2*)
	If[Y0>-1.5,YFLAG0=True];
(*Y0>-1.5ならYFLAG0はTrue状態*)
	If[Y0<-1.5,YFLAG0=False];
(*Y0<-1.5ならYFLAG0はFalse状態*)
	If[FLAG0==False,{FLAG0=True,Y0=3,t=1}];
(*FLAGがFalseならFLAG0をTrue状態にしてY0=5,t=1に設定する*)

(*以下、X8まで同じ書式*)
X1=If[YFLAG1==True,X1,R1];
		If[YFLAG1==True,Y1-=Speed1,Y1=2.16];
			If[Y1>-1.5,YFLAG1=True];
			If[Y1<-1.5,YFLAG1=False];
		If[FLAG1==False,{FLAG1=True,Y1=3,t=1}];
X2=If[YFLAG2==True,X2,R2];
		If[YFLAG2==True,Y2-=Speed2,Y2=2.02];
		If[Y2>-1.5,YFLAG2=True];
		If[Y2<-1.5,YFLAG2=False];
		If[FLAG2==False,{FLAG2=True,Y2=3,t=1}];
X3=If[YFLAG3==True,X3,R3];
		If[YFLAG3==True,Y3-=Speed3,Y3=2.14];
		If[Y3>-1.5,YFLAG3=True];
		If[Y3<-1.5,YFLAG3=False];
		If[FLAG3==False,{FLAG3=True,Y3=3,t=1}];
X4=If[YFLAG4==True,X4,R4];
		If[YFLAG4==True,Y4-=Speed4,Y4=2.04];
		If[Y4>-1.5,YFLAG4=True];
		If[Y4<-1.5,YFLAG4=False];
		If[FLAG4==False,{FLAG4=True,Y4=3,t=1}];
X5=If[YFLAG5==True,X5,R5];
		If[YFLAG5==True,Y5-=Speed5,Y5=2.12];
		If[Y5>-1.5,YFLAG5=True];
		If[Y5<-1.5,YFLAG5=False];
		If[FLAG5==False,{FLAG5=True,Y5=3,t=1}];
X6=If[YFLAG6==True,X6,R6];
		If[YFLAG6==True,Y6-=Speed6,Y6=2.06];
		If[Y6>-1.5,YFLAG6=True];
		If[Y6<-1.5,YFLAG6=False];
		If[FLAG6==False,{FLAG6=True,Y6=3,t=1}];
X7=If[YFLAG7==True,X7,R7];
	If[YFLAG7==True,Y7-=Speed7,Y7=2.10];
		If[Y7>-1.5,YFLAG7=True];
		If[Y7<-1.5,YFLAG7=False];
		If[FLAG7==False,{FLAG7=True,Y7=3,t=1}];
X8=If[YFLAG8==True,X8,R8];
	If[YFLAG8==True,Y8-=Speed8,Y8=2.08];
		If[Y8>-1.5,YFLAG8=True];
		If[Y8<-1.5,YFLAG8=False];
		If[FLAG8==False,{FLAG8=True,Y8=3,t=1}];


If[t>0,{t-=0.01,fg=1},{fg=4,GoodFlag=False}];
(*オブジェクト*)
maru0={White,Disk[{X0,Y0},0.12]};
maru1={White,Disk[{X1,Y1},0.12]};
maru2={Lighter[Yellow],Disk[{X2,Y2},0.1]};
maru3={Lighter[Yellow],Disk[{X3,Y3},0.1]};
maru4={Lighter[Green],Disk[{X4,Y4},0.12]};
maru5={Lighter[Green],Disk[{X5,Y5},0.12]};
maru6={Blue,Disk[{X6,Y6},0.1]};
maru7={Blue,Disk[{X7,Y7},0.1]};
maru8={Red,Disk[{X8,Y8},0.12]};
If[GoodCount==17,GoodFlag=True];
score1=If[GoodFlag==True,Text[Style["GREAT",Large,Bold,LightBlue](*文字の表示形式*),{0,fg}(*位置*)],Text[Style["GOOD"<>ToString[GoodCount],Large,Bold,Red](*文字の表示形式*),{0,fg}(*位置*)]];
(*押せたとき*)
If[GoodFlag==True,GoodCount=0];
Graphics[
{(*Button[label,action]labelがクリックされたとき、常にactionを評価されたことにするボタンの表示*)
(*EmitSound[snd]評価されるたびに音「snd」を出す*)
(*SoundNote["so",sec,"inst"]音「so」をsec秒間楽器「inst」で鳴らす*)
Button[maru0,{EmitSound[Sound[SoundNote["C6",0.7,"Flute"]]],FLAG0=False,GoodCount++}],
Button[maru1,{EmitSound[Sound[SoundNote["D7",0.7,"Flute"]]],FLAG1=False,GoodCount++}],
Button[maru2,{EmitSound[Sound[SoundNote["D6",0.7,"Flute"]]],FLAG2=False,GoodCount++}],
Button[maru3,{EmitSound[Sound[SoundNote["C7",0.7,"Flute"]]],FLAG3=False,GoodCount++}],
Button[maru4,{EmitSound[Sound[SoundNote["E6",0.7,"Flute"]]],FLAG4=False,GoodCount++}],
Button[maru5,{EmitSound[Sound[SoundNote["B6",0.7,"Flute"]]],FLAG5=False,GoodCount++}],
Button[maru6,{EmitSound[Sound[SoundNote["F6",0.7,"Flute"]]],FLAG6=False,GoodCount++}],
Button[maru7,{EmitSound[Sound[SoundNote["A6",0.7,"Flute"]]],FLAG7=False,GoodCount++}],
Button[maru8,{EmitSound[Sound[SoundNote["G6",0.7,"Flute"]]],FLAG8=False,GoodCount++}],
score1

},{PlotRange -> {{-1,1},{-2,2}},AspectRatio -> 1,Frame->True,FrameTicks->None},Background->Black],
UpdateInterval->5]]