光を追う部分、光を見つける部分はサブルーチンを用いて、演奏部分はtaskを用いました。最初に、一周まわって光源を見つけます光センサーに光があたっているならば、その光を追っかけるサブルーチンを実行。光センサー1・3のどちらにも光があたっていないならば、演奏しながら光源を見つけるサブルーチンを実行します。play_Ride_of_the_Vallyries()vn・vk・vtnなどといった数値を変化させることにより簡単に曲の速さ・音の高さを変えることができる。vn・vk・vtn・vfa・vdo・vra...などの頭についているvはVallyriesの頭文字です。君が代で用いるドレミと混同することを避けるための処置です。する光源などの条件により、光の量差の基準の調整をこまめにせねばならず、難しく、使いにくいものとなってしまいました。一見すると、とってもとってもややこしく見えますので、分かりやすくするために、表を作りまとめてみます。light_max=0;の部分の=0を抜かしていることになかなか気づくことが出来ず、相当苦労した。意外と3つのプログラムを上手につなげるのは難しい。follow_light()の中のwhile(true)の条件を合わせないと、マシンは思うように働いてくれない。非常に難しい課題でした。上記の=0の問題などほんの些細なことで、プログラム全体が狂ってしまいます。おまけに今週は忙しく作業時間もうまく確保することが出来ませんでした。centerをインストールしました。期限の前日は午前3時まで、作業をしてました。†ご指摘の通りかなり難しい問題だと思います。それだけになるべく分かりやすい構造のプログラムを書くことが重要ですが、シェイプアップできるところがもうないかどうか考えてみてください。